@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,444 +1,389 @@
1
- ace.define("ace/mode/elixir_highlight_rules",[], function(require, exports, module) {
1
+ ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){/* This file was autogenerated from https://raw.githubusercontent.com/elixir-lang/elixir-tmbundle/master/Syntaxes/Elixir.tmLanguage (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 ElixirHighlightRules = function() {
8
-
9
- this.$rules = { start:
10
- [ { token:
11
- [ 'meta.module.elixir',
12
- 'keyword.control.module.elixir',
13
- 'meta.module.elixir',
14
- 'entity.name.type.module.elixir' ],
15
- regex: '^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)' },
16
- { token: 'comment.documentation.heredoc',
17
- regex: '@(?:module|type)?doc (?:~[a-z])?"""',
18
- push:
19
- [ { token: 'comment.documentation.heredoc',
20
- regex: '\\s*"""',
21
- next: 'pop' },
22
- { include: '#interpolated_elixir' },
23
- { include: '#escaped_char' },
24
- { defaultToken: 'comment.documentation.heredoc' } ],
25
- comment: '@doc with heredocs is treated as documentation' },
26
- { token: 'comment.documentation.heredoc',
27
- regex: '@(?:module|type)?doc ~[A-Z]"""',
28
- push:
29
- [ { token: 'comment.documentation.heredoc',
30
- regex: '\\s*"""',
31
- next: 'pop' },
32
- { defaultToken: 'comment.documentation.heredoc' } ],
33
- comment: '@doc with heredocs is treated as documentation' },
34
- { token: 'comment.documentation.heredoc',
35
- regex: '@(?:module|type)?doc (?:~[a-z])?\'\'\'',
36
- push:
37
- [ { token: 'comment.documentation.heredoc',
38
- regex: '\\s*\'\'\'',
39
- next: 'pop' },
40
- { include: '#interpolated_elixir' },
41
- { include: '#escaped_char' },
42
- { defaultToken: 'comment.documentation.heredoc' } ],
43
- comment: '@doc with heredocs is treated as documentation' },
44
- { token: 'comment.documentation.heredoc',
45
- regex: '@(?:module|type)?doc ~[A-Z]\'\'\'',
46
- push:
47
- [ { token: 'comment.documentation.heredoc',
48
- regex: '\\s*\'\'\'',
49
- next: 'pop' },
50
- { defaultToken: 'comment.documentation.heredoc' } ],
51
- comment: '@doc with heredocs is treated as documentation' },
52
- { token: 'comment.documentation.false',
53
- regex: '@(?:module|type)?doc false',
54
- comment: '@doc false is treated as documentation' },
55
- { token: 'comment.documentation.string',
56
- regex: '@(?:module|type)?doc "',
57
- push:
58
- [ { token: 'comment.documentation.string',
59
- regex: '"',
60
- next: 'pop' },
61
- { include: '#interpolated_elixir' },
62
- { include: '#escaped_char' },
63
- { defaultToken: 'comment.documentation.string' } ],
64
- comment: '@doc with string is treated as documentation' },
65
- { token: 'keyword.control.elixir',
66
- regex: '\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])',
67
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
68
- originalRegex: '(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])' },
69
- { token: 'keyword.operator.elixir',
70
- regex: '\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b',
71
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
72
- originalRegex: '(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b',
73
- comment: ' as above, just doesn\'t need a \'end\' and does a logic operation' },
74
- { token: 'constant.language.elixir',
75
- regex: '\\b(?:nil|true|false)\\b(?![?!])' },
76
- { token: 'variable.language.elixir',
77
- regex: '\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])' },
78
- { token:
79
- [ 'punctuation.definition.variable.elixir',
80
- 'variable.other.readwrite.module.elixir' ],
81
- regex: '(@)([a-zA-Z_]\\w*)' },
82
- { token:
83
- [ 'punctuation.definition.variable.elixir',
84
- 'variable.other.anonymous.elixir' ],
85
- regex: '(&)(\\d*)' },
86
- { token: 'variable.other.constant.elixir',
87
- regex: '\\b[A-Z]\\w*\\b' },
88
- { token: 'constant.numeric.elixir',
89
- regex: '\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b',
90
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
91
- originalRegex: '\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b' },
92
- { token: 'punctuation.definition.constant.elixir',
93
- regex: ':\'',
94
- push:
95
- [ { token: 'punctuation.definition.constant.elixir',
96
- regex: '\'',
97
- next: 'pop' },
98
- { include: '#interpolated_elixir' },
99
- { include: '#escaped_char' },
100
- { defaultToken: 'constant.other.symbol.single-quoted.elixir' } ] },
101
- { token: 'punctuation.definition.constant.elixir',
102
- regex: ':"',
103
- push:
104
- [ { token: 'punctuation.definition.constant.elixir',
105
- regex: '"',
106
- next: 'pop' },
107
- { include: '#interpolated_elixir' },
108
- { include: '#escaped_char' },
109
- { defaultToken: 'constant.other.symbol.double-quoted.elixir' } ] },
110
- { token: 'punctuation.definition.string.begin.elixir',
111
- regex: '(?:\'\'\')',
112
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
113
- originalRegex: '(?>\'\'\')',
114
- push:
115
- [ { token: 'punctuation.definition.string.end.elixir',
116
- regex: '^\\s*\'\'\'',
117
- next: 'pop' },
118
- { include: '#interpolated_elixir' },
119
- { include: '#escaped_char' },
120
- { defaultToken: 'support.function.variable.quoted.single.heredoc.elixir' } ],
121
- comment: 'Single-quoted heredocs' },
122
- { token: 'punctuation.definition.string.begin.elixir',
123
- regex: '\'',
124
- push:
125
- [ { token: 'punctuation.definition.string.end.elixir',
5
+ var ElixirHighlightRules = function () {
6
+ this.$rules = { start: [{ token: ['meta.module.elixir',
7
+ 'keyword.control.module.elixir',
8
+ 'meta.module.elixir',
9
+ 'entity.name.type.module.elixir'],
10
+ regex: '^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)' },
11
+ { token: 'comment.documentation.heredoc',
12
+ regex: '@(?:module|type)?doc (?:~[a-z])?"""',
13
+ push: [{ token: 'comment.documentation.heredoc',
14
+ regex: '\\s*"""',
15
+ next: 'pop' },
16
+ { include: '#interpolated_elixir' },
17
+ { include: '#escaped_char' },
18
+ { defaultToken: 'comment.documentation.heredoc' }],
19
+ comment: '@doc with heredocs is treated as documentation' },
20
+ { token: 'comment.documentation.heredoc',
21
+ regex: '@(?:module|type)?doc ~[A-Z]"""',
22
+ push: [{ token: 'comment.documentation.heredoc',
23
+ regex: '\\s*"""',
24
+ next: 'pop' },
25
+ { defaultToken: 'comment.documentation.heredoc' }],
26
+ comment: '@doc with heredocs is treated as documentation' },
27
+ { token: 'comment.documentation.heredoc',
28
+ regex: '@(?:module|type)?doc (?:~[a-z])?\'\'\'',
29
+ push: [{ token: 'comment.documentation.heredoc',
30
+ regex: '\\s*\'\'\'',
31
+ next: 'pop' },
32
+ { include: '#interpolated_elixir' },
33
+ { include: '#escaped_char' },
34
+ { defaultToken: 'comment.documentation.heredoc' }],
35
+ comment: '@doc with heredocs is treated as documentation' },
36
+ { token: 'comment.documentation.heredoc',
37
+ regex: '@(?:module|type)?doc ~[A-Z]\'\'\'',
38
+ push: [{ token: 'comment.documentation.heredoc',
39
+ regex: '\\s*\'\'\'',
40
+ next: 'pop' },
41
+ { defaultToken: 'comment.documentation.heredoc' }],
42
+ comment: '@doc with heredocs is treated as documentation' },
43
+ { token: 'comment.documentation.false',
44
+ regex: '@(?:module|type)?doc false',
45
+ comment: '@doc false is treated as documentation' },
46
+ { token: 'comment.documentation.string',
47
+ regex: '@(?:module|type)?doc "',
48
+ push: [{ token: 'comment.documentation.string',
49
+ regex: '"',
50
+ next: 'pop' },
51
+ { include: '#interpolated_elixir' },
52
+ { include: '#escaped_char' },
53
+ { defaultToken: 'comment.documentation.string' }],
54
+ comment: '@doc with string is treated as documentation' },
55
+ { token: 'keyword.control.elixir',
56
+ regex: '\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])',
57
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
58
+ originalRegex: '(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])' },
59
+ { token: 'keyword.operator.elixir',
60
+ regex: '\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b',
61
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
62
+ originalRegex: '(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b',
63
+ comment: ' as above, just doesn\'t need a \'end\' and does a logic operation' },
64
+ { token: 'constant.language.elixir',
65
+ regex: '\\b(?:nil|true|false)\\b(?![?!])' },
66
+ { token: 'variable.language.elixir',
67
+ regex: '\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])' },
68
+ { token: ['punctuation.definition.variable.elixir',
69
+ 'variable.other.readwrite.module.elixir'],
70
+ regex: '(@)([a-zA-Z_]\\w*)' },
71
+ { token: ['punctuation.definition.variable.elixir',
72
+ 'variable.other.anonymous.elixir'],
73
+ regex: '(&)(\\d*)' },
74
+ { token: 'variable.other.constant.elixir',
75
+ regex: '\\b[A-Z]\\w*\\b' },
76
+ { token: 'constant.numeric.elixir',
77
+ regex: '\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b',
78
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
79
+ originalRegex: '\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b' },
80
+ { token: 'punctuation.definition.constant.elixir',
81
+ regex: ':\'',
82
+ push: [{ token: 'punctuation.definition.constant.elixir',
83
+ regex: '\'',
84
+ next: 'pop' },
85
+ { include: '#interpolated_elixir' },
86
+ { include: '#escaped_char' },
87
+ { defaultToken: 'constant.other.symbol.single-quoted.elixir' }] },
88
+ { token: 'punctuation.definition.constant.elixir',
89
+ regex: ':"',
90
+ push: [{ token: 'punctuation.definition.constant.elixir',
91
+ regex: '"',
92
+ next: 'pop' },
93
+ { include: '#interpolated_elixir' },
94
+ { include: '#escaped_char' },
95
+ { defaultToken: 'constant.other.symbol.double-quoted.elixir' }] },
96
+ { token: 'punctuation.definition.string.begin.elixir',
97
+ regex: '(?:\'\'\')',
98
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
99
+ originalRegex: '(?>\'\'\')',
100
+ push: [{ token: 'punctuation.definition.string.end.elixir',
101
+ regex: '^\\s*\'\'\'',
102
+ next: 'pop' },
103
+ { include: '#interpolated_elixir' },
104
+ { include: '#escaped_char' },
105
+ { defaultToken: 'support.function.variable.quoted.single.heredoc.elixir' }],
106
+ comment: 'Single-quoted heredocs' },
107
+ { token: 'punctuation.definition.string.begin.elixir',
126
108
  regex: '\'',
127
- next: 'pop' },
128
- { include: '#interpolated_elixir' },
129
- { include: '#escaped_char' },
130
- { defaultToken: 'support.function.variable.quoted.single.elixir' } ],
131
- comment: 'single quoted string (allows for interpolation)' },
132
- { token: 'punctuation.definition.string.begin.elixir',
133
- regex: '(?:""")',
134
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
135
- originalRegex: '(?>""")',
136
- push:
137
- [ { token: 'punctuation.definition.string.end.elixir',
138
- regex: '^\\s*"""',
139
- next: 'pop' },
140
- { include: '#interpolated_elixir' },
141
- { include: '#escaped_char' },
142
- { defaultToken: 'string.quoted.double.heredoc.elixir' } ],
143
- comment: 'Double-quoted heredocs' },
144
- { token: 'punctuation.definition.string.begin.elixir',
145
- regex: '"',
146
- push:
147
- [ { token: 'punctuation.definition.string.end.elixir',
109
+ push: [{ token: 'punctuation.definition.string.end.elixir',
110
+ regex: '\'',
111
+ next: 'pop' },
112
+ { include: '#interpolated_elixir' },
113
+ { include: '#escaped_char' },
114
+ { defaultToken: 'support.function.variable.quoted.single.elixir' }],
115
+ comment: 'single quoted string (allows for interpolation)' },
116
+ { token: 'punctuation.definition.string.begin.elixir',
117
+ regex: '(?:""")',
118
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
119
+ originalRegex: '(?>""")',
120
+ push: [{ token: 'punctuation.definition.string.end.elixir',
121
+ regex: '^\\s*"""',
122
+ next: 'pop' },
123
+ { include: '#interpolated_elixir' },
124
+ { include: '#escaped_char' },
125
+ { defaultToken: 'string.quoted.double.heredoc.elixir' }],
126
+ comment: 'Double-quoted heredocs' },
127
+ { token: 'punctuation.definition.string.begin.elixir',
148
128
  regex: '"',
149
- next: 'pop' },
150
- { include: '#interpolated_elixir' },
151
- { include: '#escaped_char' },
152
- { defaultToken: 'string.quoted.double.elixir' } ],
153
- comment: 'double quoted string (allows for interpolation)' },
154
- { token: 'punctuation.definition.string.begin.elixir',
155
- regex: '~[a-z](?:""")',
156
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
157
- originalRegex: '~[a-z](?>""")',
158
- push:
159
- [ { token: 'punctuation.definition.string.end.elixir',
160
- regex: '^\\s*"""',
161
- next: 'pop' },
162
- { include: '#interpolated_elixir' },
163
- { include: '#escaped_char' },
164
- { defaultToken: 'string.quoted.double.heredoc.elixir' } ],
165
- comment: 'Double-quoted heredocs sigils' },
166
- { token: 'punctuation.definition.string.begin.elixir',
167
- regex: '~[a-z]\\{',
168
- push:
169
- [ { token: 'punctuation.definition.string.end.elixir',
170
- regex: '\\}[a-z]*',
171
- next: 'pop' },
172
- { include: '#interpolated_elixir' },
173
- { include: '#escaped_char' },
174
- { defaultToken: 'string.interpolated.elixir' } ],
175
- comment: 'sigil (allow for interpolation)' },
176
- { token: 'punctuation.definition.string.begin.elixir',
177
- regex: '~[a-z]\\[',
178
- push:
179
- [ { token: 'punctuation.definition.string.end.elixir',
180
- regex: '\\][a-z]*',
181
- next: 'pop' },
182
- { include: '#interpolated_elixir' },
183
- { include: '#escaped_char' },
184
- { defaultToken: 'string.interpolated.elixir' } ],
185
- comment: 'sigil (allow for interpolation)' },
186
- { token: 'punctuation.definition.string.begin.elixir',
187
- regex: '~[a-z]\\<',
188
- push:
189
- [ { token: 'punctuation.definition.string.end.elixir',
190
- regex: '\\>[a-z]*',
191
- next: 'pop' },
192
- { include: '#interpolated_elixir' },
193
- { include: '#escaped_char' },
194
- { defaultToken: 'string.interpolated.elixir' } ],
195
- comment: 'sigil (allow for interpolation)' },
196
- { token: 'punctuation.definition.string.begin.elixir',
197
- regex: '~[a-z]\\(',
198
- push:
199
- [ { token: 'punctuation.definition.string.end.elixir',
200
- regex: '\\)[a-z]*',
201
- next: 'pop' },
202
- { include: '#interpolated_elixir' },
203
- { include: '#escaped_char' },
204
- { defaultToken: 'string.interpolated.elixir' } ],
205
- comment: 'sigil (allow for interpolation)' },
206
- { token: 'punctuation.definition.string.begin.elixir',
207
- regex: '~[a-z][^\\w]',
208
- push:
209
- [ { token: 'punctuation.definition.string.end.elixir',
210
- regex: '[^\\w][a-z]*',
211
- next: 'pop' },
212
- { include: '#interpolated_elixir' },
213
- { include: '#escaped_char' },
214
- { include: '#escaped_char' },
215
- { defaultToken: 'string.interpolated.elixir' } ],
216
- comment: 'sigil (allow for interpolation)' },
217
- { token: 'punctuation.definition.string.begin.elixir',
218
- regex: '~[A-Z](?:""")',
219
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
220
- originalRegex: '~[A-Z](?>""")',
221
- push:
222
- [ { token: 'punctuation.definition.string.end.elixir',
223
- regex: '^\\s*"""',
224
- next: 'pop' },
225
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
226
- comment: 'Double-quoted heredocs sigils' },
227
- { token: 'punctuation.definition.string.begin.elixir',
228
- regex: '~[A-Z]\\{',
229
- push:
230
- [ { token: 'punctuation.definition.string.end.elixir',
231
- regex: '\\}[a-z]*',
232
- next: 'pop' },
233
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
234
- comment: 'sigil (without interpolation)' },
235
- { token: 'punctuation.definition.string.begin.elixir',
236
- regex: '~[A-Z]\\[',
237
- push:
238
- [ { token: 'punctuation.definition.string.end.elixir',
239
- regex: '\\][a-z]*',
240
- next: 'pop' },
241
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
242
- comment: 'sigil (without interpolation)' },
243
- { token: 'punctuation.definition.string.begin.elixir',
244
- regex: '~[A-Z]\\<',
245
- push:
246
- [ { token: 'punctuation.definition.string.end.elixir',
247
- regex: '\\>[a-z]*',
248
- next: 'pop' },
249
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
250
- comment: 'sigil (without interpolation)' },
251
- { token: 'punctuation.definition.string.begin.elixir',
252
- regex: '~[A-Z]\\(',
253
- push:
254
- [ { token: 'punctuation.definition.string.end.elixir',
255
- regex: '\\)[a-z]*',
256
- next: 'pop' },
257
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
258
- comment: 'sigil (without interpolation)' },
259
- { token: 'punctuation.definition.string.begin.elixir',
260
- regex: '~[A-Z][^\\w]',
261
- push:
262
- [ { token: 'punctuation.definition.string.end.elixir',
263
- regex: '[^\\w][a-z]*',
264
- next: 'pop' },
265
- { defaultToken: 'string.quoted.other.literal.upper.elixir' } ],
266
- comment: 'sigil (without interpolation)' },
267
- { token: ['punctuation.definition.constant.elixir', 'constant.other.symbol.elixir'],
268
- regex: '(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)',
269
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
270
- originalRegex: '(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)',
271
- comment: 'symbols' },
272
- { token: 'punctuation.definition.constant.elixir',
273
- regex: '(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)',
274
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
275
- originalRegex: '(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)',
276
- comment: 'symbols' },
277
- { token:
278
- [ 'punctuation.definition.comment.elixir',
279
- 'comment.line.number-sign.elixir' ],
280
- regex: '(#)(.*)' },
281
- { token: 'constant.numeric.elixir',
282
- regex: '\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])',
283
- TODO: 'FIXME: regexp doesn\'t have js equivalent',
284
- originalRegex: '(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])',
285
- comment: '\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (3rd alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t' },
286
- { token: 'keyword.operator.assignment.augmented.elixir',
287
- regex: '\\+=|\\-=|\\|\\|=|~=|&&=' },
288
- { token: 'keyword.operator.comparison.elixir',
289
- regex: '===?|!==?|<=?|>=?' },
290
- { token: 'keyword.operator.bitwise.elixir',
291
- regex: '\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}' },
292
- { token: 'keyword.operator.logical.elixir',
293
- regex: '!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b',
294
- originalRegex: '(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b' },
295
- { token: 'keyword.operator.arithmetic.elixir',
296
- regex: '\\*|\\+|\\-|/' },
297
- { token: 'keyword.operator.other.elixir',
298
- regex: '\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>' },
299
- { token: 'keyword.operator.assignment.elixir', regex: '=' },
300
- { token: 'punctuation.separator.other.elixir', regex: ':' },
301
- { token: 'punctuation.separator.statement.elixir',
302
- regex: '\\;' },
303
- { token: 'punctuation.separator.object.elixir', regex: ',' },
304
- { token: 'punctuation.separator.method.elixir', regex: '\\.' },
305
- { token: 'punctuation.section.scope.elixir', regex: '\\{|\\}' },
306
- { token: 'punctuation.section.array.elixir', regex: '\\[|\\]' },
307
- { token: 'punctuation.section.function.elixir',
308
- regex: '\\(|\\)' } ],
309
- '#escaped_char':
310
- [ { token: 'constant.character.escape.elixir',
311
- regex: '\\\\(?:x[\\da-fA-F]{1,2}|.)' } ],
312
- '#interpolated_elixir':
313
- [ { token:
314
- [ 'source.elixir.embedded.source',
315
- 'source.elixir.embedded.source.empty' ],
316
- regex: '(#\\{)(\\})' },
317
- { todo:
318
- { token: 'punctuation.section.embedded.elixir',
319
- regex: '#\\{',
320
- push:
321
- [ { token: 'punctuation.section.embedded.elixir',
322
- regex: '\\}',
323
- next: 'pop' },
324
- { include: '#nest_curly_and_self' },
325
- { include: '$self' },
326
- { defaultToken: 'source.elixir.embedded.source' } ] } } ],
327
- '#nest_curly_and_self':
328
- [ { token: 'punctuation.section.scope.elixir',
329
- regex: '\\{',
330
- push:
331
- [ { token: 'punctuation.section.scope.elixir',
332
- regex: '\\}',
333
- next: 'pop' },
334
- { include: '#nest_curly_and_self' } ] },
335
- { include: '$self' } ],
336
- '#regex_sub':
337
- [ { include: '#interpolated_elixir' },
338
- { include: '#escaped_char' },
339
- { token:
340
- [ 'punctuation.definition.arbitrary-repitition.elixir',
341
- 'string.regexp.arbitrary-repitition.elixir',
342
- 'string.regexp.arbitrary-repitition.elixir',
343
- 'punctuation.definition.arbitrary-repitition.elixir' ],
344
- regex: '(\\{)(\\d+)((?:,\\d+)?)(\\})' },
345
- { token: 'punctuation.definition.character-class.elixir',
346
- regex: '\\[(?:\\^?\\])?',
347
- push:
348
- [ { token: 'punctuation.definition.character-class.elixir',
349
- regex: '\\]',
350
- next: 'pop' },
351
- { include: '#escaped_char' },
352
- { defaultToken: 'string.regexp.character-class.elixir' } ] },
353
- { token: 'punctuation.definition.group.elixir',
354
- regex: '\\(',
355
- push:
356
- [ { token: 'punctuation.definition.group.elixir',
357
- regex: '\\)',
358
- next: 'pop' },
359
- { include: '#regex_sub' },
360
- { defaultToken: 'string.regexp.group.elixir' } ] },
361
- { token:
362
- [ 'punctuation.definition.comment.elixir',
363
- 'comment.line.number-sign.elixir' ],
364
- regex: '(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)',
365
- originalRegex: '(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$',
366
- comment: 'We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.' } ] };
367
-
129
+ push: [{ token: 'punctuation.definition.string.end.elixir',
130
+ regex: '"',
131
+ next: 'pop' },
132
+ { include: '#interpolated_elixir' },
133
+ { include: '#escaped_char' },
134
+ { defaultToken: 'string.quoted.double.elixir' }],
135
+ comment: 'double quoted string (allows for interpolation)' },
136
+ { token: 'punctuation.definition.string.begin.elixir',
137
+ regex: '~[a-z](?:""")',
138
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
139
+ originalRegex: '~[a-z](?>""")',
140
+ push: [{ token: 'punctuation.definition.string.end.elixir',
141
+ regex: '^\\s*"""',
142
+ next: 'pop' },
143
+ { include: '#interpolated_elixir' },
144
+ { include: '#escaped_char' },
145
+ { defaultToken: 'string.quoted.double.heredoc.elixir' }],
146
+ comment: 'Double-quoted heredocs sigils' },
147
+ { token: 'punctuation.definition.string.begin.elixir',
148
+ regex: '~[a-z]\\{',
149
+ push: [{ token: 'punctuation.definition.string.end.elixir',
150
+ regex: '\\}[a-z]*',
151
+ next: 'pop' },
152
+ { include: '#interpolated_elixir' },
153
+ { include: '#escaped_char' },
154
+ { defaultToken: 'string.interpolated.elixir' }],
155
+ comment: 'sigil (allow for interpolation)' },
156
+ { token: 'punctuation.definition.string.begin.elixir',
157
+ regex: '~[a-z]\\[',
158
+ push: [{ token: 'punctuation.definition.string.end.elixir',
159
+ regex: '\\][a-z]*',
160
+ next: 'pop' },
161
+ { include: '#interpolated_elixir' },
162
+ { include: '#escaped_char' },
163
+ { defaultToken: 'string.interpolated.elixir' }],
164
+ comment: 'sigil (allow for interpolation)' },
165
+ { token: 'punctuation.definition.string.begin.elixir',
166
+ regex: '~[a-z]\\<',
167
+ push: [{ token: 'punctuation.definition.string.end.elixir',
168
+ regex: '\\>[a-z]*',
169
+ next: 'pop' },
170
+ { include: '#interpolated_elixir' },
171
+ { include: '#escaped_char' },
172
+ { defaultToken: 'string.interpolated.elixir' }],
173
+ comment: 'sigil (allow for interpolation)' },
174
+ { token: 'punctuation.definition.string.begin.elixir',
175
+ regex: '~[a-z]\\(',
176
+ push: [{ token: 'punctuation.definition.string.end.elixir',
177
+ regex: '\\)[a-z]*',
178
+ next: 'pop' },
179
+ { include: '#interpolated_elixir' },
180
+ { include: '#escaped_char' },
181
+ { defaultToken: 'string.interpolated.elixir' }],
182
+ comment: 'sigil (allow for interpolation)' },
183
+ { token: 'punctuation.definition.string.begin.elixir',
184
+ regex: '~[a-z][^\\w]',
185
+ push: [{ token: 'punctuation.definition.string.end.elixir',
186
+ regex: '[^\\w][a-z]*',
187
+ next: 'pop' },
188
+ { include: '#interpolated_elixir' },
189
+ { include: '#escaped_char' },
190
+ { include: '#escaped_char' },
191
+ { defaultToken: 'string.interpolated.elixir' }],
192
+ comment: 'sigil (allow for interpolation)' },
193
+ { token: 'punctuation.definition.string.begin.elixir',
194
+ regex: '~[A-Z](?:""")',
195
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
196
+ originalRegex: '~[A-Z](?>""")',
197
+ push: [{ token: 'punctuation.definition.string.end.elixir',
198
+ regex: '^\\s*"""',
199
+ next: 'pop' },
200
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
201
+ comment: 'Double-quoted heredocs sigils' },
202
+ { token: 'punctuation.definition.string.begin.elixir',
203
+ regex: '~[A-Z]\\{',
204
+ push: [{ token: 'punctuation.definition.string.end.elixir',
205
+ regex: '\\}[a-z]*',
206
+ next: 'pop' },
207
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
208
+ comment: 'sigil (without interpolation)' },
209
+ { token: 'punctuation.definition.string.begin.elixir',
210
+ regex: '~[A-Z]\\[',
211
+ push: [{ token: 'punctuation.definition.string.end.elixir',
212
+ regex: '\\][a-z]*',
213
+ next: 'pop' },
214
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
215
+ comment: 'sigil (without interpolation)' },
216
+ { token: 'punctuation.definition.string.begin.elixir',
217
+ regex: '~[A-Z]\\<',
218
+ push: [{ token: 'punctuation.definition.string.end.elixir',
219
+ regex: '\\>[a-z]*',
220
+ next: 'pop' },
221
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
222
+ comment: 'sigil (without interpolation)' },
223
+ { token: 'punctuation.definition.string.begin.elixir',
224
+ regex: '~[A-Z]\\(',
225
+ push: [{ token: 'punctuation.definition.string.end.elixir',
226
+ regex: '\\)[a-z]*',
227
+ next: 'pop' },
228
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
229
+ comment: 'sigil (without interpolation)' },
230
+ { token: 'punctuation.definition.string.begin.elixir',
231
+ regex: '~[A-Z][^\\w]',
232
+ push: [{ token: 'punctuation.definition.string.end.elixir',
233
+ regex: '[^\\w][a-z]*',
234
+ next: 'pop' },
235
+ { defaultToken: 'string.quoted.other.literal.upper.elixir' }],
236
+ comment: 'sigil (without interpolation)' },
237
+ { token: ['punctuation.definition.constant.elixir', 'constant.other.symbol.elixir'],
238
+ regex: '(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)',
239
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
240
+ originalRegex: '(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)',
241
+ comment: 'symbols' },
242
+ { token: 'punctuation.definition.constant.elixir',
243
+ regex: '(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)',
244
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
245
+ originalRegex: '(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)',
246
+ comment: 'symbols' },
247
+ { token: ['punctuation.definition.comment.elixir',
248
+ 'comment.line.number-sign.elixir'],
249
+ regex: '(#)(.*)' },
250
+ { token: 'constant.numeric.elixir',
251
+ regex: '\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])',
252
+ TODO: 'FIXME: regexp doesn\'t have js equivalent',
253
+ originalRegex: '(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])',
254
+ comment: '\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (3rd alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t' },
255
+ { token: 'keyword.operator.assignment.augmented.elixir',
256
+ regex: '\\+=|\\-=|\\|\\|=|~=|&&=' },
257
+ { token: 'keyword.operator.comparison.elixir',
258
+ regex: '===?|!==?|<=?|>=?' },
259
+ { token: 'keyword.operator.bitwise.elixir',
260
+ regex: '\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}' },
261
+ { token: 'keyword.operator.logical.elixir',
262
+ regex: '!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b',
263
+ originalRegex: '(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b' },
264
+ { token: 'keyword.operator.arithmetic.elixir',
265
+ regex: '\\*|\\+|\\-|/' },
266
+ { token: 'keyword.operator.other.elixir',
267
+ regex: '\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>' },
268
+ { token: 'keyword.operator.assignment.elixir', regex: '=' },
269
+ { token: 'punctuation.separator.other.elixir', regex: ':' },
270
+ { token: 'punctuation.separator.statement.elixir',
271
+ regex: '\\;' },
272
+ { token: 'punctuation.separator.object.elixir', regex: ',' },
273
+ { token: 'punctuation.separator.method.elixir', regex: '\\.' },
274
+ { token: 'punctuation.section.scope.elixir', regex: '\\{|\\}' },
275
+ { token: 'punctuation.section.array.elixir', regex: '\\[|\\]' },
276
+ { token: 'punctuation.section.function.elixir',
277
+ regex: '\\(|\\)' }],
278
+ '#escaped_char': [{ token: 'constant.character.escape.elixir',
279
+ regex: '\\\\(?:x[\\da-fA-F]{1,2}|.)' }],
280
+ '#interpolated_elixir': [{ token: ['source.elixir.embedded.source',
281
+ 'source.elixir.embedded.source.empty'],
282
+ regex: '(#\\{)(\\})' },
283
+ { todo: { token: 'punctuation.section.embedded.elixir',
284
+ regex: '#\\{',
285
+ push: [{ token: 'punctuation.section.embedded.elixir',
286
+ regex: '\\}',
287
+ next: 'pop' },
288
+ { include: '#nest_curly_and_self' },
289
+ { include: '$self' },
290
+ { defaultToken: 'source.elixir.embedded.source' }] } }],
291
+ '#nest_curly_and_self': [{ token: 'punctuation.section.scope.elixir',
292
+ regex: '\\{',
293
+ push: [{ token: 'punctuation.section.scope.elixir',
294
+ regex: '\\}',
295
+ next: 'pop' },
296
+ { include: '#nest_curly_and_self' }] },
297
+ { include: '$self' }],
298
+ '#regex_sub': [{ include: '#interpolated_elixir' },
299
+ { include: '#escaped_char' },
300
+ { token: ['punctuation.definition.arbitrary-repitition.elixir',
301
+ 'string.regexp.arbitrary-repitition.elixir',
302
+ 'string.regexp.arbitrary-repitition.elixir',
303
+ 'punctuation.definition.arbitrary-repitition.elixir'],
304
+ regex: '(\\{)(\\d+)((?:,\\d+)?)(\\})' },
305
+ { token: 'punctuation.definition.character-class.elixir',
306
+ regex: '\\[(?:\\^?\\])?',
307
+ push: [{ token: 'punctuation.definition.character-class.elixir',
308
+ regex: '\\]',
309
+ next: 'pop' },
310
+ { include: '#escaped_char' },
311
+ { defaultToken: 'string.regexp.character-class.elixir' }] },
312
+ { token: 'punctuation.definition.group.elixir',
313
+ regex: '\\(',
314
+ push: [{ token: 'punctuation.definition.group.elixir',
315
+ regex: '\\)',
316
+ next: 'pop' },
317
+ { include: '#regex_sub' },
318
+ { defaultToken: 'string.regexp.group.elixir' }] },
319
+ { token: ['punctuation.definition.comment.elixir',
320
+ 'comment.line.number-sign.elixir'],
321
+ regex: '(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)',
322
+ originalRegex: '(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$',
323
+ comment: 'We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.' }] };
368
324
  this.normalizeRules();
369
325
  };
370
-
371
326
  ElixirHighlightRules.metaData = { comment: 'Textmate bundle for Elixir Programming Language.',
372
- fileTypes: [ 'ex', 'exs' ],
373
- firstLineMatch: '^#!/.*\\belixir',
374
- foldingStartMarker: '(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$',
375
- foldingStopMarker: '^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)',
376
- keyEquivalent: '^~E',
377
- name: 'Elixir',
378
- scopeName: 'source.elixir' };
379
-
380
-
327
+ fileTypes: ['ex', 'exs'],
328
+ firstLineMatch: '^#!/.*\\belixir',
329
+ foldingStartMarker: '(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$',
330
+ foldingStopMarker: '^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)',
331
+ keyEquivalent: '^~E',
332
+ name: 'Elixir',
333
+ scopeName: 'source.elixir' };
381
334
  oop.inherits(ElixirHighlightRules, TextHighlightRules);
382
-
383
335
  exports.ElixirHighlightRules = ElixirHighlightRules;
384
- });
385
336
 
386
- ace.define("ace/mode/folding/coffee",[], function(require, exports, module) {
387
- "use strict";
337
+ });
388
338
 
339
+ ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module){"use strict";
389
340
  var oop = require("../../lib/oop");
390
341
  var BaseFoldMode = require("./fold_mode").FoldMode;
391
342
  var Range = require("../../range").Range;
392
-
393
- var FoldMode = exports.FoldMode = function() {};
343
+ var FoldMode = exports.FoldMode = function () { };
394
344
  oop.inherits(FoldMode, BaseFoldMode);
395
-
396
- (function() {
397
-
398
- this.getFoldWidgetRange = function(session, foldStyle, row) {
399
- var range = this.indentationBlock(session, row);
400
- if (range)
401
- return range;
402
-
345
+ (function () {
346
+ this.commentBlock = function (session, row) {
403
347
  var re = /\S/;
404
348
  var line = session.getLine(row);
405
349
  var startLevel = line.search(re);
406
350
  if (startLevel == -1 || line[startLevel] != "#")
407
351
  return;
408
-
409
352
  var startColumn = line.length;
410
353
  var maxRow = session.getLength();
411
354
  var startRow = row;
412
355
  var endRow = row;
413
-
414
356
  while (++row < maxRow) {
415
357
  line = session.getLine(row);
416
358
  var level = line.search(re);
417
-
418
359
  if (level == -1)
419
360
  continue;
420
-
421
361
  if (line[level] != "#")
422
362
  break;
423
-
424
363
  endRow = row;
425
364
  }
426
-
427
365
  if (endRow > startRow) {
428
366
  var endColumn = session.getLine(endRow).length;
429
367
  return new Range(startRow, startColumn, endRow, endColumn);
430
368
  }
431
369
  };
432
- this.getFoldWidget = function(session, foldStyle, row) {
370
+ this.getFoldWidgetRange = function (session, foldStyle, row) {
371
+ var range = this.indentationBlock(session, row);
372
+ if (range)
373
+ return range;
374
+ range = this.commentBlock(session, row);
375
+ if (range)
376
+ return range;
377
+ };
378
+ this.getFoldWidget = function (session, foldStyle, row) {
433
379
  var line = session.getLine(row);
434
380
  var indent = line.search(/\S/);
435
381
  var next = session.getLine(row + 1);
436
382
  var prev = session.getLine(row - 1);
437
383
  var prevIndent = prev.search(/\S/);
438
384
  var nextIndent = next.search(/\S/);
439
-
440
385
  if (indent == -1) {
441
- session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
386
+ session.foldWidgets[row - 1] = prevIndent != -1 && prevIndent < nextIndent ? "start" : "";
442
387
  return "";
443
388
  }
444
389
  if (prevIndent == -1) {
@@ -447,50 +392,47 @@ oop.inherits(FoldMode, BaseFoldMode);
447
392
  session.foldWidgets[row + 1] = "";
448
393
  return "start";
449
394
  }
450
- } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
395
+ }
396
+ else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
451
397
  if (session.getLine(row - 2).search(/\S/) == -1) {
452
398
  session.foldWidgets[row - 1] = "start";
453
399
  session.foldWidgets[row + 1] = "";
454
400
  return "";
455
401
  }
456
402
  }
457
-
458
- if (prevIndent!= -1 && prevIndent < indent)
403
+ if (prevIndent != -1 && prevIndent < indent)
459
404
  session.foldWidgets[row - 1] = "start";
460
405
  else
461
406
  session.foldWidgets[row - 1] = "";
462
-
463
407
  if (indent < nextIndent)
464
408
  return "start";
465
409
  else
466
410
  return "";
467
411
  };
468
-
469
412
  }).call(FoldMode.prototype);
470
413
 
471
414
  });
472
415
 
473
- ace.define("ace/mode/elixir",[], function(require, exports, module) {
416
+ ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module){/*
417
+ THIS FILE WAS AUTOGENERATED BY mode.tmpl.js
418
+ */
474
419
  "use strict";
475
-
476
420
  var oop = require("../lib/oop");
477
421
  var TextMode = require("./text").Mode;
478
422
  var ElixirHighlightRules = require("./elixir_highlight_rules").ElixirHighlightRules;
479
423
  var FoldMode = require("./folding/coffee").FoldMode;
480
-
481
- var Mode = function() {
424
+ var Mode = function () {
482
425
  this.HighlightRules = ElixirHighlightRules;
483
426
  this.foldingRules = new FoldMode();
484
427
  this.$behaviour = this.$defaultBehaviour;
485
428
  };
486
429
  oop.inherits(Mode, TextMode);
487
-
488
- (function() {
430
+ (function () {
489
431
  this.lineCommentStart = "#";
490
432
  this.$id = "ace/mode/elixir";
491
433
  }).call(Mode.prototype);
492
-
493
434
  exports.Mode = Mode;
435
+
494
436
  }); (function() {
495
437
  ace.require(["ace/mode/elixir"], function(m) {
496
438
  if (typeof module == "object" && typeof exports == "object" && module) {