@openui5/sap.ui.codeeditor 1.120.6 → 1.121.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/.reuse/dep5 +23 -21
  2. package/THIRDPARTY.txt +6 -43
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +2 -2
  5. package/src/sap/ui/codeeditor/CodeEditor.js +41 -27
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +16262 -16597
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +358 -86
  8. package/src/sap/ui/codeeditor/js/ace/css/ambiance-3.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/chrome-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-1.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-2.png +0 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-1.png +0 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-2.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-1.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-2.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/clouds-2.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-2.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/cobalt-2.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-2.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/dawn-2.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/dracula-2.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-2.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/eclipse-2.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/github-2.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/github_dark-1.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/github_dark-2.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/gob-2.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/gruvbox-2.png +0 -0
  29. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_dark_hard-1.png +0 -0
  30. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-1.png +0 -0
  31. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-2.png +0 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-2.png +0 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/iplastic-3.png +0 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-1.png +0 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-2.png +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/css/kr_theme-2.png +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/css/kuroir-1.png +0 -0
  38. package/src/sap/ui/codeeditor/js/ace/css/kuroir-2.png +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  43. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  44. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  47. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  48. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  51. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/css/main-22.svg +1 -0
  53. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  54. package/src/sap/ui/codeeditor/js/ace/css/main-5.svg +7 -0
  55. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +7 -0
  56. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +9 -0
  57. package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
  58. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +4 -0
  59. package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
  60. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +4 -0
  61. package/src/sap/ui/codeeditor/js/ace/css/merbivore-2.png +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-2.png +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-2.png +0 -0
  64. package/src/sap/ui/codeeditor/js/ace/css/monokai-2.png +0 -0
  65. package/src/sap/ui/codeeditor/js/ace/css/one_dark-2.png +0 -0
  66. package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-2.png +0 -0
  67. package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-2.png +0 -0
  68. package/src/sap/ui/codeeditor/js/ace/css/solarized_light-2.png +0 -0
  69. package/src/sap/ui/codeeditor/js/ace/css/sqlserver-2.png +0 -0
  70. package/src/sap/ui/codeeditor/js/ace/css/terminal-2.png +0 -0
  71. package/src/sap/ui/codeeditor/js/ace/css/textmate-2.png +0 -0
  72. package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +120 -68
  73. package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +79 -66
  74. package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +82 -43
  75. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_day.css +160 -0
  76. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night.css +146 -0
  77. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night_low_color.css +134 -0
  78. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +59 -31
  79. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +60 -32
  80. package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +71 -38
  81. package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +79 -42
  82. package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +70 -40
  83. package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +95 -49
  84. package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +95 -49
  85. package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +62 -33
  86. package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +71 -38
  87. package/src/sap/ui/codeeditor/js/ace/css/theme/github_dark.css +134 -0
  88. package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +68 -38
  89. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +54 -28
  90. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_dark_hard.css +163 -0
  91. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_light_hard.css +167 -0
  92. package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +62 -34
  93. package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +76 -45
  94. package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +91 -53
  95. package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +67 -36
  96. package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +43 -17
  97. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +57 -31
  98. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +57 -31
  99. package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +66 -36
  100. package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +63 -35
  101. package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +55 -29
  102. package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +88 -47
  103. package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +70 -38
  104. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +52 -28
  105. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +55 -29
  106. package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +90 -48
  107. package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +64 -34
  108. package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +82 -43
  109. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +61 -33
  110. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +61 -33
  111. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +59 -32
  112. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +71 -40
  113. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +61 -33
  114. package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +66 -36
  115. package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +59 -32
  116. package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +54 -28
  117. package/src/sap/ui/codeeditor/js/ace/css/tomorrow-2.png +0 -0
  118. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-2.png +0 -0
  119. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-2.png +0 -0
  120. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-2.png +0 -0
  121. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-2.png +0 -0
  122. package/src/sap/ui/codeeditor/js/ace/css/twilight-2.png +0 -0
  123. package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-2.png +0 -0
  124. package/src/sap/ui/codeeditor/js/ace/css/xcode-2.png +0 -0
  125. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +90 -91
  126. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +39 -75
  127. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +457 -0
  128. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +47 -97
  129. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +496 -552
  130. package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +47 -16
  131. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +3269 -0
  132. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +45 -105
  133. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +1438 -1128
  134. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +8 -16
  135. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +198 -185
  136. package/src/sap/ui/codeeditor/js/ace/ext-options.js +405 -443
  137. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +1682 -1508
  138. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +26 -28
  139. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +160 -332
  140. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +409 -446
  141. package/src/sap/ui/codeeditor/js/ace/ext-simple_tokenizer.js +45 -0
  142. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +4 -10
  143. package/src/sap/ui/codeeditor/js/ace/ext-split.js +41 -63
  144. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +19 -27
  145. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +45 -41
  146. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +62 -83
  147. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +442 -551
  148. package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +338 -351
  149. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +5242 -4758
  150. package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +228 -235
  151. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +72 -93
  152. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +136 -164
  153. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +109 -150
  154. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +45 -74
  155. package/src/sap/ui/codeeditor/js/ace/mode-alda.js +77 -109
  156. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +196 -241
  157. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +192 -247
  158. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +56 -102
  159. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +85 -95
  160. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +120 -158
  161. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +233 -298
  162. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +78 -101
  163. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +2414 -0
  164. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +80 -116
  165. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +74 -105
  166. package/src/sap/ui/codeeditor/js/ace/mode-bibtex.js +318 -0
  167. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +72 -115
  168. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +171 -257
  169. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +97 -115
  170. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +126 -119
  171. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +48 -67
  172. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +203 -268
  173. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +1029 -1276
  174. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +337 -393
  175. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +127 -216
  176. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +1539 -1569
  177. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +786 -898
  178. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +184 -237
  179. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +37 -37
  180. package/src/sap/ui/codeeditor/js/ace/mode-css.js +293 -384
  181. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +1019 -1262
  182. package/src/sap/ui/codeeditor/js/ace/mode-cuttlefish.js +56 -0
  183. package/src/sap/ui/codeeditor/js/ace/mode-d.js +163 -233
  184. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +330 -427
  185. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +20 -38
  186. package/src/sap/ui/codeeditor/js/ace/mode-django.js +1032 -1271
  187. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +211 -284
  188. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +131 -200
  189. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +408 -349
  190. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +89 -125
  191. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +47 -62
  192. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +1350 -1666
  193. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +349 -407
  194. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +136 -168
  195. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +707 -881
  196. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +164 -0
  197. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +128 -172
  198. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +177 -246
  199. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +92 -131
  200. package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +91 -124
  201. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +813 -748
  202. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +52 -71
  203. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +105 -119
  204. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +12 -22
  205. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +184 -289
  206. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +686 -623
  207. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +167 -239
  208. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +48 -88
  209. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +577 -471
  210. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +1062 -1026
  211. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +1061 -1305
  212. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +199 -255
  213. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +81 -87
  214. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +111 -184
  215. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +164 -199
  216. package/src/sap/ui/codeeditor/js/ace/mode-html.js +1009 -1239
  217. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +1402 -1705
  218. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +1390 -1706
  219. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +58 -82
  220. package/src/sap/ui/codeeditor/js/ace/mode-io.js +85 -123
  221. package/src/sap/ui/codeeditor/js/ace/mode-ion.js +477 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +109 -162
  223. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +1339 -1344
  224. package/src/sap/ui/codeeditor/js/ace/mode-java.js +710 -498
  225. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +441 -354
  226. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +270 -0
  227. package/src/sap/ui/codeeditor/js/ace/mode-json.js +93 -147
  228. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +128 -180
  229. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +58 -112
  230. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +1045 -865
  231. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +158 -190
  232. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +121 -194
  233. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +128 -177
  234. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +262 -614
  235. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +94 -138
  236. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +1120 -1366
  237. package/src/sap/ui/codeeditor/js/ace/mode-less.js +342 -442
  238. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +1353 -1414
  239. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +65 -73
  240. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +217 -224
  241. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +97 -142
  242. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +187 -227
  243. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +99 -155
  244. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +152 -211
  245. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +1167 -1470
  246. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +25 -34
  247. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +244 -282
  248. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +1858 -2177
  249. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +964 -1007
  250. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +197 -221
  251. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +127 -163
  252. package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +464 -476
  253. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +90 -140
  254. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +101 -134
  255. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +63 -75
  256. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +537 -576
  257. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +85 -102
  258. package/src/sap/ui/codeeditor/js/ace/mode-nasal.js +513 -0
  259. package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +119 -155
  260. package/src/sap/ui/codeeditor/js/ace/mode-nim.js +159 -197
  261. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +283 -375
  262. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +139 -172
  263. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +1138 -1378
  264. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +400 -514
  265. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +77 -120
  266. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +449 -0
  267. package/src/sap/ui/codeeditor/js/ace/mode-partiql.js +750 -0
  268. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +28 -47
  269. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +122 -185
  270. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +974 -851
  271. package/src/sap/ui/codeeditor/js/ace/mode-php.js +2282 -1502
  272. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +2463 -1696
  273. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +133 -165
  274. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +5 -10
  275. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +268 -0
  276. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +332 -183
  277. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +168 -234
  278. package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +292 -324
  279. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +180 -246
  280. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +26 -37
  281. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +232 -327
  282. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +320 -0
  283. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +68 -120
  284. package/src/sap/ui/codeeditor/js/ace/mode-python.js +338 -370
  285. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +244 -279
  286. package/src/sap/ui/codeeditor/js/ace/mode-r.js +295 -220
  287. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +356 -433
  288. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +1130 -1374
  289. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +214 -171
  290. package/src/sap/ui/codeeditor/js/ace/mode-red.js +212 -274
  291. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +181 -220
  292. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +1325 -1443
  293. package/src/sap/ui/codeeditor/js/ace/mode-robot.js +168 -0
  294. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +217 -229
  295. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +338 -420
  296. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +258 -155
  297. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +349 -0
  298. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +257 -309
  299. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +127 -191
  300. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +572 -468
  301. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +104 -126
  302. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +181 -228
  303. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +364 -472
  304. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +204 -266
  305. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +477 -405
  306. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +2631 -3161
  307. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +1075 -1334
  308. package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +276 -327
  309. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +78 -102
  310. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +1251 -1548
  311. package/src/sap/ui/codeeditor/js/ace/mode-space.js +47 -63
  312. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +139 -171
  313. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +77 -133
  314. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +138 -192
  315. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +306 -338
  316. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +642 -794
  317. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +96 -150
  318. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +151 -200
  319. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +78 -132
  320. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +148 -96
  321. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +45 -70
  322. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +63 -87
  323. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +462 -384
  324. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +119 -151
  325. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +1099 -1350
  326. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +455 -376
  327. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +382 -505
  328. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +231 -264
  329. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +1116 -1388
  330. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +61 -81
  331. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +57 -79
  332. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +1046 -1292
  333. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +525 -417
  334. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +182 -389
  335. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +58 -112
  336. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +202 -137
  337. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +237 -274
  338. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +5 -34
  339. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +5 -160
  340. package/src/sap/ui/codeeditor/js/ace/snippets/astro.js +9 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/bibtex.js +9 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +5 -134
  343. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +5 -93
  344. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +5 -98
  345. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +5 -13
  346. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +5 -50
  347. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +5 -970
  348. package/src/sap/ui/codeeditor/js/ace/snippets/cuttlefish.js +9 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +5 -86
  350. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +5 -14
  351. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +5 -111
  352. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +5 -22
  353. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +8 -246
  354. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +5 -163
  355. package/src/sap/ui/codeeditor/js/ace/snippets/flix.js +9 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +6 -4
  357. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +5 -1707
  358. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +5 -35
  359. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +5 -23
  360. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +5 -85
  361. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +5 -856
  362. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +1 -3
  363. package/src/sap/ui/codeeditor/js/ace/snippets/ion.js +9 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +5 -243
  365. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +5 -198
  366. package/src/sap/ui/codeeditor/js/ace/snippets/jexl.js +9 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +44 -41
  368. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +5 -102
  369. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +5 -884
  370. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +5 -1235
  371. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +5 -24
  372. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +5 -7
  373. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +5 -91
  374. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +5 -12
  375. package/src/sap/ui/codeeditor/js/ace/snippets/nasal.js +9 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/odin.js +9 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/partiql.js +9 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +5 -350
  379. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +5 -386
  380. package/src/sap/ui/codeeditor/js/ace/snippets/plsql.js +9 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/prql.js +9 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +5 -161
  383. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +5 -124
  384. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +5 -6
  385. package/src/sap/ui/codeeditor/js/ace/snippets/robot.js +16 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +5 -25
  387. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +5 -931
  388. package/src/sap/ui/codeeditor/js/ace/snippets/sac.js +9 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +5 -86
  390. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +5 -12
  391. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +5 -29
  392. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +5 -72
  393. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +5 -95
  394. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +5 -193
  395. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +5 -33
  396. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +1 -2
  397. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +5 -31
  398. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +5 -87
  399. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +44 -41
  400. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -172
  401. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +5 -150
  402. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +6 -123
  403. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_day.js +19 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night.js +18 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night_low_color.js +18 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +6 -90
  407. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +6 -91
  408. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +6 -108
  409. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +6 -113
  410. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +6 -103
  411. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +6 -122
  412. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +7 -137
  413. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +6 -92
  414. package/src/sap/ui/codeeditor/js/ace/theme-github.js +7 -99
  415. package/src/sap/ui/codeeditor/js/ace/theme-github_dark.js +18 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +6 -107
  417. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +5 -76
  418. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_dark_hard.js +18 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_light_hard.js +18 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +6 -91
  421. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +6 -116
  422. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +6 -116
  423. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +6 -99
  424. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +6 -56
  425. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +6 -90
  426. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +6 -91
  427. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +6 -102
  428. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +6 -100
  429. package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +6 -89
  430. package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +10 -131
  431. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +6 -103
  432. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +6 -83
  433. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +6 -86
  434. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +6 -133
  435. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +6 -109
  436. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +3 -124
  437. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +6 -103
  438. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +6 -103
  439. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +6 -101
  440. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +6 -116
  441. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +6 -103
  442. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +6 -104
  443. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +6 -89
  444. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +6 -83
  445. package/src/sap/ui/codeeditor/js/ace/worker-base.js +516 -595
  446. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +496 -575
  447. package/src/sap/ui/codeeditor/js/ace/worker-css.js +501 -578
  448. package/src/sap/ui/codeeditor/js/ace/worker-html.js +515 -584
  449. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +2964 -2551
  450. package/src/sap/ui/codeeditor/js/ace/worker-json.js +496 -575
  451. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +497 -576
  452. package/src/sap/ui/codeeditor/js/ace/worker-php.js +2906 -2795
  453. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +496 -575
  454. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +496 -575
  455. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +5851 -0
  456. package/src/sap/ui/codeeditor/library.js +6 -5
  457. package/LICENSES/BSD-2-Clause.txt +0 -22
@@ -1,925 +1,752 @@
1
- ace.define("ace/mode/erlang_highlight_rules",[], function(require, exports, module) {
1
+ ace.define("ace/mode/erlang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){/* This file was autogenerated from tm bundles\erlang.tmbundle\Syntaxes\Erlang.plist (uuid: ) */
2
2
  "use strict";
3
-
4
3
  var oop = require("../lib/oop");
5
4
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
-
7
- var ErlangHighlightRules = function() {
8
-
9
- this.$rules = { start:
10
- [ { include: '#module-directive' },
11
- { include: '#import-export-directive' },
12
- { include: '#behaviour-directive' },
13
- { include: '#record-directive' },
14
- { include: '#define-directive' },
15
- { include: '#macro-directive' },
16
- { include: '#directive' },
17
- { include: '#function' },
18
- { include: '#everything-else' } ],
19
- '#atom':
20
- [ { token: 'punctuation.definition.symbol.begin.erlang',
21
- regex: '\'',
22
- push:
23
- [ { token: 'punctuation.definition.symbol.end.erlang',
5
+ var ErlangHighlightRules = function () {
6
+ this.$rules = { start: [{ include: '#module-directive' },
7
+ { include: '#import-export-directive' },
8
+ { include: '#behaviour-directive' },
9
+ { include: '#record-directive' },
10
+ { include: '#define-directive' },
11
+ { include: '#macro-directive' },
12
+ { include: '#directive' },
13
+ { include: '#function' },
14
+ { include: '#everything-else' }],
15
+ '#atom': [{ token: 'punctuation.definition.symbol.begin.erlang',
24
16
  regex: '\'',
25
- next: 'pop' },
26
- { token:
27
- [ 'punctuation.definition.escape.erlang',
28
- 'constant.other.symbol.escape.erlang',
29
- 'punctuation.definition.escape.erlang',
30
- 'constant.other.symbol.escape.erlang',
31
- 'constant.other.symbol.escape.erlang' ],
32
- regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
33
- { token: 'invalid.illegal.atom.erlang', regex: '\\\\\\^?.?' },
34
- { defaultToken: 'constant.other.symbol.quoted.single.erlang' } ] },
35
- { token: 'constant.other.symbol.unquoted.erlang',
36
- regex: '[a-z][a-zA-Z\\d@_]*' } ],
37
- '#behaviour-directive':
38
- [ { token:
39
- [ 'meta.directive.behaviour.erlang',
40
- 'punctuation.section.directive.begin.erlang',
41
- 'meta.directive.behaviour.erlang',
42
- 'keyword.control.directive.behaviour.erlang',
43
- 'meta.directive.behaviour.erlang',
44
- 'punctuation.definition.parameters.begin.erlang',
45
- 'meta.directive.behaviour.erlang',
46
- 'entity.name.type.class.behaviour.definition.erlang',
47
- 'meta.directive.behaviour.erlang',
48
- 'punctuation.definition.parameters.end.erlang',
49
- 'meta.directive.behaviour.erlang',
50
- 'punctuation.section.directive.end.erlang' ],
51
- regex: '^(\\s*)(-)(\\s*)(behaviour)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
52
- '#binary':
53
- [ { token: 'punctuation.definition.binary.begin.erlang',
54
- regex: '<<',
55
- push:
56
- [ { token: 'punctuation.definition.binary.end.erlang',
57
- regex: '>>',
58
- next: 'pop' },
59
- { token:
60
- [ 'punctuation.separator.binary.erlang',
61
- 'punctuation.separator.value-size.erlang' ],
62
- regex: '(,)|(:)' },
63
- { include: '#internal-type-specifiers' },
64
- { include: '#everything-else' },
65
- { defaultToken: 'meta.structure.binary.erlang' } ] } ],
66
- '#character':
67
- [ { token:
68
- [ 'punctuation.definition.character.erlang',
69
- 'punctuation.definition.escape.erlang',
70
- 'constant.character.escape.erlang',
71
- 'punctuation.definition.escape.erlang',
72
- 'constant.character.escape.erlang',
73
- 'constant.character.escape.erlang' ],
74
- regex: '(\\$)(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
75
- { token: 'invalid.illegal.character.erlang',
76
- regex: '\\$\\\\\\^?.?' },
77
- { token:
78
- [ 'punctuation.definition.character.erlang',
79
- 'constant.character.erlang' ],
80
- regex: '(\\$)(\\S)' },
81
- { token: 'invalid.illegal.character.erlang', regex: '\\$.?' } ],
82
- '#comment':
83
- [ { token: 'punctuation.definition.comment.erlang',
84
- regex: '%.*$',
85
- push_:
86
- [ { token: 'comment.line.percentage.erlang',
87
- regex: '$',
88
- next: 'pop' },
89
- { defaultToken: 'comment.line.percentage.erlang' } ] } ],
90
- '#define-directive':
91
- [ { token:
92
- [ 'meta.directive.define.erlang',
93
- 'punctuation.section.directive.begin.erlang',
94
- 'meta.directive.define.erlang',
95
- 'keyword.control.directive.define.erlang',
96
- 'meta.directive.define.erlang',
97
- 'punctuation.definition.parameters.begin.erlang',
98
- 'meta.directive.define.erlang',
99
- 'entity.name.function.macro.definition.erlang',
100
- 'meta.directive.define.erlang',
101
- 'punctuation.separator.parameters.erlang' ],
102
- regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)',
103
- push:
104
- [ { token:
105
- [ 'punctuation.definition.parameters.end.erlang',
106
- 'meta.directive.define.erlang',
107
- 'punctuation.section.directive.end.erlang' ],
108
- regex: '(\\))(\\s*)(\\.)',
109
- next: 'pop' },
110
- { include: '#everything-else' },
111
- { defaultToken: 'meta.directive.define.erlang' } ] },
112
- { token: 'meta.directive.define.erlang',
113
- regex: '(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()',
114
- push:
115
- [ { token:
116
- [ 'punctuation.definition.parameters.end.erlang',
117
- 'meta.directive.define.erlang',
118
- 'punctuation.section.directive.end.erlang' ],
119
- regex: '(\\))(\\s*)(\\.)',
120
- next: 'pop' },
121
- { token:
122
- [ 'text',
123
- 'punctuation.section.directive.begin.erlang',
124
- 'text',
125
- 'keyword.control.directive.define.erlang',
126
- 'text',
127
- 'punctuation.definition.parameters.begin.erlang',
128
- 'text',
129
- 'entity.name.function.macro.definition.erlang',
130
- 'text',
131
- 'punctuation.definition.parameters.begin.erlang' ],
132
- regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()',
133
- push:
134
- [ { token:
135
- [ 'punctuation.definition.parameters.end.erlang',
136
- 'text',
137
- 'punctuation.separator.parameters.erlang' ],
138
- regex: '(\\))(\\s*)(,)',
139
- next: 'pop' },
140
- { token: 'punctuation.separator.parameters.erlang', regex: ',' },
141
- { include: '#everything-else' } ] },
142
- { token: 'punctuation.separator.define.erlang',
143
- regex: '\\|\\||\\||:|;|,|\\.|->' },
144
- { include: '#everything-else' },
145
- { defaultToken: 'meta.directive.define.erlang' } ] } ],
146
- '#directive':
147
- [ { token:
148
- [ 'meta.directive.erlang',
149
- 'punctuation.section.directive.begin.erlang',
150
- 'meta.directive.erlang',
151
- 'keyword.control.directive.erlang',
152
- 'meta.directive.erlang',
153
- 'punctuation.definition.parameters.begin.erlang' ],
154
- regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)',
155
- push:
156
- [ { token:
157
- [ 'punctuation.definition.parameters.end.erlang',
158
- 'meta.directive.erlang',
159
- 'punctuation.section.directive.end.erlang' ],
160
- regex: '(\\)?)(\\s*)(\\.)',
161
- next: 'pop' },
162
- { include: '#everything-else' },
163
- { defaultToken: 'meta.directive.erlang' } ] },
164
- { token:
165
- [ 'meta.directive.erlang',
166
- 'punctuation.section.directive.begin.erlang',
167
- 'meta.directive.erlang',
168
- 'keyword.control.directive.erlang',
169
- 'meta.directive.erlang',
170
- 'punctuation.section.directive.end.erlang' ],
171
- regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)' } ],
172
- '#everything-else':
173
- [ { include: '#comment' },
174
- { include: '#record-usage' },
175
- { include: '#macro-usage' },
176
- { include: '#expression' },
177
- { include: '#keyword' },
178
- { include: '#textual-operator' },
179
- { include: '#function-call' },
180
- { include: '#tuple' },
181
- { include: '#list' },
182
- { include: '#binary' },
183
- { include: '#parenthesized-expression' },
184
- { include: '#character' },
185
- { include: '#number' },
186
- { include: '#atom' },
187
- { include: '#string' },
188
- { include: '#symbolic-operator' },
189
- { include: '#variable' } ],
190
- '#expression':
191
- [ { token: 'keyword.control.if.erlang',
192
- regex: '\\bif\\b',
193
- push:
194
- [ { token: 'keyword.control.end.erlang',
195
- regex: '\\bend\\b',
196
- next: 'pop' },
197
- { include: '#internal-expression-punctuation' },
198
- { include: '#everything-else' },
199
- { defaultToken: 'meta.expression.if.erlang' } ] },
200
- { token: 'keyword.control.case.erlang',
201
- regex: '\\bcase\\b',
202
- push:
203
- [ { token: 'keyword.control.end.erlang',
204
- regex: '\\bend\\b',
205
- next: 'pop' },
206
- { include: '#internal-expression-punctuation' },
207
- { include: '#everything-else' },
208
- { defaultToken: 'meta.expression.case.erlang' } ] },
209
- { token: 'keyword.control.receive.erlang',
210
- regex: '\\breceive\\b',
211
- push:
212
- [ { token: 'keyword.control.end.erlang',
213
- regex: '\\bend\\b',
214
- next: 'pop' },
215
- { include: '#internal-expression-punctuation' },
216
- { include: '#everything-else' },
217
- { defaultToken: 'meta.expression.receive.erlang' } ] },
218
- { token:
219
- [ 'keyword.control.fun.erlang',
220
- 'text',
221
- 'entity.name.type.class.module.erlang',
222
- 'text',
223
- 'punctuation.separator.module-function.erlang',
224
- 'text',
225
- 'entity.name.function.erlang',
226
- 'text',
227
- 'punctuation.separator.function-arity.erlang' ],
228
- regex: '\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)' },
229
- { token: 'keyword.control.fun.erlang',
230
- regex: '\\bfun\\b',
231
- push:
232
- [ { token: 'keyword.control.end.erlang',
233
- regex: '\\bend\\b',
234
- next: 'pop' },
235
- { token: 'text',
236
- regex: '(?=\\()',
237
- push:
238
- [ { token: 'punctuation.separator.clauses.erlang',
239
- regex: ';|(?=\\bend\\b)',
240
- next: 'pop' },
241
- { include: '#internal-function-parts' } ] },
242
- { include: '#everything-else' },
243
- { defaultToken: 'meta.expression.fun.erlang' } ] },
244
- { token: 'keyword.control.try.erlang',
245
- regex: '\\btry\\b',
246
- push:
247
- [ { token: 'keyword.control.end.erlang',
248
- regex: '\\bend\\b',
249
- next: 'pop' },
250
- { include: '#internal-expression-punctuation' },
251
- { include: '#everything-else' },
252
- { defaultToken: 'meta.expression.try.erlang' } ] },
253
- { token: 'keyword.control.begin.erlang',
254
- regex: '\\bbegin\\b',
255
- push:
256
- [ { token: 'keyword.control.end.erlang',
257
- regex: '\\bend\\b',
258
- next: 'pop' },
259
- { include: '#internal-expression-punctuation' },
260
- { include: '#everything-else' },
261
- { defaultToken: 'meta.expression.begin.erlang' } ] },
262
- { token: 'keyword.control.query.erlang',
263
- regex: '\\bquery\\b',
264
- push:
265
- [ { token: 'keyword.control.end.erlang',
266
- regex: '\\bend\\b',
267
- next: 'pop' },
268
- { include: '#everything-else' },
269
- { defaultToken: 'meta.expression.query.erlang' } ] } ],
270
- '#function':
271
- [ { token:
272
- [ 'meta.function.erlang',
273
- 'entity.name.function.definition.erlang',
274
- 'meta.function.erlang' ],
275
- regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()',
276
- push:
277
- [ { token: 'punctuation.terminator.function.erlang',
278
- regex: '\\.',
279
- next: 'pop' },
280
- { token: [ 'text', 'entity.name.function.erlang', 'text' ],
281
- regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()' },
282
- { token: 'text',
17
+ push: [{ token: 'punctuation.definition.symbol.end.erlang',
18
+ regex: '\'',
19
+ next: 'pop' },
20
+ { token: ['punctuation.definition.escape.erlang',
21
+ 'constant.other.symbol.escape.erlang',
22
+ 'punctuation.definition.escape.erlang',
23
+ 'constant.other.symbol.escape.erlang',
24
+ 'constant.other.symbol.escape.erlang'],
25
+ regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
26
+ { token: 'invalid.illegal.atom.erlang', regex: '\\\\\\^?.?' },
27
+ { defaultToken: 'constant.other.symbol.quoted.single.erlang' }] },
28
+ { token: 'constant.other.symbol.unquoted.erlang',
29
+ regex: '[a-z][a-zA-Z\\d@_]*' }],
30
+ '#behaviour-directive': [{ token: ['meta.directive.behaviour.erlang',
31
+ 'punctuation.section.directive.begin.erlang',
32
+ 'meta.directive.behaviour.erlang',
33
+ 'keyword.control.directive.behaviour.erlang',
34
+ 'meta.directive.behaviour.erlang',
35
+ 'punctuation.definition.parameters.begin.erlang',
36
+ 'meta.directive.behaviour.erlang',
37
+ 'entity.name.type.class.behaviour.definition.erlang',
38
+ 'meta.directive.behaviour.erlang',
39
+ 'punctuation.definition.parameters.end.erlang',
40
+ 'meta.directive.behaviour.erlang',
41
+ 'punctuation.section.directive.end.erlang'],
42
+ regex: '^(\\s*)(-)(\\s*)(behaviour)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' }],
43
+ '#binary': [{ token: 'punctuation.definition.binary.begin.erlang',
44
+ regex: '<<',
45
+ push: [{ token: 'punctuation.definition.binary.end.erlang',
46
+ regex: '>>',
47
+ next: 'pop' },
48
+ { token: ['punctuation.separator.binary.erlang',
49
+ 'punctuation.separator.value-size.erlang'],
50
+ regex: '(,)|(:)' },
51
+ { include: '#internal-type-specifiers' },
52
+ { include: '#everything-else' },
53
+ { defaultToken: 'meta.structure.binary.erlang' }] }],
54
+ '#character': [{ token: ['punctuation.definition.character.erlang',
55
+ 'punctuation.definition.escape.erlang',
56
+ 'constant.character.escape.erlang',
57
+ 'punctuation.definition.escape.erlang',
58
+ 'constant.character.escape.erlang',
59
+ 'constant.character.escape.erlang'],
60
+ regex: '(\\$)(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
61
+ { token: 'invalid.illegal.character.erlang',
62
+ regex: '\\$\\\\\\^?.?' },
63
+ { token: ['punctuation.definition.character.erlang',
64
+ 'constant.character.erlang'],
65
+ regex: '(\\$)(\\S)' },
66
+ { token: 'invalid.illegal.character.erlang', regex: '\\$.?' }],
67
+ '#comment': [{ token: 'punctuation.definition.comment.erlang',
68
+ regex: '%.*$',
69
+ push_: [{ token: 'comment.line.percentage.erlang',
70
+ regex: '$',
71
+ next: 'pop' },
72
+ { defaultToken: 'comment.line.percentage.erlang' }] }],
73
+ '#define-directive': [{ token: ['meta.directive.define.erlang',
74
+ 'punctuation.section.directive.begin.erlang',
75
+ 'meta.directive.define.erlang',
76
+ 'keyword.control.directive.define.erlang',
77
+ 'meta.directive.define.erlang',
78
+ 'punctuation.definition.parameters.begin.erlang',
79
+ 'meta.directive.define.erlang',
80
+ 'entity.name.function.macro.definition.erlang',
81
+ 'meta.directive.define.erlang',
82
+ 'punctuation.separator.parameters.erlang'],
83
+ regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)',
84
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
85
+ 'meta.directive.define.erlang',
86
+ 'punctuation.section.directive.end.erlang'],
87
+ regex: '(\\))(\\s*)(\\.)',
88
+ next: 'pop' },
89
+ { include: '#everything-else' },
90
+ { defaultToken: 'meta.directive.define.erlang' }] },
91
+ { token: 'meta.directive.define.erlang',
92
+ regex: '(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()',
93
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
94
+ 'meta.directive.define.erlang',
95
+ 'punctuation.section.directive.end.erlang'],
96
+ regex: '(\\))(\\s*)(\\.)',
97
+ next: 'pop' },
98
+ { token: ['text',
99
+ 'punctuation.section.directive.begin.erlang',
100
+ 'text',
101
+ 'keyword.control.directive.define.erlang',
102
+ 'text',
103
+ 'punctuation.definition.parameters.begin.erlang',
104
+ 'text',
105
+ 'entity.name.function.macro.definition.erlang',
106
+ 'text',
107
+ 'punctuation.definition.parameters.begin.erlang'],
108
+ regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()',
109
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
110
+ 'text',
111
+ 'punctuation.separator.parameters.erlang'],
112
+ regex: '(\\))(\\s*)(,)',
113
+ next: 'pop' },
114
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
115
+ { include: '#everything-else' }] },
116
+ { token: 'punctuation.separator.define.erlang',
117
+ regex: '\\|\\||\\||:|;|,|\\.|->' },
118
+ { include: '#everything-else' },
119
+ { defaultToken: 'meta.directive.define.erlang' }] }],
120
+ '#directive': [{ token: ['meta.directive.erlang',
121
+ 'punctuation.section.directive.begin.erlang',
122
+ 'meta.directive.erlang',
123
+ 'keyword.control.directive.erlang',
124
+ 'meta.directive.erlang',
125
+ 'punctuation.definition.parameters.begin.erlang'],
126
+ regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)',
127
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
128
+ 'meta.directive.erlang',
129
+ 'punctuation.section.directive.end.erlang'],
130
+ regex: '(\\)?)(\\s*)(\\.)',
131
+ next: 'pop' },
132
+ { include: '#everything-else' },
133
+ { defaultToken: 'meta.directive.erlang' }] },
134
+ { token: ['meta.directive.erlang',
135
+ 'punctuation.section.directive.begin.erlang',
136
+ 'meta.directive.erlang',
137
+ 'keyword.control.directive.erlang',
138
+ 'meta.directive.erlang',
139
+ 'punctuation.section.directive.end.erlang'],
140
+ regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)' }],
141
+ '#everything-else': [{ include: '#comment' },
142
+ { include: '#record-usage' },
143
+ { include: '#macro-usage' },
144
+ { include: '#expression' },
145
+ { include: '#keyword' },
146
+ { include: '#textual-operator' },
147
+ { include: '#function-call' },
148
+ { include: '#tuple' },
149
+ { include: '#list' },
150
+ { include: '#binary' },
151
+ { include: '#parenthesized-expression' },
152
+ { include: '#character' },
153
+ { include: '#number' },
154
+ { include: '#atom' },
155
+ { include: '#string' },
156
+ { include: '#symbolic-operator' },
157
+ { include: '#variable' }],
158
+ '#expression': [{ token: 'keyword.control.if.erlang',
159
+ regex: '\\bif\\b',
160
+ push: [{ token: 'keyword.control.end.erlang',
161
+ regex: '\\bend\\b',
162
+ next: 'pop' },
163
+ { include: '#internal-expression-punctuation' },
164
+ { include: '#everything-else' },
165
+ { defaultToken: 'meta.expression.if.erlang' }] },
166
+ { token: 'keyword.control.case.erlang',
167
+ regex: '\\bcase\\b',
168
+ push: [{ token: 'keyword.control.end.erlang',
169
+ regex: '\\bend\\b',
170
+ next: 'pop' },
171
+ { include: '#internal-expression-punctuation' },
172
+ { include: '#everything-else' },
173
+ { defaultToken: 'meta.expression.case.erlang' }] },
174
+ { token: 'keyword.control.receive.erlang',
175
+ regex: '\\breceive\\b',
176
+ push: [{ token: 'keyword.control.end.erlang',
177
+ regex: '\\bend\\b',
178
+ next: 'pop' },
179
+ { include: '#internal-expression-punctuation' },
180
+ { include: '#everything-else' },
181
+ { defaultToken: 'meta.expression.receive.erlang' }] },
182
+ { token: ['keyword.control.fun.erlang',
183
+ 'text',
184
+ 'entity.name.type.class.module.erlang',
185
+ 'text',
186
+ 'punctuation.separator.module-function.erlang',
187
+ 'text',
188
+ 'entity.name.function.erlang',
189
+ 'text',
190
+ 'punctuation.separator.function-arity.erlang'],
191
+ regex: '\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)' },
192
+ { token: 'keyword.control.fun.erlang',
193
+ regex: '\\bfun\\b',
194
+ push: [{ token: 'keyword.control.end.erlang',
195
+ regex: '\\bend\\b',
196
+ next: 'pop' },
197
+ { token: 'text',
198
+ regex: '(?=\\()',
199
+ push: [{ token: 'punctuation.separator.clauses.erlang',
200
+ regex: ';|(?=\\bend\\b)',
201
+ next: 'pop' },
202
+ { include: '#internal-function-parts' }] },
203
+ { include: '#everything-else' },
204
+ { defaultToken: 'meta.expression.fun.erlang' }] },
205
+ { token: 'keyword.control.try.erlang',
206
+ regex: '\\btry\\b',
207
+ push: [{ token: 'keyword.control.end.erlang',
208
+ regex: '\\bend\\b',
209
+ next: 'pop' },
210
+ { include: '#internal-expression-punctuation' },
211
+ { include: '#everything-else' },
212
+ { defaultToken: 'meta.expression.try.erlang' }] },
213
+ { token: 'keyword.control.begin.erlang',
214
+ regex: '\\bbegin\\b',
215
+ push: [{ token: 'keyword.control.end.erlang',
216
+ regex: '\\bend\\b',
217
+ next: 'pop' },
218
+ { include: '#internal-expression-punctuation' },
219
+ { include: '#everything-else' },
220
+ { defaultToken: 'meta.expression.begin.erlang' }] },
221
+ { token: 'keyword.control.query.erlang',
222
+ regex: '\\bquery\\b',
223
+ push: [{ token: 'keyword.control.end.erlang',
224
+ regex: '\\bend\\b',
225
+ next: 'pop' },
226
+ { include: '#everything-else' },
227
+ { defaultToken: 'meta.expression.query.erlang' }] }],
228
+ '#function': [{ token: ['meta.function.erlang',
229
+ 'entity.name.function.definition.erlang',
230
+ 'meta.function.erlang'],
231
+ regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()',
232
+ push: [{ token: 'punctuation.terminator.function.erlang',
233
+ regex: '\\.',
234
+ next: 'pop' },
235
+ { token: ['text', 'entity.name.function.erlang', 'text'],
236
+ regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()' },
237
+ { token: 'text',
238
+ regex: '(?=\\()',
239
+ push: [{ token: 'punctuation.separator.clauses.erlang',
240
+ regex: ';|(?=\\.)',
241
+ next: 'pop' },
242
+ { include: '#parenthesized-expression' },
243
+ { include: '#internal-function-parts' }] },
244
+ { include: '#everything-else' },
245
+ { defaultToken: 'meta.function.erlang' }] }],
246
+ '#function-call': [{ token: 'meta.function-call.erlang',
247
+ regex: '(?=(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*\\())',
248
+ push: [{ token: 'punctuation.definition.parameters.end.erlang',
249
+ regex: '\\)',
250
+ next: 'pop' },
251
+ { token: ['entity.name.type.class.module.erlang',
252
+ 'text',
253
+ 'punctuation.separator.module-function.erlang',
254
+ 'text',
255
+ 'entity.name.function.guard.erlang',
256
+ 'text',
257
+ 'punctuation.definition.parameters.begin.erlang'],
258
+ regex: '(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()',
259
+ push: [{ token: 'text', regex: '(?=\\))', next: 'pop' },
260
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
261
+ { include: '#everything-else' }] },
262
+ { token: ['entity.name.type.class.module.erlang',
263
+ 'text',
264
+ 'punctuation.separator.module-function.erlang',
265
+ 'text',
266
+ 'entity.name.function.erlang',
267
+ 'text',
268
+ 'punctuation.definition.parameters.begin.erlang'],
269
+ regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\()',
270
+ push: [{ token: 'text', regex: '(?=\\))', next: 'pop' },
271
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
272
+ { include: '#everything-else' }] },
273
+ { defaultToken: 'meta.function-call.erlang' }] }],
274
+ '#import-export-directive': [{ token: ['meta.directive.import.erlang',
275
+ 'punctuation.section.directive.begin.erlang',
276
+ 'meta.directive.import.erlang',
277
+ 'keyword.control.directive.import.erlang',
278
+ 'meta.directive.import.erlang',
279
+ 'punctuation.definition.parameters.begin.erlang',
280
+ 'meta.directive.import.erlang',
281
+ 'entity.name.type.class.module.erlang',
282
+ 'meta.directive.import.erlang',
283
+ 'punctuation.separator.parameters.erlang'],
284
+ regex: '^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
285
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
286
+ 'meta.directive.import.erlang',
287
+ 'punctuation.section.directive.end.erlang'],
288
+ regex: '(\\))(\\s*)(\\.)',
289
+ next: 'pop' },
290
+ { include: '#internal-function-list' },
291
+ { defaultToken: 'meta.directive.import.erlang' }] },
292
+ { token: ['meta.directive.export.erlang',
293
+ 'punctuation.section.directive.begin.erlang',
294
+ 'meta.directive.export.erlang',
295
+ 'keyword.control.directive.export.erlang',
296
+ 'meta.directive.export.erlang',
297
+ 'punctuation.definition.parameters.begin.erlang'],
298
+ regex: '^(\\s*)(-)(\\s*)(export)(\\s*)(\\()',
299
+ push: [{ token: ['punctuation.definition.parameters.end.erlang',
300
+ 'meta.directive.export.erlang',
301
+ 'punctuation.section.directive.end.erlang'],
302
+ regex: '(\\))(\\s*)(\\.)',
303
+ next: 'pop' },
304
+ { include: '#internal-function-list' },
305
+ { defaultToken: 'meta.directive.export.erlang' }] }],
306
+ '#internal-expression-punctuation': [{ token: ['punctuation.separator.clause-head-body.erlang',
307
+ 'punctuation.separator.clauses.erlang',
308
+ 'punctuation.separator.expressions.erlang'],
309
+ regex: '(->)|(;)|(,)' }],
310
+ '#internal-function-list': [{ token: 'punctuation.definition.list.begin.erlang',
311
+ regex: '\\[',
312
+ push: [{ token: 'punctuation.definition.list.end.erlang',
313
+ regex: '\\]',
314
+ next: 'pop' },
315
+ { token: ['entity.name.function.erlang',
316
+ 'text',
317
+ 'punctuation.separator.function-arity.erlang'],
318
+ regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(/)',
319
+ push: [{ token: 'punctuation.separator.list.erlang',
320
+ regex: ',|(?=\\])',
321
+ next: 'pop' },
322
+ { include: '#everything-else' }] },
323
+ { include: '#everything-else' },
324
+ { defaultToken: 'meta.structure.list.function.erlang' }] }],
325
+ '#internal-function-parts': [{ token: 'text',
283
326
  regex: '(?=\\()',
284
- push:
285
- [ { token: 'punctuation.separator.clauses.erlang',
286
- regex: ';|(?=\\.)',
287
- next: 'pop' },
288
- { include: '#parenthesized-expression' },
289
- { include: '#internal-function-parts' } ] },
290
- { include: '#everything-else' },
291
- { defaultToken: 'meta.function.erlang' } ] } ],
292
- '#function-call':
293
- [ { token: 'meta.function-call.erlang',
294
- regex: '(?=(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*\\())',
295
- push:
296
- [ { token: 'punctuation.definition.parameters.end.erlang',
297
- regex: '\\)',
298
- next: 'pop' },
299
- { token:
300
- [ 'entity.name.type.class.module.erlang',
301
- 'text',
302
- 'punctuation.separator.module-function.erlang',
303
- 'text',
304
- 'entity.name.function.guard.erlang',
305
- 'text',
306
- 'punctuation.definition.parameters.begin.erlang' ],
307
- regex: '(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()',
308
- push:
309
- [ { token: 'text', regex: '(?=\\))', next: 'pop' },
310
- { token: 'punctuation.separator.parameters.erlang', regex: ',' },
311
- { include: '#everything-else' } ] },
312
- { token:
313
- [ 'entity.name.type.class.module.erlang',
314
- 'text',
315
- 'punctuation.separator.module-function.erlang',
316
- 'text',
317
- 'entity.name.function.erlang',
318
- 'text',
319
- 'punctuation.definition.parameters.begin.erlang' ],
320
- regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\()',
321
- push:
322
- [ { token: 'text', regex: '(?=\\))', next: 'pop' },
323
- { token: 'punctuation.separator.parameters.erlang', regex: ',' },
324
- { include: '#everything-else' } ] },
325
- { defaultToken: 'meta.function-call.erlang' } ] } ],
326
- '#import-export-directive':
327
- [ { token:
328
- [ 'meta.directive.import.erlang',
329
- 'punctuation.section.directive.begin.erlang',
330
- 'meta.directive.import.erlang',
331
- 'keyword.control.directive.import.erlang',
332
- 'meta.directive.import.erlang',
333
- 'punctuation.definition.parameters.begin.erlang',
334
- 'meta.directive.import.erlang',
335
- 'entity.name.type.class.module.erlang',
336
- 'meta.directive.import.erlang',
337
- 'punctuation.separator.parameters.erlang' ],
338
- regex: '^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
339
- push:
340
- [ { token:
341
- [ 'punctuation.definition.parameters.end.erlang',
342
- 'meta.directive.import.erlang',
343
- 'punctuation.section.directive.end.erlang' ],
344
- regex: '(\\))(\\s*)(\\.)',
345
- next: 'pop' },
346
- { include: '#internal-function-list' },
347
- { defaultToken: 'meta.directive.import.erlang' } ] },
348
- { token:
349
- [ 'meta.directive.export.erlang',
350
- 'punctuation.section.directive.begin.erlang',
351
- 'meta.directive.export.erlang',
352
- 'keyword.control.directive.export.erlang',
353
- 'meta.directive.export.erlang',
354
- 'punctuation.definition.parameters.begin.erlang' ],
355
- regex: '^(\\s*)(-)(\\s*)(export)(\\s*)(\\()',
356
- push:
357
- [ { token:
358
- [ 'punctuation.definition.parameters.end.erlang',
359
- 'meta.directive.export.erlang',
360
- 'punctuation.section.directive.end.erlang' ],
361
- regex: '(\\))(\\s*)(\\.)',
362
- next: 'pop' },
363
- { include: '#internal-function-list' },
364
- { defaultToken: 'meta.directive.export.erlang' } ] } ],
365
- '#internal-expression-punctuation':
366
- [ { token:
367
- [ 'punctuation.separator.clause-head-body.erlang',
368
- 'punctuation.separator.clauses.erlang',
369
- 'punctuation.separator.expressions.erlang' ],
370
- regex: '(->)|(;)|(,)' } ],
371
- '#internal-function-list':
372
- [ { token: 'punctuation.definition.list.begin.erlang',
373
- regex: '\\[',
374
- push:
375
- [ { token: 'punctuation.definition.list.end.erlang',
376
- regex: '\\]',
377
- next: 'pop' },
378
- { token:
379
- [ 'entity.name.function.erlang',
380
- 'text',
381
- 'punctuation.separator.function-arity.erlang' ],
382
- regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(/)',
383
- push:
384
- [ { token: 'punctuation.separator.list.erlang',
385
- regex: ',|(?=\\])',
386
- next: 'pop' },
387
- { include: '#everything-else' } ] },
388
- { include: '#everything-else' },
389
- { defaultToken: 'meta.structure.list.function.erlang' } ] } ],
390
- '#internal-function-parts':
391
- [ { token: 'text',
392
- regex: '(?=\\()',
393
- push:
394
- [ { token: 'punctuation.separator.clause-head-body.erlang',
395
- regex: '->',
396
- next: 'pop' },
397
- { token: 'punctuation.definition.parameters.begin.erlang',
327
+ push: [{ token: 'punctuation.separator.clause-head-body.erlang',
328
+ regex: '->',
329
+ next: 'pop' },
330
+ { token: 'punctuation.definition.parameters.begin.erlang',
331
+ regex: '\\(',
332
+ push: [{ token: 'punctuation.definition.parameters.end.erlang',
333
+ regex: '\\)',
334
+ next: 'pop' },
335
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
336
+ { include: '#everything-else' }] },
337
+ { token: 'punctuation.separator.guards.erlang', regex: ',|;' },
338
+ { include: '#everything-else' }] },
339
+ { token: 'punctuation.separator.expressions.erlang',
340
+ regex: ',' },
341
+ { include: '#everything-else' }],
342
+ '#internal-record-body': [{ token: 'punctuation.definition.class.record.begin.erlang',
343
+ regex: '\\{',
344
+ push: [{ token: 'meta.structure.record.erlang',
345
+ regex: '(?=\\})',
346
+ next: 'pop' },
347
+ { token: ['variable.other.field.erlang',
348
+ 'variable.language.omitted.field.erlang',
349
+ 'text',
350
+ 'keyword.operator.assignment.erlang'],
351
+ regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')|(_))(\\s*)(=|::)',
352
+ push: [{ token: 'punctuation.separator.class.record.erlang',
353
+ regex: ',|(?=\\})',
354
+ next: 'pop' },
355
+ { include: '#everything-else' }] },
356
+ { token: ['variable.other.field.erlang',
357
+ 'text',
358
+ 'punctuation.separator.class.record.erlang'],
359
+ regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)((?:,)?)' },
360
+ { include: '#everything-else' },
361
+ { defaultToken: 'meta.structure.record.erlang' }] }],
362
+ '#internal-type-specifiers': [{ token: 'punctuation.separator.value-type.erlang',
363
+ regex: '/',
364
+ push: [{ token: 'text', regex: '(?=,|:|>>)', next: 'pop' },
365
+ { token: ['storage.type.erlang',
366
+ 'storage.modifier.signedness.erlang',
367
+ 'storage.modifier.endianness.erlang',
368
+ 'storage.modifier.unit.erlang',
369
+ 'punctuation.separator.type-specifiers.erlang'],
370
+ regex: '(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)' }] }],
371
+ '#keyword': [{ token: 'keyword.control.erlang',
372
+ regex: '\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b' }],
373
+ '#list': [{ token: 'punctuation.definition.list.begin.erlang',
374
+ regex: '\\[',
375
+ push: [{ token: 'punctuation.definition.list.end.erlang',
376
+ regex: '\\]',
377
+ next: 'pop' },
378
+ { token: 'punctuation.separator.list.erlang',
379
+ regex: '\\||\\|\\||,' },
380
+ { include: '#everything-else' },
381
+ { defaultToken: 'meta.structure.list.erlang' }] }],
382
+ '#macro-directive': [{ token: ['meta.directive.ifdef.erlang',
383
+ 'punctuation.section.directive.begin.erlang',
384
+ 'meta.directive.ifdef.erlang',
385
+ 'keyword.control.directive.ifdef.erlang',
386
+ 'meta.directive.ifdef.erlang',
387
+ 'punctuation.definition.parameters.begin.erlang',
388
+ 'meta.directive.ifdef.erlang',
389
+ 'entity.name.function.macro.erlang',
390
+ 'meta.directive.ifdef.erlang',
391
+ 'punctuation.definition.parameters.end.erlang',
392
+ 'meta.directive.ifdef.erlang',
393
+ 'punctuation.section.directive.end.erlang'],
394
+ regex: '^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
395
+ { token: ['meta.directive.ifndef.erlang',
396
+ 'punctuation.section.directive.begin.erlang',
397
+ 'meta.directive.ifndef.erlang',
398
+ 'keyword.control.directive.ifndef.erlang',
399
+ 'meta.directive.ifndef.erlang',
400
+ 'punctuation.definition.parameters.begin.erlang',
401
+ 'meta.directive.ifndef.erlang',
402
+ 'entity.name.function.macro.erlang',
403
+ 'meta.directive.ifndef.erlang',
404
+ 'punctuation.definition.parameters.end.erlang',
405
+ 'meta.directive.ifndef.erlang',
406
+ 'punctuation.section.directive.end.erlang'],
407
+ regex: '^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
408
+ { token: ['meta.directive.undef.erlang',
409
+ 'punctuation.section.directive.begin.erlang',
410
+ 'meta.directive.undef.erlang',
411
+ 'keyword.control.directive.undef.erlang',
412
+ 'meta.directive.undef.erlang',
413
+ 'punctuation.definition.parameters.begin.erlang',
414
+ 'meta.directive.undef.erlang',
415
+ 'entity.name.function.macro.erlang',
416
+ 'meta.directive.undef.erlang',
417
+ 'punctuation.definition.parameters.end.erlang',
418
+ 'meta.directive.undef.erlang',
419
+ 'punctuation.section.directive.end.erlang'],
420
+ regex: '^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' }],
421
+ '#macro-usage': [{ token: ['keyword.operator.macro.erlang',
422
+ 'meta.macro-usage.erlang',
423
+ 'entity.name.function.macro.erlang'],
424
+ regex: '(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)' }],
425
+ '#module-directive': [{ token: ['meta.directive.module.erlang',
426
+ 'punctuation.section.directive.begin.erlang',
427
+ 'meta.directive.module.erlang',
428
+ 'keyword.control.directive.module.erlang',
429
+ 'meta.directive.module.erlang',
430
+ 'punctuation.definition.parameters.begin.erlang',
431
+ 'meta.directive.module.erlang',
432
+ 'entity.name.type.class.module.definition.erlang',
433
+ 'meta.directive.module.erlang',
434
+ 'punctuation.definition.parameters.end.erlang',
435
+ 'meta.directive.module.erlang',
436
+ 'punctuation.section.directive.end.erlang'],
437
+ regex: '^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' }],
438
+ '#number': [{ token: 'text',
439
+ regex: '(?=\\d)',
440
+ push: [{ token: 'text', regex: '(?!\\d)', next: 'pop' },
441
+ { token: ['constant.numeric.float.erlang',
442
+ 'punctuation.separator.integer-float.erlang',
443
+ 'constant.numeric.float.erlang',
444
+ 'punctuation.separator.float-exponent.erlang'],
445
+ regex: '(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)' },
446
+ { token: ['constant.numeric.integer.binary.erlang',
447
+ 'punctuation.separator.base-integer.erlang',
448
+ 'constant.numeric.integer.binary.erlang'],
449
+ regex: '(2)(#)([0-1]+)' },
450
+ { token: ['constant.numeric.integer.base-3.erlang',
451
+ 'punctuation.separator.base-integer.erlang',
452
+ 'constant.numeric.integer.base-3.erlang'],
453
+ regex: '(3)(#)([0-2]+)' },
454
+ { token: ['constant.numeric.integer.base-4.erlang',
455
+ 'punctuation.separator.base-integer.erlang',
456
+ 'constant.numeric.integer.base-4.erlang'],
457
+ regex: '(4)(#)([0-3]+)' },
458
+ { token: ['constant.numeric.integer.base-5.erlang',
459
+ 'punctuation.separator.base-integer.erlang',
460
+ 'constant.numeric.integer.base-5.erlang'],
461
+ regex: '(5)(#)([0-4]+)' },
462
+ { token: ['constant.numeric.integer.base-6.erlang',
463
+ 'punctuation.separator.base-integer.erlang',
464
+ 'constant.numeric.integer.base-6.erlang'],
465
+ regex: '(6)(#)([0-5]+)' },
466
+ { token: ['constant.numeric.integer.base-7.erlang',
467
+ 'punctuation.separator.base-integer.erlang',
468
+ 'constant.numeric.integer.base-7.erlang'],
469
+ regex: '(7)(#)([0-6]+)' },
470
+ { token: ['constant.numeric.integer.octal.erlang',
471
+ 'punctuation.separator.base-integer.erlang',
472
+ 'constant.numeric.integer.octal.erlang'],
473
+ regex: '(8)(#)([0-7]+)' },
474
+ { token: ['constant.numeric.integer.base-9.erlang',
475
+ 'punctuation.separator.base-integer.erlang',
476
+ 'constant.numeric.integer.base-9.erlang'],
477
+ regex: '(9)(#)([0-8]+)' },
478
+ { token: ['constant.numeric.integer.decimal.erlang',
479
+ 'punctuation.separator.base-integer.erlang',
480
+ 'constant.numeric.integer.decimal.erlang'],
481
+ regex: '(10)(#)(\\d+)' },
482
+ { token: ['constant.numeric.integer.base-11.erlang',
483
+ 'punctuation.separator.base-integer.erlang',
484
+ 'constant.numeric.integer.base-11.erlang'],
485
+ regex: '(11)(#)([\\daA]+)' },
486
+ { token: ['constant.numeric.integer.base-12.erlang',
487
+ 'punctuation.separator.base-integer.erlang',
488
+ 'constant.numeric.integer.base-12.erlang'],
489
+ regex: '(12)(#)([\\da-bA-B]+)' },
490
+ { token: ['constant.numeric.integer.base-13.erlang',
491
+ 'punctuation.separator.base-integer.erlang',
492
+ 'constant.numeric.integer.base-13.erlang'],
493
+ regex: '(13)(#)([\\da-cA-C]+)' },
494
+ { token: ['constant.numeric.integer.base-14.erlang',
495
+ 'punctuation.separator.base-integer.erlang',
496
+ 'constant.numeric.integer.base-14.erlang'],
497
+ regex: '(14)(#)([\\da-dA-D]+)' },
498
+ { token: ['constant.numeric.integer.base-15.erlang',
499
+ 'punctuation.separator.base-integer.erlang',
500
+ 'constant.numeric.integer.base-15.erlang'],
501
+ regex: '(15)(#)([\\da-eA-E]+)' },
502
+ { token: ['constant.numeric.integer.hexadecimal.erlang',
503
+ 'punctuation.separator.base-integer.erlang',
504
+ 'constant.numeric.integer.hexadecimal.erlang'],
505
+ regex: '(16)(#)([\\da-fA-F]+)' },
506
+ { token: ['constant.numeric.integer.base-17.erlang',
507
+ 'punctuation.separator.base-integer.erlang',
508
+ 'constant.numeric.integer.base-17.erlang'],
509
+ regex: '(17)(#)([\\da-gA-G]+)' },
510
+ { token: ['constant.numeric.integer.base-18.erlang',
511
+ 'punctuation.separator.base-integer.erlang',
512
+ 'constant.numeric.integer.base-18.erlang'],
513
+ regex: '(18)(#)([\\da-hA-H]+)' },
514
+ { token: ['constant.numeric.integer.base-19.erlang',
515
+ 'punctuation.separator.base-integer.erlang',
516
+ 'constant.numeric.integer.base-19.erlang'],
517
+ regex: '(19)(#)([\\da-iA-I]+)' },
518
+ { token: ['constant.numeric.integer.base-20.erlang',
519
+ 'punctuation.separator.base-integer.erlang',
520
+ 'constant.numeric.integer.base-20.erlang'],
521
+ regex: '(20)(#)([\\da-jA-J]+)' },
522
+ { token: ['constant.numeric.integer.base-21.erlang',
523
+ 'punctuation.separator.base-integer.erlang',
524
+ 'constant.numeric.integer.base-21.erlang'],
525
+ regex: '(21)(#)([\\da-kA-K]+)' },
526
+ { token: ['constant.numeric.integer.base-22.erlang',
527
+ 'punctuation.separator.base-integer.erlang',
528
+ 'constant.numeric.integer.base-22.erlang'],
529
+ regex: '(22)(#)([\\da-lA-L]+)' },
530
+ { token: ['constant.numeric.integer.base-23.erlang',
531
+ 'punctuation.separator.base-integer.erlang',
532
+ 'constant.numeric.integer.base-23.erlang'],
533
+ regex: '(23)(#)([\\da-mA-M]+)' },
534
+ { token: ['constant.numeric.integer.base-24.erlang',
535
+ 'punctuation.separator.base-integer.erlang',
536
+ 'constant.numeric.integer.base-24.erlang'],
537
+ regex: '(24)(#)([\\da-nA-N]+)' },
538
+ { token: ['constant.numeric.integer.base-25.erlang',
539
+ 'punctuation.separator.base-integer.erlang',
540
+ 'constant.numeric.integer.base-25.erlang'],
541
+ regex: '(25)(#)([\\da-oA-O]+)' },
542
+ { token: ['constant.numeric.integer.base-26.erlang',
543
+ 'punctuation.separator.base-integer.erlang',
544
+ 'constant.numeric.integer.base-26.erlang'],
545
+ regex: '(26)(#)([\\da-pA-P]+)' },
546
+ { token: ['constant.numeric.integer.base-27.erlang',
547
+ 'punctuation.separator.base-integer.erlang',
548
+ 'constant.numeric.integer.base-27.erlang'],
549
+ regex: '(27)(#)([\\da-qA-Q]+)' },
550
+ { token: ['constant.numeric.integer.base-28.erlang',
551
+ 'punctuation.separator.base-integer.erlang',
552
+ 'constant.numeric.integer.base-28.erlang'],
553
+ regex: '(28)(#)([\\da-rA-R]+)' },
554
+ { token: ['constant.numeric.integer.base-29.erlang',
555
+ 'punctuation.separator.base-integer.erlang',
556
+ 'constant.numeric.integer.base-29.erlang'],
557
+ regex: '(29)(#)([\\da-sA-S]+)' },
558
+ { token: ['constant.numeric.integer.base-30.erlang',
559
+ 'punctuation.separator.base-integer.erlang',
560
+ 'constant.numeric.integer.base-30.erlang'],
561
+ regex: '(30)(#)([\\da-tA-T]+)' },
562
+ { token: ['constant.numeric.integer.base-31.erlang',
563
+ 'punctuation.separator.base-integer.erlang',
564
+ 'constant.numeric.integer.base-31.erlang'],
565
+ regex: '(31)(#)([\\da-uA-U]+)' },
566
+ { token: ['constant.numeric.integer.base-32.erlang',
567
+ 'punctuation.separator.base-integer.erlang',
568
+ 'constant.numeric.integer.base-32.erlang'],
569
+ regex: '(32)(#)([\\da-vA-V]+)' },
570
+ { token: ['constant.numeric.integer.base-33.erlang',
571
+ 'punctuation.separator.base-integer.erlang',
572
+ 'constant.numeric.integer.base-33.erlang'],
573
+ regex: '(33)(#)([\\da-wA-W]+)' },
574
+ { token: ['constant.numeric.integer.base-34.erlang',
575
+ 'punctuation.separator.base-integer.erlang',
576
+ 'constant.numeric.integer.base-34.erlang'],
577
+ regex: '(34)(#)([\\da-xA-X]+)' },
578
+ { token: ['constant.numeric.integer.base-35.erlang',
579
+ 'punctuation.separator.base-integer.erlang',
580
+ 'constant.numeric.integer.base-35.erlang'],
581
+ regex: '(35)(#)([\\da-yA-Y]+)' },
582
+ { token: ['constant.numeric.integer.base-36.erlang',
583
+ 'punctuation.separator.base-integer.erlang',
584
+ 'constant.numeric.integer.base-36.erlang'],
585
+ regex: '(36)(#)([\\da-zA-Z]+)' },
586
+ { token: 'invalid.illegal.integer.erlang',
587
+ regex: '\\d+#[\\da-zA-Z]+' },
588
+ { token: 'constant.numeric.integer.decimal.erlang',
589
+ regex: '\\d+' }] }],
590
+ '#parenthesized-expression': [{ token: 'punctuation.section.expression.begin.erlang',
398
591
  regex: '\\(',
399
- push:
400
- [ { token: 'punctuation.definition.parameters.end.erlang',
401
- regex: '\\)',
402
- next: 'pop' },
403
- { token: 'punctuation.separator.parameters.erlang', regex: ',' },
404
- { include: '#everything-else' } ] },
405
- { token: 'punctuation.separator.guards.erlang', regex: ',|;' },
406
- { include: '#everything-else' } ] },
407
- { token: 'punctuation.separator.expressions.erlang',
408
- regex: ',' },
409
- { include: '#everything-else' } ],
410
- '#internal-record-body':
411
- [ { token: 'punctuation.definition.class.record.begin.erlang',
412
- regex: '\\{',
413
- push:
414
- [ { token: 'meta.structure.record.erlang',
415
- regex: '(?=\\})',
416
- next: 'pop' },
417
- { token:
418
- [ 'variable.other.field.erlang',
419
- 'variable.language.omitted.field.erlang',
420
- 'text',
421
- 'keyword.operator.assignment.erlang' ],
422
- regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')|(_))(\\s*)(=|::)',
423
- push:
424
- [ { token: 'punctuation.separator.class.record.erlang',
425
- regex: ',|(?=\\})',
426
- next: 'pop' },
427
- { include: '#everything-else' } ] },
428
- { token:
429
- [ 'variable.other.field.erlang',
430
- 'text',
431
- 'punctuation.separator.class.record.erlang' ],
432
- regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)((?:,)?)' },
433
- { include: '#everything-else' },
434
- { defaultToken: 'meta.structure.record.erlang' } ] } ],
435
- '#internal-type-specifiers':
436
- [ { token: 'punctuation.separator.value-type.erlang',
437
- regex: '/',
438
- push:
439
- [ { token: 'text', regex: '(?=,|:|>>)', next: 'pop' },
440
- { token:
441
- [ 'storage.type.erlang',
442
- 'storage.modifier.signedness.erlang',
443
- 'storage.modifier.endianness.erlang',
444
- 'storage.modifier.unit.erlang',
445
- 'punctuation.separator.type-specifiers.erlang' ],
446
- regex: '(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)' } ] } ],
447
- '#keyword':
448
- [ { token: 'keyword.control.erlang',
449
- regex: '\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b' } ],
450
- '#list':
451
- [ { token: 'punctuation.definition.list.begin.erlang',
452
- regex: '\\[',
453
- push:
454
- [ { token: 'punctuation.definition.list.end.erlang',
455
- regex: '\\]',
456
- next: 'pop' },
457
- { token: 'punctuation.separator.list.erlang',
458
- regex: '\\||\\|\\||,' },
459
- { include: '#everything-else' },
460
- { defaultToken: 'meta.structure.list.erlang' } ] } ],
461
- '#macro-directive':
462
- [ { token:
463
- [ 'meta.directive.ifdef.erlang',
464
- 'punctuation.section.directive.begin.erlang',
465
- 'meta.directive.ifdef.erlang',
466
- 'keyword.control.directive.ifdef.erlang',
467
- 'meta.directive.ifdef.erlang',
468
- 'punctuation.definition.parameters.begin.erlang',
469
- 'meta.directive.ifdef.erlang',
470
- 'entity.name.function.macro.erlang',
471
- 'meta.directive.ifdef.erlang',
472
- 'punctuation.definition.parameters.end.erlang',
473
- 'meta.directive.ifdef.erlang',
474
- 'punctuation.section.directive.end.erlang' ],
475
- regex: '^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
476
- { token:
477
- [ 'meta.directive.ifndef.erlang',
478
- 'punctuation.section.directive.begin.erlang',
479
- 'meta.directive.ifndef.erlang',
480
- 'keyword.control.directive.ifndef.erlang',
481
- 'meta.directive.ifndef.erlang',
482
- 'punctuation.definition.parameters.begin.erlang',
483
- 'meta.directive.ifndef.erlang',
484
- 'entity.name.function.macro.erlang',
485
- 'meta.directive.ifndef.erlang',
486
- 'punctuation.definition.parameters.end.erlang',
487
- 'meta.directive.ifndef.erlang',
488
- 'punctuation.section.directive.end.erlang' ],
489
- regex: '^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
490
- { token:
491
- [ 'meta.directive.undef.erlang',
492
- 'punctuation.section.directive.begin.erlang',
493
- 'meta.directive.undef.erlang',
494
- 'keyword.control.directive.undef.erlang',
495
- 'meta.directive.undef.erlang',
496
- 'punctuation.definition.parameters.begin.erlang',
497
- 'meta.directive.undef.erlang',
498
- 'entity.name.function.macro.erlang',
499
- 'meta.directive.undef.erlang',
500
- 'punctuation.definition.parameters.end.erlang',
501
- 'meta.directive.undef.erlang',
502
- 'punctuation.section.directive.end.erlang' ],
503
- regex: '^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' } ],
504
- '#macro-usage':
505
- [ { token:
506
- [ 'keyword.operator.macro.erlang',
507
- 'meta.macro-usage.erlang',
508
- 'entity.name.function.macro.erlang' ],
509
- regex: '(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)' } ],
510
- '#module-directive':
511
- [ { token:
512
- [ 'meta.directive.module.erlang',
513
- 'punctuation.section.directive.begin.erlang',
514
- 'meta.directive.module.erlang',
515
- 'keyword.control.directive.module.erlang',
516
- 'meta.directive.module.erlang',
517
- 'punctuation.definition.parameters.begin.erlang',
518
- 'meta.directive.module.erlang',
519
- 'entity.name.type.class.module.definition.erlang',
520
- 'meta.directive.module.erlang',
521
- 'punctuation.definition.parameters.end.erlang',
522
- 'meta.directive.module.erlang',
523
- 'punctuation.section.directive.end.erlang' ],
524
- regex: '^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
525
- '#number':
526
- [ { token: 'text',
527
- regex: '(?=\\d)',
528
- push:
529
- [ { token: 'text', regex: '(?!\\d)', next: 'pop' },
530
- { token:
531
- [ 'constant.numeric.float.erlang',
532
- 'punctuation.separator.integer-float.erlang',
533
- 'constant.numeric.float.erlang',
534
- 'punctuation.separator.float-exponent.erlang' ],
535
- regex: '(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)' },
536
- { token:
537
- [ 'constant.numeric.integer.binary.erlang',
538
- 'punctuation.separator.base-integer.erlang',
539
- 'constant.numeric.integer.binary.erlang' ],
540
- regex: '(2)(#)([0-1]+)' },
541
- { token:
542
- [ 'constant.numeric.integer.base-3.erlang',
543
- 'punctuation.separator.base-integer.erlang',
544
- 'constant.numeric.integer.base-3.erlang' ],
545
- regex: '(3)(#)([0-2]+)' },
546
- { token:
547
- [ 'constant.numeric.integer.base-4.erlang',
548
- 'punctuation.separator.base-integer.erlang',
549
- 'constant.numeric.integer.base-4.erlang' ],
550
- regex: '(4)(#)([0-3]+)' },
551
- { token:
552
- [ 'constant.numeric.integer.base-5.erlang',
553
- 'punctuation.separator.base-integer.erlang',
554
- 'constant.numeric.integer.base-5.erlang' ],
555
- regex: '(5)(#)([0-4]+)' },
556
- { token:
557
- [ 'constant.numeric.integer.base-6.erlang',
558
- 'punctuation.separator.base-integer.erlang',
559
- 'constant.numeric.integer.base-6.erlang' ],
560
- regex: '(6)(#)([0-5]+)' },
561
- { token:
562
- [ 'constant.numeric.integer.base-7.erlang',
563
- 'punctuation.separator.base-integer.erlang',
564
- 'constant.numeric.integer.base-7.erlang' ],
565
- regex: '(7)(#)([0-6]+)' },
566
- { token:
567
- [ 'constant.numeric.integer.octal.erlang',
568
- 'punctuation.separator.base-integer.erlang',
569
- 'constant.numeric.integer.octal.erlang' ],
570
- regex: '(8)(#)([0-7]+)' },
571
- { token:
572
- [ 'constant.numeric.integer.base-9.erlang',
573
- 'punctuation.separator.base-integer.erlang',
574
- 'constant.numeric.integer.base-9.erlang' ],
575
- regex: '(9)(#)([0-8]+)' },
576
- { token:
577
- [ 'constant.numeric.integer.decimal.erlang',
578
- 'punctuation.separator.base-integer.erlang',
579
- 'constant.numeric.integer.decimal.erlang' ],
580
- regex: '(10)(#)(\\d+)' },
581
- { token:
582
- [ 'constant.numeric.integer.base-11.erlang',
583
- 'punctuation.separator.base-integer.erlang',
584
- 'constant.numeric.integer.base-11.erlang' ],
585
- regex: '(11)(#)([\\daA]+)' },
586
- { token:
587
- [ 'constant.numeric.integer.base-12.erlang',
588
- 'punctuation.separator.base-integer.erlang',
589
- 'constant.numeric.integer.base-12.erlang' ],
590
- regex: '(12)(#)([\\da-bA-B]+)' },
591
- { token:
592
- [ 'constant.numeric.integer.base-13.erlang',
593
- 'punctuation.separator.base-integer.erlang',
594
- 'constant.numeric.integer.base-13.erlang' ],
595
- regex: '(13)(#)([\\da-cA-C]+)' },
596
- { token:
597
- [ 'constant.numeric.integer.base-14.erlang',
598
- 'punctuation.separator.base-integer.erlang',
599
- 'constant.numeric.integer.base-14.erlang' ],
600
- regex: '(14)(#)([\\da-dA-D]+)' },
601
- { token:
602
- [ 'constant.numeric.integer.base-15.erlang',
603
- 'punctuation.separator.base-integer.erlang',
604
- 'constant.numeric.integer.base-15.erlang' ],
605
- regex: '(15)(#)([\\da-eA-E]+)' },
606
- { token:
607
- [ 'constant.numeric.integer.hexadecimal.erlang',
608
- 'punctuation.separator.base-integer.erlang',
609
- 'constant.numeric.integer.hexadecimal.erlang' ],
610
- regex: '(16)(#)([\\da-fA-F]+)' },
611
- { token:
612
- [ 'constant.numeric.integer.base-17.erlang',
613
- 'punctuation.separator.base-integer.erlang',
614
- 'constant.numeric.integer.base-17.erlang' ],
615
- regex: '(17)(#)([\\da-gA-G]+)' },
616
- { token:
617
- [ 'constant.numeric.integer.base-18.erlang',
618
- 'punctuation.separator.base-integer.erlang',
619
- 'constant.numeric.integer.base-18.erlang' ],
620
- regex: '(18)(#)([\\da-hA-H]+)' },
621
- { token:
622
- [ 'constant.numeric.integer.base-19.erlang',
623
- 'punctuation.separator.base-integer.erlang',
624
- 'constant.numeric.integer.base-19.erlang' ],
625
- regex: '(19)(#)([\\da-iA-I]+)' },
626
- { token:
627
- [ 'constant.numeric.integer.base-20.erlang',
628
- 'punctuation.separator.base-integer.erlang',
629
- 'constant.numeric.integer.base-20.erlang' ],
630
- regex: '(20)(#)([\\da-jA-J]+)' },
631
- { token:
632
- [ 'constant.numeric.integer.base-21.erlang',
633
- 'punctuation.separator.base-integer.erlang',
634
- 'constant.numeric.integer.base-21.erlang' ],
635
- regex: '(21)(#)([\\da-kA-K]+)' },
636
- { token:
637
- [ 'constant.numeric.integer.base-22.erlang',
638
- 'punctuation.separator.base-integer.erlang',
639
- 'constant.numeric.integer.base-22.erlang' ],
640
- regex: '(22)(#)([\\da-lA-L]+)' },
641
- { token:
642
- [ 'constant.numeric.integer.base-23.erlang',
643
- 'punctuation.separator.base-integer.erlang',
644
- 'constant.numeric.integer.base-23.erlang' ],
645
- regex: '(23)(#)([\\da-mA-M]+)' },
646
- { token:
647
- [ 'constant.numeric.integer.base-24.erlang',
648
- 'punctuation.separator.base-integer.erlang',
649
- 'constant.numeric.integer.base-24.erlang' ],
650
- regex: '(24)(#)([\\da-nA-N]+)' },
651
- { token:
652
- [ 'constant.numeric.integer.base-25.erlang',
653
- 'punctuation.separator.base-integer.erlang',
654
- 'constant.numeric.integer.base-25.erlang' ],
655
- regex: '(25)(#)([\\da-oA-O]+)' },
656
- { token:
657
- [ 'constant.numeric.integer.base-26.erlang',
658
- 'punctuation.separator.base-integer.erlang',
659
- 'constant.numeric.integer.base-26.erlang' ],
660
- regex: '(26)(#)([\\da-pA-P]+)' },
661
- { token:
662
- [ 'constant.numeric.integer.base-27.erlang',
663
- 'punctuation.separator.base-integer.erlang',
664
- 'constant.numeric.integer.base-27.erlang' ],
665
- regex: '(27)(#)([\\da-qA-Q]+)' },
666
- { token:
667
- [ 'constant.numeric.integer.base-28.erlang',
668
- 'punctuation.separator.base-integer.erlang',
669
- 'constant.numeric.integer.base-28.erlang' ],
670
- regex: '(28)(#)([\\da-rA-R]+)' },
671
- { token:
672
- [ 'constant.numeric.integer.base-29.erlang',
673
- 'punctuation.separator.base-integer.erlang',
674
- 'constant.numeric.integer.base-29.erlang' ],
675
- regex: '(29)(#)([\\da-sA-S]+)' },
676
- { token:
677
- [ 'constant.numeric.integer.base-30.erlang',
678
- 'punctuation.separator.base-integer.erlang',
679
- 'constant.numeric.integer.base-30.erlang' ],
680
- regex: '(30)(#)([\\da-tA-T]+)' },
681
- { token:
682
- [ 'constant.numeric.integer.base-31.erlang',
683
- 'punctuation.separator.base-integer.erlang',
684
- 'constant.numeric.integer.base-31.erlang' ],
685
- regex: '(31)(#)([\\da-uA-U]+)' },
686
- { token:
687
- [ 'constant.numeric.integer.base-32.erlang',
688
- 'punctuation.separator.base-integer.erlang',
689
- 'constant.numeric.integer.base-32.erlang' ],
690
- regex: '(32)(#)([\\da-vA-V]+)' },
691
- { token:
692
- [ 'constant.numeric.integer.base-33.erlang',
693
- 'punctuation.separator.base-integer.erlang',
694
- 'constant.numeric.integer.base-33.erlang' ],
695
- regex: '(33)(#)([\\da-wA-W]+)' },
696
- { token:
697
- [ 'constant.numeric.integer.base-34.erlang',
698
- 'punctuation.separator.base-integer.erlang',
699
- 'constant.numeric.integer.base-34.erlang' ],
700
- regex: '(34)(#)([\\da-xA-X]+)' },
701
- { token:
702
- [ 'constant.numeric.integer.base-35.erlang',
703
- 'punctuation.separator.base-integer.erlang',
704
- 'constant.numeric.integer.base-35.erlang' ],
705
- regex: '(35)(#)([\\da-yA-Y]+)' },
706
- { token:
707
- [ 'constant.numeric.integer.base-36.erlang',
708
- 'punctuation.separator.base-integer.erlang',
709
- 'constant.numeric.integer.base-36.erlang' ],
710
- regex: '(36)(#)([\\da-zA-Z]+)' },
711
- { token: 'invalid.illegal.integer.erlang',
712
- regex: '\\d+#[\\da-zA-Z]+' },
713
- { token: 'constant.numeric.integer.decimal.erlang',
714
- regex: '\\d+' } ] } ],
715
- '#parenthesized-expression':
716
- [ { token: 'punctuation.section.expression.begin.erlang',
717
- regex: '\\(',
718
- push:
719
- [ { token: 'punctuation.section.expression.end.erlang',
720
- regex: '\\)',
721
- next: 'pop' },
722
- { include: '#everything-else' },
723
- { defaultToken: 'meta.expression.parenthesized' } ] } ],
724
- '#record-directive':
725
- [ { token:
726
- [ 'meta.directive.record.erlang',
727
- 'punctuation.section.directive.begin.erlang',
728
- 'meta.directive.record.erlang',
729
- 'keyword.control.directive.import.erlang',
730
- 'meta.directive.record.erlang',
731
- 'punctuation.definition.parameters.begin.erlang',
732
- 'meta.directive.record.erlang',
733
- 'entity.name.type.class.record.definition.erlang',
734
- 'meta.directive.record.erlang',
735
- 'punctuation.separator.parameters.erlang' ],
736
- regex: '^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
737
- push:
738
- [ { token:
739
- [ 'punctuation.definition.class.record.end.erlang',
740
- 'meta.directive.record.erlang',
741
- 'punctuation.definition.parameters.end.erlang',
742
- 'meta.directive.record.erlang',
743
- 'punctuation.section.directive.end.erlang' ],
744
- regex: '(\\})(\\s*)(\\))(\\s*)(\\.)',
745
- next: 'pop' },
746
- { include: '#internal-record-body' },
747
- { defaultToken: 'meta.directive.record.erlang' } ] } ],
748
- '#record-usage':
749
- [ { token:
750
- [ 'keyword.operator.record.erlang',
751
- 'meta.record-usage.erlang',
752
- 'entity.name.type.class.record.erlang',
753
- 'meta.record-usage.erlang',
754
- 'punctuation.separator.record-field.erlang',
755
- 'meta.record-usage.erlang',
756
- 'variable.other.field.erlang' ],
757
- regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')' },
758
- { token:
759
- [ 'keyword.operator.record.erlang',
760
- 'meta.record-usage.erlang',
761
- 'entity.name.type.class.record.erlang' ],
762
- regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')',
763
- push:
764
- [ { token: 'punctuation.definition.class.record.end.erlang',
765
- regex: '\\}',
766
- next: 'pop' },
767
- { include: '#internal-record-body' },
768
- { defaultToken: 'meta.record-usage.erlang' } ] } ],
769
- '#string':
770
- [ { token: 'punctuation.definition.string.begin.erlang',
771
- regex: '"',
772
- push:
773
- [ { token: 'punctuation.definition.string.end.erlang',
592
+ push: [{ token: 'punctuation.section.expression.end.erlang',
593
+ regex: '\\)',
594
+ next: 'pop' },
595
+ { include: '#everything-else' },
596
+ { defaultToken: 'meta.expression.parenthesized' }] }],
597
+ '#record-directive': [{ token: ['meta.directive.record.erlang',
598
+ 'punctuation.section.directive.begin.erlang',
599
+ 'meta.directive.record.erlang',
600
+ 'keyword.control.directive.import.erlang',
601
+ 'meta.directive.record.erlang',
602
+ 'punctuation.definition.parameters.begin.erlang',
603
+ 'meta.directive.record.erlang',
604
+ 'entity.name.type.class.record.definition.erlang',
605
+ 'meta.directive.record.erlang',
606
+ 'punctuation.separator.parameters.erlang'],
607
+ regex: '^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
608
+ push: [{ token: ['punctuation.definition.class.record.end.erlang',
609
+ 'meta.directive.record.erlang',
610
+ 'punctuation.definition.parameters.end.erlang',
611
+ 'meta.directive.record.erlang',
612
+ 'punctuation.section.directive.end.erlang'],
613
+ regex: '(\\})(\\s*)(\\))(\\s*)(\\.)',
614
+ next: 'pop' },
615
+ { include: '#internal-record-body' },
616
+ { defaultToken: 'meta.directive.record.erlang' }] }],
617
+ '#record-usage': [{ token: ['keyword.operator.record.erlang',
618
+ 'meta.record-usage.erlang',
619
+ 'entity.name.type.class.record.erlang',
620
+ 'meta.record-usage.erlang',
621
+ 'punctuation.separator.record-field.erlang',
622
+ 'meta.record-usage.erlang',
623
+ 'variable.other.field.erlang'],
624
+ regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')' },
625
+ { token: ['keyword.operator.record.erlang',
626
+ 'meta.record-usage.erlang',
627
+ 'entity.name.type.class.record.erlang'],
628
+ regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')',
629
+ push: [{ token: 'punctuation.definition.class.record.end.erlang',
630
+ regex: '\\}',
631
+ next: 'pop' },
632
+ { include: '#internal-record-body' },
633
+ { defaultToken: 'meta.record-usage.erlang' }] }],
634
+ '#string': [{ token: 'punctuation.definition.string.begin.erlang',
774
635
  regex: '"',
775
- next: 'pop' },
776
- { token:
777
- [ 'punctuation.definition.escape.erlang',
778
- 'constant.character.escape.erlang',
779
- 'punctuation.definition.escape.erlang',
780
- 'constant.character.escape.erlang',
781
- 'constant.character.escape.erlang' ],
782
- regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
783
- { token: 'invalid.illegal.string.erlang', regex: '\\\\\\^?.?' },
784
- { token:
785
- [ 'punctuation.definition.placeholder.erlang',
786
- 'punctuation.separator.placeholder-parts.erlang',
787
- 'constant.other.placeholder.erlang',
788
- 'punctuation.separator.placeholder-parts.erlang',
789
- 'punctuation.separator.placeholder-parts.erlang',
790
- 'constant.other.placeholder.erlang',
791
- 'punctuation.separator.placeholder-parts.erlang',
792
- 'punctuation.separator.placeholder-parts.erlang',
793
- 'punctuation.separator.placeholder-parts.erlang',
794
- 'constant.other.placeholder.erlang',
795
- 'constant.other.placeholder.erlang' ],
796
- regex: '(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])' },
797
- { token:
798
- [ 'punctuation.definition.placeholder.erlang',
799
- 'punctuation.separator.placeholder-parts.erlang',
800
- 'constant.other.placeholder.erlang',
801
- 'constant.other.placeholder.erlang' ],
802
- regex: '(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])' },
803
- { token: 'invalid.illegal.string.erlang', regex: '~.?' },
804
- { defaultToken: 'string.quoted.double.erlang' } ] } ],
805
- '#symbolic-operator':
806
- [ { token: 'keyword.operator.symbolic.erlang',
807
- regex: '\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::' } ],
808
- '#textual-operator':
809
- [ { token: 'keyword.operator.textual.erlang',
810
- regex: '\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b' } ],
811
- '#tuple':
812
- [ { token: 'punctuation.definition.tuple.begin.erlang',
813
- regex: '\\{',
814
- push:
815
- [ { token: 'punctuation.definition.tuple.end.erlang',
816
- regex: '\\}',
817
- next: 'pop' },
818
- { token: 'punctuation.separator.tuple.erlang', regex: ',' },
819
- { include: '#everything-else' },
820
- { defaultToken: 'meta.structure.tuple.erlang' } ] } ],
821
- '#variable':
822
- [ { token: [ 'variable.other.erlang', 'variable.language.omitted.erlang' ],
823
- regex: '(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)' } ] };
824
-
636
+ push: [{ token: 'punctuation.definition.string.end.erlang',
637
+ regex: '"',
638
+ next: 'pop' },
639
+ { token: ['punctuation.definition.escape.erlang',
640
+ 'constant.character.escape.erlang',
641
+ 'punctuation.definition.escape.erlang',
642
+ 'constant.character.escape.erlang',
643
+ 'constant.character.escape.erlang'],
644
+ regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
645
+ { token: 'invalid.illegal.string.erlang', regex: '\\\\\\^?.?' },
646
+ { token: ['punctuation.definition.placeholder.erlang',
647
+ 'punctuation.separator.placeholder-parts.erlang',
648
+ 'constant.other.placeholder.erlang',
649
+ 'punctuation.separator.placeholder-parts.erlang',
650
+ 'punctuation.separator.placeholder-parts.erlang',
651
+ 'constant.other.placeholder.erlang',
652
+ 'punctuation.separator.placeholder-parts.erlang',
653
+ 'punctuation.separator.placeholder-parts.erlang',
654
+ 'punctuation.separator.placeholder-parts.erlang',
655
+ 'constant.other.placeholder.erlang',
656
+ 'constant.other.placeholder.erlang'],
657
+ regex: '(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])' },
658
+ { token: ['punctuation.definition.placeholder.erlang',
659
+ 'punctuation.separator.placeholder-parts.erlang',
660
+ 'constant.other.placeholder.erlang',
661
+ 'constant.other.placeholder.erlang'],
662
+ regex: '(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])' },
663
+ { token: 'invalid.illegal.string.erlang', regex: '~.?' },
664
+ { defaultToken: 'string.quoted.double.erlang' }] }],
665
+ '#symbolic-operator': [{ token: 'keyword.operator.symbolic.erlang',
666
+ regex: '\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::' }],
667
+ '#textual-operator': [{ token: 'keyword.operator.textual.erlang',
668
+ regex: '\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b' }],
669
+ '#tuple': [{ token: 'punctuation.definition.tuple.begin.erlang',
670
+ regex: '\\{',
671
+ push: [{ token: 'punctuation.definition.tuple.end.erlang',
672
+ regex: '\\}',
673
+ next: 'pop' },
674
+ { token: 'punctuation.separator.tuple.erlang', regex: ',' },
675
+ { include: '#everything-else' },
676
+ { defaultToken: 'meta.structure.tuple.erlang' }] }],
677
+ '#variable': [{ token: ['variable.other.erlang', 'variable.language.omitted.erlang'],
678
+ regex: '(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)' }] };
825
679
  this.normalizeRules();
826
680
  };
827
-
828
681
  ErlangHighlightRules.metaData = { comment: 'The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp',
829
- fileTypes: [ 'erl', 'hrl' ],
830
- keyEquivalent: '^~E',
831
- name: 'Erlang',
832
- scopeName: 'source.erlang' };
833
-
834
-
682
+ fileTypes: ['erl', 'hrl'],
683
+ keyEquivalent: '^~E',
684
+ name: 'Erlang',
685
+ scopeName: 'source.erlang' };
835
686
  oop.inherits(ErlangHighlightRules, TextHighlightRules);
836
-
837
687
  exports.ErlangHighlightRules = ErlangHighlightRules;
838
- });
839
688
 
840
- ace.define("ace/mode/folding/cstyle",[], function(require, exports, module) {
841
- "use strict";
689
+ });
842
690
 
691
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
843
692
  var oop = require("../../lib/oop");
844
693
  var Range = require("../../range").Range;
845
694
  var BaseFoldMode = require("./fold_mode").FoldMode;
846
-
847
- var FoldMode = exports.FoldMode = function(commentRegex) {
695
+ var FoldMode = exports.FoldMode = function (commentRegex) {
848
696
  if (commentRegex) {
849
- this.foldingStartMarker = new RegExp(
850
- this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
851
- );
852
- this.foldingStopMarker = new RegExp(
853
- this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
854
- );
697
+ this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start));
698
+ this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end));
855
699
  }
856
700
  };
857
701
  oop.inherits(FoldMode, BaseFoldMode);
858
-
859
- (function() {
860
-
702
+ (function () {
861
703
  this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
862
704
  this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
863
- this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
705
+ this.singleLineBlockCommentRe = /^\s*(\/\*).*\*\/\s*$/;
864
706
  this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
865
707
  this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
866
708
  this._getFoldWidgetBase = this.getFoldWidget;
867
- this.getFoldWidget = function(session, foldStyle, row) {
709
+ this.getFoldWidget = function (session, foldStyle, row) {
868
710
  var line = session.getLine(row);
869
-
870
711
  if (this.singleLineBlockCommentRe.test(line)) {
871
712
  if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
872
713
  return "";
873
714
  }
874
-
875
715
  var fw = this._getFoldWidgetBase(session, foldStyle, row);
876
-
877
716
  if (!fw && this.startRegionRe.test(line))
878
717
  return "start"; // lineCommentRegionStart
879
-
880
718
  return fw;
881
719
  };
882
-
883
- this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
720
+ this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {
884
721
  var line = session.getLine(row);
885
-
886
722
  if (this.startRegionRe.test(line))
887
723
  return this.getCommentRegionBlock(session, line, row);
888
-
889
724
  var match = line.match(this.foldingStartMarker);
890
725
  if (match) {
891
726
  var i = match.index;
892
-
893
727
  if (match[1])
894
728
  return this.openingBracketBlock(session, match[1], row, i);
895
-
896
729
  var range = session.getCommentFoldRange(row, i + match[0].length, 1);
897
-
898
730
  if (range && !range.isMultiLine()) {
899
731
  if (forceMultiline) {
900
732
  range = this.getSectionRange(session, row);
901
- } else if (foldStyle != "all")
733
+ }
734
+ else if (foldStyle != "all")
902
735
  range = null;
903
736
  }
904
-
905
737
  return range;
906
738
  }
907
-
908
739
  if (foldStyle === "markbegin")
909
740
  return;
910
-
911
741
  var match = line.match(this.foldingStopMarker);
912
742
  if (match) {
913
743
  var i = match.index + match[0].length;
914
-
915
744
  if (match[1])
916
745
  return this.closingBracketBlock(session, match[1], row, i);
917
-
918
746
  return session.getCommentFoldRange(row, i, -1);
919
747
  }
920
748
  };
921
-
922
- this.getSectionRange = function(session, row) {
749
+ this.getSectionRange = function (session, row) {
923
750
  var line = session.getLine(row);
924
751
  var startIndent = line.search(/\S/);
925
752
  var startRow = row;
@@ -932,74 +759,73 @@ oop.inherits(FoldMode, BaseFoldMode);
932
759
  var indent = line.search(/\S/);
933
760
  if (indent === -1)
934
761
  continue;
935
- if (startIndent > indent)
762
+ if (startIndent > indent)
936
763
  break;
937
764
  var subRange = this.getFoldWidgetRange(session, "all", row);
938
-
939
765
  if (subRange) {
940
766
  if (subRange.start.row <= startRow) {
941
767
  break;
942
- } else if (subRange.isMultiLine()) {
768
+ }
769
+ else if (subRange.isMultiLine()) {
943
770
  row = subRange.end.row;
944
- } else if (startIndent == indent) {
771
+ }
772
+ else if (startIndent == indent) {
945
773
  break;
946
774
  }
947
775
  }
948
776
  endRow = row;
949
777
  }
950
-
951
778
  return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
952
779
  };
953
- this.getCommentRegionBlock = function(session, line, row) {
780
+ this.getCommentRegionBlock = function (session, line, row) {
954
781
  var startColumn = line.search(/\s*$/);
955
782
  var maxRow = session.getLength();
956
783
  var startRow = row;
957
-
958
784
  var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
959
785
  var depth = 1;
960
786
  while (++row < maxRow) {
961
787
  line = session.getLine(row);
962
788
  var m = re.exec(line);
963
- if (!m) continue;
964
- if (m[1]) depth--;
965
- else depth++;
966
-
967
- if (!depth) break;
789
+ if (!m)
790
+ continue;
791
+ if (m[1])
792
+ depth--;
793
+ else
794
+ depth++;
795
+ if (!depth)
796
+ break;
968
797
  }
969
-
970
798
  var endRow = row;
971
799
  if (endRow > startRow) {
972
800
  return new Range(startRow, startColumn, endRow, line.length);
973
801
  }
974
802
  };
975
-
976
803
  }).call(FoldMode.prototype);
977
804
 
978
805
  });
979
806
 
980
- ace.define("ace/mode/erlang",[], function(require, exports, module) {
807
+ ace.define("ace/mode/erlang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/erlang_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module){/*
808
+ THIS FILE WAS AUTOGENERATED BY mode.tmpl.js
809
+ */
981
810
  "use strict";
982
-
983
811
  var oop = require("../lib/oop");
984
812
  var TextMode = require("./text").Mode;
985
813
  var ErlangHighlightRules = require("./erlang_highlight_rules").ErlangHighlightRules;
986
814
  var FoldMode = require("./folding/cstyle").FoldMode;
987
-
988
- var Mode = function() {
815
+ var Mode = function () {
989
816
  this.HighlightRules = ErlangHighlightRules;
990
817
  this.foldingRules = new FoldMode();
991
818
  this.$behaviour = this.$defaultBehaviour;
992
819
  };
993
820
  oop.inherits(Mode, TextMode);
994
-
995
- (function() {
821
+ (function () {
996
822
  this.lineCommentStart = "%";
997
823
  this.blockComment = null;
998
824
  this.$id = "ace/mode/erlang";
999
825
  this.snippetFileId = "ace/snippets/erlang";
1000
826
  }).call(Mode.prototype);
1001
-
1002
827
  exports.Mode = Mode;
828
+
1003
829
  }); (function() {
1004
830
  ace.require(["ace/mode/erlang"], function(m) {
1005
831
  if (typeof module == "object" && typeof exports == "object" && module) {