@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,201 +1,183 @@
1
- ace.define("ace/mode/csound_preprocessor_highlight_rules",[], function(require, exports, module) {
2
- "use strict";
3
-
1
+ ace.define("ace/mode/csound_preprocessor_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
4
2
  var oop = require("../lib/oop");
5
-
6
3
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
7
-
8
- var CsoundPreprocessorHighlightRules = function(embeddedRulePrefix) {
9
-
4
+ var CsoundPreprocessorHighlightRules = function (embeddedRulePrefix) {
10
5
  this.embeddedRulePrefix = embeddedRulePrefix === undefined ? "" : embeddedRulePrefix;
11
-
12
6
  this.semicolonComments = {
13
- token : "comment.line.semicolon.csound",
14
- regex : ";.*$"
7
+ token: "comment.line.semicolon.csound",
8
+ regex: ";.*$"
15
9
  };
16
-
17
10
  this.comments = [
18
11
  {
19
- token : "punctuation.definition.comment.begin.csound",
20
- regex : "/\\*",
21
- push : [
12
+ token: "punctuation.definition.comment.begin.csound",
13
+ regex: "/\\*",
14
+ push: [
22
15
  {
23
- token : "punctuation.definition.comment.end.csound",
24
- regex : "\\*/",
25
- next : "pop"
16
+ token: "punctuation.definition.comment.end.csound",
17
+ regex: "\\*/",
18
+ next: "pop"
26
19
  }, {
27
20
  defaultToken: "comment.block.csound"
28
21
  }
29
22
  ]
30
23
  }, {
31
- token : "comment.line.double-slash.csound",
32
- regex : "//.*$"
24
+ token: "comment.line.double-slash.csound",
25
+ regex: "//.*$"
33
26
  },
34
27
  this.semicolonComments
35
28
  ];
36
-
37
29
  this.macroUses = [
38
30
  {
39
- token : ["entity.name.function.preprocessor.csound", "punctuation.definition.macro-parameter-value-list.begin.csound"],
40
- regex : /(\$[A-Z_a-z]\w*\.?)(\()/,
41
- next : "macro parameter value list"
31
+ token: ["entity.name.function.preprocessor.csound", "punctuation.definition.macro-parameter-value-list.begin.csound"],
32
+ regex: /(\$[A-Z_a-z]\w*\.?)(\()/,
33
+ next: "macro parameter value list"
42
34
  }, {
43
- token : "entity.name.function.preprocessor.csound",
44
- regex : /\$[A-Z_a-z]\w*(?:\.|\b)/
35
+ token: "entity.name.function.preprocessor.csound",
36
+ regex: /\$[A-Z_a-z]\w*(?:\.|\b)/
45
37
  }
46
38
  ];
47
-
48
39
  this.numbers = [
49
40
  {
50
- token : "constant.numeric.float.csound",
51
- regex : /(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/
41
+ token: "constant.numeric.float.csound",
42
+ regex: /(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/
52
43
  }, {
53
- token : ["storage.type.number.csound", "constant.numeric.integer.hexadecimal.csound"],
54
- regex : /(0[Xx])([0-9A-Fa-f]+)/
44
+ token: ["storage.type.number.csound", "constant.numeric.integer.hexadecimal.csound"],
45
+ regex: /(0[Xx])([0-9A-Fa-f]+)/
55
46
  }, {
56
- token : "constant.numeric.integer.decimal.csound",
57
- regex : /\d+/
47
+ token: "constant.numeric.integer.decimal.csound",
48
+ regex: /\d+/
58
49
  }
59
50
  ];
60
-
61
51
  this.bracedStringContents = [
62
52
  {
63
- token : "constant.character.escape.csound",
64
- regex : /\\(?:[\\abnrt"]|[0-7]{1,3})/
53
+ token: "constant.character.escape.csound",
54
+ regex: /\\(?:[\\abnrt"]|[0-7]{1,3})/
65
55
  },
66
56
  {
67
- token : "constant.character.placeholder.csound",
68
- regex : /%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/
57
+ token: "constant.character.placeholder.csound",
58
+ regex: /%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/
69
59
  }, {
70
- token : "constant.character.escape.csound",
71
- regex : /%%/
60
+ token: "constant.character.escape.csound",
61
+ regex: /%%/
72
62
  }
73
63
  ];
74
-
75
64
  this.quotedStringContents = [
76
65
  this.macroUses,
77
66
  this.bracedStringContents
78
67
  ];
79
-
80
68
  var start = [
81
69
  this.comments,
82
-
83
70
  {
84
- token : "keyword.preprocessor.csound",
85
- regex : /#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/
71
+ token: "keyword.preprocessor.csound",
72
+ regex: /#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/
86
73
  }, {
87
- token : "keyword.preprocessor.csound",
88
- regex : /#include/,
89
- push : [
74
+ token: "keyword.preprocessor.csound",
75
+ regex: /#include/,
76
+ push: [
90
77
  this.comments,
91
78
  {
92
- token : "string.csound",
93
- regex : /([^ \t])(?:.*?\1)/,
94
- next : "pop"
79
+ token: "string.csound",
80
+ regex: /([^ \t])(?:.*?\1)/,
81
+ next: "pop"
95
82
  }
96
83
  ]
97
84
  }, {
98
- token : "keyword.preprocessor.csound",
99
- regex : /#includestr/,
100
- push : [
85
+ token: "keyword.preprocessor.csound",
86
+ regex: /#includestr/,
87
+ push: [
101
88
  this.comments,
102
89
  {
103
- token : "string.csound",
104
- regex : /([^ \t])(?:.*?\1)/,
105
- next : "pop"
90
+ token: "string.csound",
91
+ regex: /([^ \t])(?:.*?\1)/,
92
+ next: "pop"
106
93
  }
107
94
  ]
108
95
  }, {
109
- token : "keyword.preprocessor.csound",
110
- regex : /#[ \t]*define/,
111
- next : "define directive"
96
+ token: "keyword.preprocessor.csound",
97
+ regex: /#[ \t]*define/,
98
+ next: "define directive"
112
99
  }, {
113
- token : "keyword.preprocessor.csound",
114
- regex : /#(?:ifn?def|undef)\b/,
115
- next : "macro directive"
100
+ token: "keyword.preprocessor.csound",
101
+ regex: /#(?:ifn?def|undef)\b/,
102
+ next: "macro directive"
116
103
  },
117
-
118
104
  this.macroUses
119
105
  ];
120
-
121
106
  this.$rules = {
122
107
  "start": start,
123
-
124
108
  "define directive": [
125
109
  this.comments,
126
110
  {
127
- token : "entity.name.function.preprocessor.csound",
128
- regex : /[A-Z_a-z]\w*/
111
+ token: "entity.name.function.preprocessor.csound",
112
+ regex: /[A-Z_a-z]\w*/
129
113
  }, {
130
- token : "punctuation.definition.macro-parameter-name-list.begin.csound",
131
- regex : /\(/,
132
- next : "macro parameter name list"
114
+ token: "punctuation.definition.macro-parameter-name-list.begin.csound",
115
+ regex: /\(/,
116
+ next: "macro parameter name list"
133
117
  }, {
134
- token : "punctuation.definition.macro.begin.csound",
135
- regex : /#/,
136
- next : "macro body"
118
+ token: "punctuation.definition.macro.begin.csound",
119
+ regex: /#/,
120
+ next: "macro body"
137
121
  }
138
122
  ],
139
123
  "macro parameter name list": [
140
124
  {
141
- token : "variable.parameter.preprocessor.csound",
142
- regex : /[A-Z_a-z]\w*/
125
+ token: "variable.parameter.preprocessor.csound",
126
+ regex: /[A-Z_a-z]\w*/
143
127
  }, {
144
- token : "punctuation.definition.macro-parameter-name-list.end.csound",
145
- regex : /\)/,
146
- next : "define directive"
128
+ token: "punctuation.definition.macro-parameter-name-list.end.csound",
129
+ regex: /\)/,
130
+ next: "define directive"
147
131
  }
148
132
  ],
149
133
  "macro body": [
150
134
  {
151
- token : "constant.character.escape.csound",
152
- regex : /\\#/
135
+ token: "constant.character.escape.csound",
136
+ regex: /\\#/
153
137
  }, {
154
- token : "punctuation.definition.macro.end.csound",
155
- regex : /#/,
156
- next : "start"
138
+ token: "punctuation.definition.macro.end.csound",
139
+ regex: /#/,
140
+ next: "start"
157
141
  },
158
142
  start
159
143
  ],
160
-
161
144
  "macro directive": [
162
145
  this.comments,
163
146
  {
164
- token : "entity.name.function.preprocessor.csound",
165
- regex : /[A-Z_a-z]\w*/,
166
- next : "start"
147
+ token: "entity.name.function.preprocessor.csound",
148
+ regex: /[A-Z_a-z]\w*/,
149
+ next: "start"
167
150
  }
168
151
  ],
169
-
170
152
  "macro parameter value list": [
171
153
  {
172
- token : "punctuation.definition.macro-parameter-value-list.end.csound",
173
- regex : /\)/,
174
- next : "start"
154
+ token: "punctuation.definition.macro-parameter-value-list.end.csound",
155
+ regex: /\)/,
156
+ next: "start"
175
157
  }, {
176
- token : "punctuation.definition.string.begin.csound",
177
- regex : /"/,
178
- next : "macro parameter value quoted string"
158
+ token: "punctuation.definition.string.begin.csound",
159
+ regex: /"/,
160
+ next: "macro parameter value quoted string"
179
161
  }, this.pushRule({
180
- token : "punctuation.macro-parameter-value-parenthetical.begin.csound",
181
- regex : /\(/,
182
- next : "macro parameter value parenthetical"
162
+ token: "punctuation.macro-parameter-value-parenthetical.begin.csound",
163
+ regex: /\(/,
164
+ next: "macro parameter value parenthetical"
183
165
  }), {
184
- token : "punctuation.macro-parameter-value-separator.csound",
185
- regex : "[#']"
166
+ token: "punctuation.macro-parameter-value-separator.csound",
167
+ regex: "[#']"
186
168
  }
187
169
  ],
188
170
  "macro parameter value quoted string": [
189
171
  {
190
- token : "constant.character.escape.csound",
191
- regex : /\\[#'()]/
172
+ token: "constant.character.escape.csound",
173
+ regex: /\\[#'()]/
192
174
  }, {
193
- token : "invalid.illegal.csound",
194
- regex : /[#'()]/
175
+ token: "invalid.illegal.csound",
176
+ regex: /[#'()]/
195
177
  }, {
196
- token : "punctuation.definition.string.end.csound",
197
- regex : /"/,
198
- next : "macro parameter value list"
178
+ token: "punctuation.definition.string.end.csound",
179
+ regex: /"/,
180
+ next: "macro parameter value list"
199
181
  },
200
182
  this.quotedStringContents,
201
183
  {
@@ -204,277 +186,235 @@ var CsoundPreprocessorHighlightRules = function(embeddedRulePrefix) {
204
186
  ],
205
187
  "macro parameter value parenthetical": [
206
188
  {
207
- token : "constant.character.escape.csound",
208
- regex : /\\\)/
189
+ token: "constant.character.escape.csound",
190
+ regex: /\\\)/
209
191
  }, this.popRule({
210
- token : "punctuation.macro-parameter-value-parenthetical.end.csound",
211
- regex : /\)/
192
+ token: "punctuation.macro-parameter-value-parenthetical.end.csound",
193
+ regex: /\)/
212
194
  }), this.pushRule({
213
- token : "punctuation.macro-parameter-value-parenthetical.begin.csound",
214
- regex : /\(/,
215
- next : "macro parameter value parenthetical"
195
+ token: "punctuation.macro-parameter-value-parenthetical.begin.csound",
196
+ regex: /\(/,
197
+ next: "macro parameter value parenthetical"
216
198
  }),
217
199
  start
218
200
  ]
219
201
  };
220
202
  };
221
-
222
203
  oop.inherits(CsoundPreprocessorHighlightRules, TextHighlightRules);
223
-
224
- (function() {
225
-
226
- this.pushRule = function(params) {
204
+ (function () {
205
+ this.pushRule = function (params) {
227
206
  if (Array.isArray(params.next)) {
228
207
  for (var i = 0; i < params.next.length; i++) {
229
208
  params.next[i] = this.embeddedRulePrefix + params.next[i];
230
209
  }
231
210
  }
232
-
233
211
  return {
234
- regex : params.regex, onMatch: function(value, currentState, stack, line) {
212
+ regex: params.regex, onMatch: function (value, currentState, stack, line) {
235
213
  if (stack.length === 0)
236
214
  stack.push(currentState);
237
215
  if (Array.isArray(params.next)) {
238
216
  for (var i = 0; i < params.next.length; i++) {
239
217
  stack.push(params.next[i]);
240
218
  }
241
- } else {
219
+ }
220
+ else {
242
221
  stack.push(params.next);
243
222
  }
244
223
  this.next = stack[stack.length - 1];
245
224
  return params.token;
246
225
  },
247
-
248
226
  get next() { return Array.isArray(params.next) ? params.next[params.next.length - 1] : params.next; },
249
227
  set next(next) {
250
228
  if (!Array.isArray(params.next)) {
251
229
  params.next = next;
252
230
  }
253
231
  },
254
-
255
232
  get token() { return params.token; }
256
233
  };
257
234
  };
258
-
259
- this.popRule = function(params) {
235
+ this.popRule = function (params) {
260
236
  if (params.next) {
261
237
  params.next = this.embeddedRulePrefix + params.next;
262
238
  }
263
-
264
239
  return {
265
- regex : params.regex, onMatch: function(value, currentState, stack, line) {
240
+ regex: params.regex, onMatch: function (value, currentState, stack, line) {
266
241
  stack.pop();
267
242
  if (params.next) {
268
243
  stack.push(params.next);
269
244
  this.next = stack[stack.length - 1];
270
- } else {
245
+ }
246
+ else {
271
247
  this.next = stack.length > 1 ? stack[stack.length - 1] : stack.pop();
272
248
  }
273
249
  return params.token;
274
250
  }
275
251
  };
276
252
  };
277
-
278
253
  }).call(CsoundPreprocessorHighlightRules.prototype);
279
-
280
254
  exports.CsoundPreprocessorHighlightRules = CsoundPreprocessorHighlightRules;
281
- });
282
255
 
283
- ace.define("ace/mode/csound_score_highlight_rules",[], function(require, exports, module) {
284
- "use strict";
256
+ });
285
257
 
258
+ ace.define("ace/mode/csound_score_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules"], function(require, exports, module){"use strict";
286
259
  var oop = require("../lib/oop");
287
-
288
260
  var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;
289
-
290
- var CsoundScoreHighlightRules = function(embeddedRulePrefix) {
291
-
261
+ var CsoundScoreHighlightRules = function (embeddedRulePrefix) {
292
262
  CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);
293
-
294
263
  this.quotedStringContents.push({
295
- token : "invalid.illegal.csound-score",
296
- regex : /[^"]*$/
264
+ token: "invalid.illegal.csound-score",
265
+ regex: /[^"]*$/
297
266
  });
298
-
299
267
  var start = this.$rules.start;
300
- start.push(
301
- {
302
- token : "keyword.control.csound-score",
303
- regex : /[aBbCdefiqstvxy]/
304
- }, {
305
- token : "invalid.illegal.csound-score",
306
- regex : /w/
307
- }, {
308
- token : "constant.numeric.language.csound-score",
309
- regex : /z/
310
- }, {
311
- token : ["keyword.control.csound-score", "constant.numeric.integer.decimal.csound-score"],
312
- regex : /([nNpP][pP])(\d+)/
313
- }, {
314
- token : "keyword.other.csound-score",
315
- regex : /[mn]/,
316
- push : [
317
- {
318
- token : "empty",
319
- regex : /$/,
320
- next : "pop"
321
- },
322
- this.comments,
323
- {
324
- token : "entity.name.label.csound-score",
325
- regex : /[A-Z_a-z]\w*/
326
- }
327
- ]
328
- }, {
329
- token : "keyword.preprocessor.csound-score",
330
- regex : /r\b/,
331
- next : "repeat section"
332
- },
333
-
334
- this.numbers,
335
-
336
- {
337
- token : "keyword.operator.csound-score",
338
- regex : "[!+\\-*/^%&|<>#~.]"
339
- },
340
-
341
- this.pushRule({
342
- token : "punctuation.definition.string.begin.csound-score",
343
- regex : /"/,
344
- next : "quoted string"
345
- }),
346
-
347
- this.pushRule({
348
- token : "punctuation.braced-loop.begin.csound-score",
349
- regex : /{/,
350
- next : "loop after left brace"
351
- })
352
- );
353
-
268
+ start.push({
269
+ token: "keyword.control.csound-score",
270
+ regex: /[aBbCdefiqstvxy]/
271
+ }, {
272
+ token: "invalid.illegal.csound-score",
273
+ regex: /w/
274
+ }, {
275
+ token: "constant.numeric.language.csound-score",
276
+ regex: /z/
277
+ }, {
278
+ token: ["keyword.control.csound-score", "constant.numeric.integer.decimal.csound-score"],
279
+ regex: /([nNpP][pP])(\d+)/
280
+ }, {
281
+ token: "keyword.other.csound-score",
282
+ regex: /[mn]/,
283
+ push: [
284
+ {
285
+ token: "empty",
286
+ regex: /$/,
287
+ next: "pop"
288
+ },
289
+ this.comments,
290
+ {
291
+ token: "entity.name.label.csound-score",
292
+ regex: /[A-Z_a-z]\w*/
293
+ }
294
+ ]
295
+ }, {
296
+ token: "keyword.preprocessor.csound-score",
297
+ regex: /r\b/,
298
+ next: "repeat section"
299
+ }, this.numbers, {
300
+ token: "keyword.operator.csound-score",
301
+ regex: "[!+\\-*/^%&|<>#~.]"
302
+ }, this.pushRule({
303
+ token: "punctuation.definition.string.begin.csound-score",
304
+ regex: /"/,
305
+ next: "quoted string"
306
+ }), this.pushRule({
307
+ token: "punctuation.braced-loop.begin.csound-score",
308
+ regex: /{/,
309
+ next: "loop after left brace"
310
+ }));
354
311
  this.addRules({
355
312
  "repeat section": [
356
313
  {
357
- token : "empty",
358
- regex : /$/,
359
- next : "start"
314
+ token: "empty",
315
+ regex: /$/,
316
+ next: "start"
360
317
  },
361
318
  this.comments,
362
319
  {
363
- token : "constant.numeric.integer.decimal.csound-score",
364
- regex : /\d+/,
365
- next : "repeat section before label"
320
+ token: "constant.numeric.integer.decimal.csound-score",
321
+ regex: /\d+/,
322
+ next: "repeat section before label"
366
323
  }
367
324
  ],
368
325
  "repeat section before label": [
369
326
  {
370
- token : "empty",
371
- regex : /$/,
372
- next : "start"
327
+ token: "empty",
328
+ regex: /$/,
329
+ next: "start"
373
330
  },
374
331
  this.comments,
375
332
  {
376
- token : "entity.name.label.csound-score",
377
- regex : /[A-Z_a-z]\w*/,
378
- next : "start"
333
+ token: "entity.name.label.csound-score",
334
+ regex: /[A-Z_a-z]\w*/,
335
+ next: "start"
379
336
  }
380
337
  ],
381
-
382
338
  "quoted string": [
383
339
  this.popRule({
384
- token : "punctuation.definition.string.end.csound-score",
385
- regex : /"/
340
+ token: "punctuation.definition.string.end.csound-score",
341
+ regex: /"/
386
342
  }),
387
343
  this.quotedStringContents,
388
344
  {
389
345
  defaultToken: "string.quoted.csound-score"
390
346
  }
391
347
  ],
392
-
393
348
  "loop after left brace": [
394
349
  this.popRule({
395
- token : "constant.numeric.integer.decimal.csound-score",
396
- regex : /\d+/,
397
- next : "loop after repeat count"
350
+ token: "constant.numeric.integer.decimal.csound-score",
351
+ regex: /\d+/,
352
+ next: "loop after repeat count"
398
353
  }),
399
354
  this.comments,
400
355
  {
401
- token : "invalid.illegal.csound",
402
- regex : /\S.*/
356
+ token: "invalid.illegal.csound",
357
+ regex: /\S.*/
403
358
  }
404
359
  ],
405
360
  "loop after repeat count": [
406
361
  this.popRule({
407
- token : "entity.name.function.preprocessor.csound-score",
408
- regex : /[A-Z_a-z]\w*\b/,
409
- next : "loop after macro name"
362
+ token: "entity.name.function.preprocessor.csound-score",
363
+ regex: /[A-Z_a-z]\w*\b/,
364
+ next: "loop after macro name"
410
365
  }),
411
366
  this.comments,
412
367
  {
413
- token : "invalid.illegal.csound",
414
- regex : /\S.*/
368
+ token: "invalid.illegal.csound",
369
+ regex: /\S.*/
415
370
  }
416
371
  ],
417
372
  "loop after macro name": [
418
373
  start,
419
374
  this.popRule({
420
- token : "punctuation.braced-loop.end.csound-score",
421
- regex : /}/
375
+ token: "punctuation.braced-loop.end.csound-score",
376
+ regex: /}/
422
377
  })
423
378
  ]
424
379
  });
425
-
426
380
  this.normalizeRules();
427
381
  };
428
-
429
382
  oop.inherits(CsoundScoreHighlightRules, CsoundPreprocessorHighlightRules);
430
-
431
383
  exports.CsoundScoreHighlightRules = CsoundScoreHighlightRules;
432
- });
433
384
 
434
- ace.define("ace/mode/lua_highlight_rules",[], function(require, exports, module) {
435
- "use strict";
385
+ });
436
386
 
387
+ ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
437
388
  var oop = require("../lib/oop");
438
389
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
439
-
440
- var LuaHighlightRules = function() {
441
-
442
- var keywords = (
443
- "break|do|else|elseif|end|for|function|if|in|local|repeat|"+
444
- "return|then|until|while|or|and|not"
445
- );
446
-
390
+ var LuaHighlightRules = function () {
391
+ var keywords = ("break|do|else|elseif|end|for|function|if|in|local|repeat|" +
392
+ "return|then|until|while|or|and|not");
447
393
  var builtinConstants = ("true|false|nil|_G|_VERSION");
448
-
449
394
  var functions = (
450
- "string|xpcall|package|tostring|print|os|unpack|require|"+
451
- "getfenv|setmetatable|next|assert|tonumber|io|rawequal|"+
452
- "collectgarbage|getmetatable|module|rawset|math|debug|"+
453
- "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|"+
454
- "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|"+
455
- "load|error|loadfile|"+
456
-
457
- "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|"+
458
- "reverse|byte|format|gsub|lower|preload|loadlib|loaded|"+
459
- "loaders|cpath|config|path|seeall|exit|setlocale|date|"+
460
- "getenv|difftime|remove|time|clock|tmpname|rename|execute|"+
461
- "lines|write|close|flush|open|output|type|read|stderr|"+
462
- "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|"+
463
- "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|"+
464
- "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|"+
465
- "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|"+
466
- "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|"+
467
- "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|"+
468
- "foreachi|maxn|foreach|concat|sort|remove|resume|yield|"+
469
- "status|wrap|create|running|"+
470
- "__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|"+
471
- "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber"
472
- );
473
-
395
+ "string|xpcall|package|tostring|print|os|unpack|require|" +
396
+ "getfenv|setmetatable|next|assert|tonumber|io|rawequal|" +
397
+ "collectgarbage|getmetatable|module|rawset|math|debug|" +
398
+ "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|" +
399
+ "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|" +
400
+ "load|error|loadfile|" +
401
+ "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|" +
402
+ "reverse|byte|format|gsub|lower|preload|loadlib|loaded|" +
403
+ "loaders|cpath|config|path|seeall|exit|setlocale|date|" +
404
+ "getenv|difftime|remove|time|clock|tmpname|rename|execute|" +
405
+ "lines|write|close|flush|open|output|type|read|stderr|" +
406
+ "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|" +
407
+ "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|" +
408
+ "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|" +
409
+ "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|" +
410
+ "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|" +
411
+ "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|" +
412
+ "foreachi|maxn|foreach|concat|sort|remove|resume|yield|" +
413
+ "status|wrap|create|running|" +
414
+ "__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|" +
415
+ "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber");
474
416
  var stdLibaries = ("string|package|os|io|math|debug|table|coroutine");
475
-
476
417
  var deprecatedIn5152 = ("setn|foreach|foreachi|gcinfo|log10|maxn");
477
-
478
418
  var keywordMapper = this.createKeywordMapper({
479
419
  "keyword": keywords,
480
420
  "support.function": functions,
@@ -483,133 +423,120 @@ var LuaHighlightRules = function() {
483
423
  "constant.language": builtinConstants,
484
424
  "variable.language": "self"
485
425
  }, "identifier");
486
-
487
426
  var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
488
427
  var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
489
428
  var integer = "(?:" + decimalInteger + "|" + hexInteger + ")";
490
-
491
429
  var fraction = "(?:\\.\\d+)";
492
430
  var intPart = "(?:\\d+)";
493
431
  var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
494
432
  var floatNumber = "(?:" + pointFloat + ")";
495
-
496
433
  this.$rules = {
497
- "start" : [{
498
- stateName: "bracketedComment",
499
- onMatch : function(value, currentState, stack){
500
- stack.unshift(this.next, value.length - 2, currentState);
501
- return "comment";
434
+ "start": [{
435
+ stateName: "bracketedComment",
436
+ onMatch: function (value, currentState, stack) {
437
+ stack.unshift(this.next, value.length - 2, currentState);
438
+ return "comment";
439
+ },
440
+ regex: /\-\-\[=*\[/,
441
+ next: [
442
+ {
443
+ onMatch: function (value, currentState, stack) {
444
+ if (value.length == stack[1]) {
445
+ stack.shift();
446
+ stack.shift();
447
+ this.next = stack.shift();
448
+ }
449
+ else {
450
+ this.next = "";
451
+ }
452
+ return "comment";
453
+ },
454
+ regex: /\]=*\]/,
455
+ next: "start"
456
+ }, {
457
+ defaultToken: "comment"
458
+ }
459
+ ]
502
460
  },
503
- regex : /\-\-\[=*\[/,
504
- next : [
505
- {
506
- onMatch : function(value, currentState, stack) {
507
- if (value.length == stack[1]) {
508
- stack.shift();
509
- stack.shift();
510
- this.next = stack.shift();
511
- } else {
512
- this.next = "";
513
- }
514
- return "comment";
515
- },
516
- regex : /\]=*\]/,
517
- next : "start"
518
- }, {
519
- defaultToken : "comment"
520
- }
521
- ]
522
- },
523
-
524
- {
525
- token : "comment",
526
- regex : "\\-\\-.*$"
527
- },
528
- {
529
- stateName: "bracketedString",
530
- onMatch : function(value, currentState, stack){
531
- stack.unshift(this.next, value.length, currentState);
532
- return "string.start";
461
+ {
462
+ token: "comment",
463
+ regex: "\\-\\-.*$"
533
464
  },
534
- regex : /\[=*\[/,
535
- next : [
536
- {
537
- onMatch : function(value, currentState, stack) {
538
- if (value.length == stack[1]) {
539
- stack.shift();
540
- stack.shift();
541
- this.next = stack.shift();
542
- } else {
543
- this.next = "";
544
- }
545
- return "string.end";
546
- },
547
-
548
- regex : /\]=*\]/,
549
- next : "start"
550
- }, {
551
- defaultToken : "string"
552
- }
553
- ]
554
- },
555
- {
556
- token : "string", // " string
557
- regex : '"(?:[^\\\\]|\\\\.)*?"'
558
- }, {
559
- token : "string", // ' string
560
- regex : "'(?:[^\\\\]|\\\\.)*?'"
561
- }, {
562
- token : "constant.numeric", // float
563
- regex : floatNumber
564
- }, {
565
- token : "constant.numeric", // integer
566
- regex : integer + "\\b"
567
- }, {
568
- token : keywordMapper,
569
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
570
- }, {
571
- token : "keyword.operator",
572
- regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
573
- }, {
574
- token : "paren.lparen",
575
- regex : "[\\[\\(\\{]"
576
- }, {
577
- token : "paren.rparen",
578
- regex : "[\\]\\)\\}]"
579
- }, {
580
- token : "text",
581
- regex : "\\s+|\\w+"
582
- } ]
465
+ {
466
+ stateName: "bracketedString",
467
+ onMatch: function (value, currentState, stack) {
468
+ stack.unshift(this.next, value.length, currentState);
469
+ return "string.start";
470
+ },
471
+ regex: /\[=*\[/,
472
+ next: [
473
+ {
474
+ onMatch: function (value, currentState, stack) {
475
+ if (value.length == stack[1]) {
476
+ stack.shift();
477
+ stack.shift();
478
+ this.next = stack.shift();
479
+ }
480
+ else {
481
+ this.next = "";
482
+ }
483
+ return "string.end";
484
+ },
485
+ regex: /\]=*\]/,
486
+ next: "start"
487
+ }, {
488
+ defaultToken: "string"
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ token: "string",
494
+ regex: '"(?:[^\\\\]|\\\\.)*?"'
495
+ }, {
496
+ token: "string",
497
+ regex: "'(?:[^\\\\]|\\\\.)*?'"
498
+ }, {
499
+ token: "constant.numeric",
500
+ regex: floatNumber
501
+ }, {
502
+ token: "constant.numeric",
503
+ regex: integer + "\\b"
504
+ }, {
505
+ token: keywordMapper,
506
+ regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
507
+ }, {
508
+ token: "keyword.operator",
509
+ regex: "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
510
+ }, {
511
+ token: "paren.lparen",
512
+ regex: "[\\[\\(\\{]"
513
+ }, {
514
+ token: "paren.rparen",
515
+ regex: "[\\]\\)\\}]"
516
+ }, {
517
+ token: "text",
518
+ regex: "\\s+|\\w+"
519
+ }]
583
520
  };
584
-
585
521
  this.normalizeRules();
586
522
  };
587
-
588
523
  oop.inherits(LuaHighlightRules, TextHighlightRules);
589
-
590
524
  exports.LuaHighlightRules = LuaHighlightRules;
525
+
591
526
  });
592
527
 
593
- ace.define("ace/mode/python_highlight_rules",[], function(require, exports, module) {
528
+ ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){/*
529
+ * TODO: python delimiters
530
+ */
594
531
  "use strict";
595
-
596
532
  var oop = require("../lib/oop");
597
533
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
598
-
599
- var PythonHighlightRules = function() {
600
-
601
- var keywords = (
602
- "and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +
534
+ var PythonHighlightRules = function () {
535
+ var keywords = ("and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +
603
536
  "finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +
604
- "raise|return|try|while|with|yield|async|await|nonlocal"
605
- );
606
-
607
- var builtinConstants = (
608
- "True|False|None|NotImplemented|Ellipsis|__debug__"
609
- );
610
-
611
- var builtinFunctions = (
612
- "abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +
537
+ "raise|return|try|while|with|yield|async|await|nonlocal");
538
+ var builtinConstants = ("True|False|None|NotImplemented|Ellipsis|__debug__");
539
+ var builtinFunctions = ("abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +
613
540
  "eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +
614
541
  "binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|" +
615
542
  "float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +
@@ -617,8 +544,7 @@ var PythonHighlightRules = function() {
617
544
  "cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +
618
545
  "__import__|complex|hash|min|apply|delattr|help|next|setattr|set|" +
619
546
  "buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|" +
620
- "ascii|breakpoint|bytes"
621
- );
547
+ "ascii|breakpoint|bytes");
622
548
  var keywordMapper = this.createKeywordMapper({
623
549
  "invalid.deprecated": "debugger",
624
550
  "support.function": builtinFunctions,
@@ -626,7 +552,6 @@ var PythonHighlightRules = function() {
626
552
  "constant.language": builtinConstants,
627
553
  "keyword": keywords
628
554
  }, "identifier");
629
-
630
555
  var strPre = "[uU]?";
631
556
  var strRawPre = "[rR]";
632
557
  var strFormatPre = "[fF]";
@@ -636,364 +561,358 @@ var PythonHighlightRules = function() {
636
561
  var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
637
562
  var binInteger = "(?:0[bB][01]+)";
638
563
  var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
639
-
640
564
  var exponent = "(?:[eE][+-]?\\d+)";
641
565
  var fraction = "(?:\\.\\d+)";
642
566
  var intPart = "(?:\\d+)";
643
567
  var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
644
568
  var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + exponent + ")";
645
569
  var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
646
-
647
570
  var stringEscape = "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";
648
-
649
571
  this.$rules = {
650
- "start" : [ {
651
- token : "comment",
652
- regex : "#.*$"
653
- }, {
654
- token : "string", // multi line """ string start
655
- regex : strPre + '"{3}',
656
- next : "qqstring3"
657
- }, {
658
- token : "string", // " string
659
- regex : strPre + '"(?=.)',
660
- next : "qqstring"
661
- }, {
662
- token : "string", // multi line ''' string start
663
- regex : strPre + "'{3}",
664
- next : "qstring3"
665
- }, {
666
- token : "string", // ' string
667
- regex : strPre + "'(?=.)",
668
- next : "qstring"
669
- }, {
670
- token: "string",
671
- regex: strRawPre + '"{3}',
672
- next: "rawqqstring3"
673
- }, {
674
- token: "string",
675
- regex: strRawPre + '"(?=.)',
676
- next: "rawqqstring"
677
- }, {
678
- token: "string",
679
- regex: strRawPre + "'{3}",
680
- next: "rawqstring3"
681
- }, {
682
- token: "string",
683
- regex: strRawPre + "'(?=.)",
684
- next: "rawqstring"
685
- }, {
686
- token: "string",
687
- regex: strFormatPre + '"{3}',
688
- next: "fqqstring3"
689
- }, {
690
- token: "string",
691
- regex: strFormatPre + '"(?=.)',
692
- next: "fqqstring"
693
- }, {
694
- token: "string",
695
- regex: strFormatPre + "'{3}",
696
- next: "fqstring3"
697
- }, {
698
- token: "string",
699
- regex: strFormatPre + "'(?=.)",
700
- next: "fqstring"
701
- },{
702
- token: "string",
703
- regex: strRawFormatPre + '"{3}',
704
- next: "rfqqstring3"
705
- }, {
706
- token: "string",
707
- regex: strRawFormatPre + '"(?=.)',
708
- next: "rfqqstring"
709
- }, {
710
- token: "string",
711
- regex: strRawFormatPre + "'{3}",
712
- next: "rfqstring3"
713
- }, {
714
- token: "string",
715
- regex: strRawFormatPre + "'(?=.)",
716
- next: "rfqstring"
717
- }, {
718
- token: "keyword.operator",
719
- regex: "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
720
- }, {
721
- token: "punctuation",
722
- regex: ",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="
723
- }, {
724
- token: "paren.lparen",
725
- regex: "[\\[\\(\\{]"
726
- }, {
727
- token: "paren.rparen",
728
- regex: "[\\]\\)\\}]"
729
- }, {
730
- token: "text",
731
- regex: "\\s+"
732
- }, {
733
- include: "constants"
734
- }],
572
+ "start": [{
573
+ token: "comment",
574
+ regex: "#.*$"
575
+ }, {
576
+ token: "string",
577
+ regex: strPre + '"{3}',
578
+ next: "qqstring3"
579
+ }, {
580
+ token: "string",
581
+ regex: strPre + '"(?=.)',
582
+ next: "qqstring"
583
+ }, {
584
+ token: "string",
585
+ regex: strPre + "'{3}",
586
+ next: "qstring3"
587
+ }, {
588
+ token: "string",
589
+ regex: strPre + "'(?=.)",
590
+ next: "qstring"
591
+ }, {
592
+ token: "string",
593
+ regex: strRawPre + '"{3}',
594
+ next: "rawqqstring3"
595
+ }, {
596
+ token: "string",
597
+ regex: strRawPre + '"(?=.)',
598
+ next: "rawqqstring"
599
+ }, {
600
+ token: "string",
601
+ regex: strRawPre + "'{3}",
602
+ next: "rawqstring3"
603
+ }, {
604
+ token: "string",
605
+ regex: strRawPre + "'(?=.)",
606
+ next: "rawqstring"
607
+ }, {
608
+ token: "string",
609
+ regex: strFormatPre + '"{3}',
610
+ next: "fqqstring3"
611
+ }, {
612
+ token: "string",
613
+ regex: strFormatPre + '"(?=.)',
614
+ next: "fqqstring"
615
+ }, {
616
+ token: "string",
617
+ regex: strFormatPre + "'{3}",
618
+ next: "fqstring3"
619
+ }, {
620
+ token: "string",
621
+ regex: strFormatPre + "'(?=.)",
622
+ next: "fqstring"
623
+ }, {
624
+ token: "string",
625
+ regex: strRawFormatPre + '"{3}',
626
+ next: "rfqqstring3"
627
+ }, {
628
+ token: "string",
629
+ regex: strRawFormatPre + '"(?=.)',
630
+ next: "rfqqstring"
631
+ }, {
632
+ token: "string",
633
+ regex: strRawFormatPre + "'{3}",
634
+ next: "rfqstring3"
635
+ }, {
636
+ token: "string",
637
+ regex: strRawFormatPre + "'(?=.)",
638
+ next: "rfqstring"
639
+ }, {
640
+ token: "keyword.operator",
641
+ regex: "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
642
+ }, {
643
+ token: "punctuation",
644
+ regex: ",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="
645
+ }, {
646
+ token: "paren.lparen",
647
+ regex: "[\\[\\(\\{]"
648
+ }, {
649
+ token: "paren.rparen",
650
+ regex: "[\\]\\)\\}]"
651
+ }, {
652
+ token: ["keyword", "text", "entity.name.function"],
653
+ regex: "(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"
654
+ }, {
655
+ token: "text",
656
+ regex: "\\s+"
657
+ }, {
658
+ include: "constants"
659
+ }],
735
660
  "qqstring3": [{
736
- token: "constant.language.escape",
737
- regex: stringEscape
738
- }, {
739
- token: "string", // multi line """ string end
740
- regex: '"{3}',
741
- next: "start"
742
- }, {
743
- defaultToken: "string"
744
- }],
661
+ token: "constant.language.escape",
662
+ regex: stringEscape
663
+ }, {
664
+ token: "string",
665
+ regex: '"{3}',
666
+ next: "start"
667
+ }, {
668
+ defaultToken: "string"
669
+ }],
745
670
  "qstring3": [{
746
- token: "constant.language.escape",
747
- regex: stringEscape
748
- }, {
749
- token: "string", // multi line ''' string end
750
- regex: "'{3}",
751
- next: "start"
752
- }, {
753
- defaultToken: "string"
754
- }],
671
+ token: "constant.language.escape",
672
+ regex: stringEscape
673
+ }, {
674
+ token: "string",
675
+ regex: "'{3}",
676
+ next: "start"
677
+ }, {
678
+ defaultToken: "string"
679
+ }],
755
680
  "qqstring": [{
756
- token: "constant.language.escape",
757
- regex: stringEscape
758
- }, {
759
- token: "string",
760
- regex: "\\\\$",
761
- next: "qqstring"
762
- }, {
763
- token: "string",
764
- regex: '"|$',
765
- next: "start"
766
- }, {
767
- defaultToken: "string"
768
- }],
681
+ token: "constant.language.escape",
682
+ regex: stringEscape
683
+ }, {
684
+ token: "string",
685
+ regex: "\\\\$",
686
+ next: "qqstring"
687
+ }, {
688
+ token: "string",
689
+ regex: '"|$',
690
+ next: "start"
691
+ }, {
692
+ defaultToken: "string"
693
+ }],
769
694
  "qstring": [{
770
- token: "constant.language.escape",
771
- regex: stringEscape
772
- }, {
773
- token: "string",
774
- regex: "\\\\$",
775
- next: "qstring"
776
- }, {
777
- token: "string",
778
- regex: "'|$",
779
- next: "start"
780
- }, {
781
- defaultToken: "string"
782
- }],
695
+ token: "constant.language.escape",
696
+ regex: stringEscape
697
+ }, {
698
+ token: "string",
699
+ regex: "\\\\$",
700
+ next: "qstring"
701
+ }, {
702
+ token: "string",
703
+ regex: "'|$",
704
+ next: "start"
705
+ }, {
706
+ defaultToken: "string"
707
+ }],
783
708
  "rawqqstring3": [{
784
- token: "string", // multi line """ string end
785
- regex: '"{3}',
786
- next: "start"
787
- }, {
788
- defaultToken: "string"
789
- }],
709
+ token: "string",
710
+ regex: '"{3}',
711
+ next: "start"
712
+ }, {
713
+ defaultToken: "string"
714
+ }],
790
715
  "rawqstring3": [{
791
- token: "string", // multi line ''' string end
792
- regex: "'{3}",
793
- next: "start"
794
- }, {
795
- defaultToken: "string"
796
- }],
716
+ token: "string",
717
+ regex: "'{3}",
718
+ next: "start"
719
+ }, {
720
+ defaultToken: "string"
721
+ }],
797
722
  "rawqqstring": [{
798
- token: "string",
799
- regex: "\\\\$",
800
- next: "rawqqstring"
801
- }, {
802
- token: "string",
803
- regex: '"|$',
804
- next: "start"
805
- }, {
806
- defaultToken: "string"
807
- }],
723
+ token: "string",
724
+ regex: "\\\\$",
725
+ next: "rawqqstring"
726
+ }, {
727
+ token: "string",
728
+ regex: '"|$',
729
+ next: "start"
730
+ }, {
731
+ defaultToken: "string"
732
+ }],
808
733
  "rawqstring": [{
809
- token: "string",
810
- regex: "\\\\$",
811
- next: "rawqstring"
812
- }, {
813
- token: "string",
814
- regex: "'|$",
815
- next: "start"
816
- }, {
817
- defaultToken: "string"
818
- }],
734
+ token: "string",
735
+ regex: "\\\\$",
736
+ next: "rawqstring"
737
+ }, {
738
+ token: "string",
739
+ regex: "'|$",
740
+ next: "start"
741
+ }, {
742
+ defaultToken: "string"
743
+ }],
819
744
  "fqqstring3": [{
820
- token: "constant.language.escape",
821
- regex: stringEscape
822
- }, {
823
- token: "string", // multi line """ string end
824
- regex: '"{3}',
825
- next: "start"
826
- }, {
827
- token: "paren.lparen",
828
- regex: "{",
829
- push: "fqstringParRules"
830
- }, {
831
- defaultToken: "string"
832
- }],
745
+ token: "constant.language.escape",
746
+ regex: stringEscape
747
+ }, {
748
+ token: "string",
749
+ regex: '"{3}',
750
+ next: "start"
751
+ }, {
752
+ token: "paren.lparen",
753
+ regex: "{",
754
+ push: "fqstringParRules"
755
+ }, {
756
+ defaultToken: "string"
757
+ }],
833
758
  "fqstring3": [{
834
- token: "constant.language.escape",
835
- regex: stringEscape
836
- }, {
837
- token: "string", // multi line ''' string end
838
- regex: "'{3}",
839
- next: "start"
840
- }, {
841
- token: "paren.lparen",
842
- regex: "{",
843
- push: "fqstringParRules"
844
- }, {
845
- defaultToken: "string"
846
- }],
759
+ token: "constant.language.escape",
760
+ regex: stringEscape
761
+ }, {
762
+ token: "string",
763
+ regex: "'{3}",
764
+ next: "start"
765
+ }, {
766
+ token: "paren.lparen",
767
+ regex: "{",
768
+ push: "fqstringParRules"
769
+ }, {
770
+ defaultToken: "string"
771
+ }],
847
772
  "fqqstring": [{
848
- token: "constant.language.escape",
849
- regex: stringEscape
850
- }, {
851
- token: "string",
852
- regex: "\\\\$",
853
- next: "fqqstring"
854
- }, {
855
- token: "string",
856
- regex: '"|$',
857
- next: "start"
858
- }, {
859
- token: "paren.lparen",
860
- regex: "{",
861
- push: "fqstringParRules"
862
- }, {
863
- defaultToken: "string"
864
- }],
773
+ token: "constant.language.escape",
774
+ regex: stringEscape
775
+ }, {
776
+ token: "string",
777
+ regex: "\\\\$",
778
+ next: "fqqstring"
779
+ }, {
780
+ token: "string",
781
+ regex: '"|$',
782
+ next: "start"
783
+ }, {
784
+ token: "paren.lparen",
785
+ regex: "{",
786
+ push: "fqstringParRules"
787
+ }, {
788
+ defaultToken: "string"
789
+ }],
865
790
  "fqstring": [{
866
- token: "constant.language.escape",
867
- regex: stringEscape
868
- }, {
869
- token: "string",
870
- regex: "'|$",
871
- next: "start"
872
- }, {
873
- token: "paren.lparen",
874
- regex: "{",
875
- push: "fqstringParRules"
876
- }, {
877
- defaultToken: "string"
878
- }],
791
+ token: "constant.language.escape",
792
+ regex: stringEscape
793
+ }, {
794
+ token: "string",
795
+ regex: "'|$",
796
+ next: "start"
797
+ }, {
798
+ token: "paren.lparen",
799
+ regex: "{",
800
+ push: "fqstringParRules"
801
+ }, {
802
+ defaultToken: "string"
803
+ }],
879
804
  "rfqqstring3": [{
880
- token: "string", // multi line """ string end
881
- regex: '"{3}',
882
- next: "start"
883
- }, {
884
- token: "paren.lparen",
885
- regex: "{",
886
- push: "fqstringParRules"
887
- }, {
888
- defaultToken: "string"
889
- }],
805
+ token: "string",
806
+ regex: '"{3}',
807
+ next: "start"
808
+ }, {
809
+ token: "paren.lparen",
810
+ regex: "{",
811
+ push: "fqstringParRules"
812
+ }, {
813
+ defaultToken: "string"
814
+ }],
890
815
  "rfqstring3": [{
891
- token: "string", // multi line ''' string end
892
- regex: "'{3}",
893
- next: "start"
894
- }, {
895
- token: "paren.lparen",
896
- regex: "{",
897
- push: "fqstringParRules"
898
- }, {
899
- defaultToken: "string"
900
- }],
816
+ token: "string",
817
+ regex: "'{3}",
818
+ next: "start"
819
+ }, {
820
+ token: "paren.lparen",
821
+ regex: "{",
822
+ push: "fqstringParRules"
823
+ }, {
824
+ defaultToken: "string"
825
+ }],
901
826
  "rfqqstring": [{
902
- token: "string",
903
- regex: "\\\\$",
904
- next: "rfqqstring"
905
- }, {
906
- token: "string",
907
- regex: '"|$',
908
- next: "start"
909
- }, {
910
- token: "paren.lparen",
911
- regex: "{",
912
- push: "fqstringParRules"
913
- }, {
914
- defaultToken: "string"
915
- }],
827
+ token: "string",
828
+ regex: "\\\\$",
829
+ next: "rfqqstring"
830
+ }, {
831
+ token: "string",
832
+ regex: '"|$',
833
+ next: "start"
834
+ }, {
835
+ token: "paren.lparen",
836
+ regex: "{",
837
+ push: "fqstringParRules"
838
+ }, {
839
+ defaultToken: "string"
840
+ }],
916
841
  "rfqstring": [{
917
- token: "string",
918
- regex: "'|$",
919
- next: "start"
920
- }, {
921
- token: "paren.lparen",
922
- regex: "{",
923
- push: "fqstringParRules"
924
- }, {
925
- defaultToken: "string"
926
- }],
927
- "fqstringParRules": [{//TODO: nested {}
928
- token: "paren.lparen",
929
- regex: "[\\[\\(]"
930
- }, {
931
- token: "paren.rparen",
932
- regex: "[\\]\\)]"
933
- }, {
934
- token: "string",
935
- regex: "\\s+"
936
- }, {
937
- token: "string",
938
- regex: "'[^']*'"
939
- }, {
940
- token: "string",
941
- regex: '"[^"]*"'
942
- }, {
943
- token: "function.support",
944
- regex: "(!s|!r|!a)"
945
- }, {
946
- include: "constants"
947
- },{
948
- token: 'paren.rparen',
949
- regex: "}",
950
- next: 'pop'
951
- },{
952
- token: 'paren.lparen',
953
- regex: "{",
954
- push: "fqstringParRules"
955
- }],
842
+ token: "string",
843
+ regex: "'|$",
844
+ next: "start"
845
+ }, {
846
+ token: "paren.lparen",
847
+ regex: "{",
848
+ push: "fqstringParRules"
849
+ }, {
850
+ defaultToken: "string"
851
+ }],
852
+ "fqstringParRules": [{
853
+ token: "paren.lparen",
854
+ regex: "[\\[\\(]"
855
+ }, {
856
+ token: "paren.rparen",
857
+ regex: "[\\]\\)]"
858
+ }, {
859
+ token: "string",
860
+ regex: "\\s+"
861
+ }, {
862
+ token: "string",
863
+ regex: "'[^']*'"
864
+ }, {
865
+ token: "string",
866
+ regex: '"[^"]*"'
867
+ }, {
868
+ token: "function.support",
869
+ regex: "(!s|!r|!a)"
870
+ }, {
871
+ include: "constants"
872
+ }, {
873
+ token: 'paren.rparen',
874
+ regex: "}",
875
+ next: 'pop'
876
+ }, {
877
+ token: 'paren.lparen',
878
+ regex: "{",
879
+ push: "fqstringParRules"
880
+ }],
956
881
  "constants": [{
957
- token: "constant.numeric", // imaginary
958
- regex: "(?:" + floatNumber + "|\\d+)[jJ]\\b"
959
- }, {
960
- token: "constant.numeric", // float
961
- regex: floatNumber
962
- }, {
963
- token: "constant.numeric", // long integer
964
- regex: integer + "[lL]\\b"
965
- }, {
966
- token: "constant.numeric", // integer
967
- regex: integer + "\\b"
968
- }, {
969
- token: ["punctuation", "function.support"],// method
970
- regex: "(\\.)([a-zA-Z_]+)\\b"
971
- }, {
972
- token: keywordMapper,
973
- regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
974
- }]
882
+ token: "constant.numeric",
883
+ regex: "(?:" + floatNumber + "|\\d+)[jJ]\\b"
884
+ }, {
885
+ token: "constant.numeric",
886
+ regex: floatNumber
887
+ }, {
888
+ token: "constant.numeric",
889
+ regex: integer + "[lL]\\b"
890
+ }, {
891
+ token: "constant.numeric",
892
+ regex: integer + "\\b"
893
+ }, {
894
+ token: ["punctuation", "function.support"],
895
+ regex: "(\\.)([a-zA-Z_]+)\\b"
896
+ }, {
897
+ token: keywordMapper,
898
+ regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
899
+ }]
975
900
  };
976
901
  this.normalizeRules();
977
902
  };
978
-
979
903
  oop.inherits(PythonHighlightRules, TextHighlightRules);
980
-
981
904
  exports.PythonHighlightRules = PythonHighlightRules;
982
- });
983
905
 
984
- ace.define("ace/mode/csound_orchestra_highlight_rules",[], function(require, exports, module) {
985
- "use strict";
906
+ });
986
907
 
908
+ ace.define("ace/mode/csound_orchestra_highlight_rules",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules","ace/mode/csound_score_highlight_rules","ace/mode/lua_highlight_rules","ace/mode/python_highlight_rules"], function(require, exports, module){"use strict";
987
909
  var lang = require("../lib/lang");
988
910
  var oop = require("../lib/oop");
989
-
990
911
  var CsoundPreprocessorHighlightRules = require("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules;
991
912
  var CsoundScoreHighlightRules = require("./csound_score_highlight_rules").CsoundScoreHighlightRules;
992
913
  var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
993
914
  var PythonHighlightRules = require("./python_highlight_rules").PythonHighlightRules;
994
-
995
- var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
996
-
915
+ var CsoundOrchestraHighlightRules = function (embeddedRulePrefix) {
997
916
  CsoundPreprocessorHighlightRules.call(this, embeddedRulePrefix);
998
917
  var opcodes = [
999
918
  "ATSadd",
@@ -1170,6 +1089,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1170
1089
  "betarand",
1171
1090
  "bexprnd",
1172
1091
  "bformdec1",
1092
+ "bformdec2",
1173
1093
  "bformenc1",
1174
1094
  "binit",
1175
1095
  "biquad",
@@ -1344,6 +1264,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1344
1264
  "duserrnd",
1345
1265
  "dust",
1346
1266
  "dust2",
1267
+ "elapsedcycles",
1268
+ "elapsedtime",
1347
1269
  "envlpx",
1348
1270
  "envlpxr",
1349
1271
  "ephasor",
@@ -1351,6 +1273,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1351
1273
  "evalstr",
1352
1274
  "event",
1353
1275
  "event_i",
1276
+ "eventcycles",
1277
+ "eventtime",
1354
1278
  "exciter",
1355
1279
  "exitnow",
1356
1280
  "exp",
@@ -1479,6 +1403,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1479
1403
  "grain2",
1480
1404
  "grain3",
1481
1405
  "granule",
1406
+ "gtadsr",
1482
1407
  "gtf",
1483
1408
  "guiro",
1484
1409
  "harmon",
@@ -1810,6 +1735,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1810
1735
  "mediank",
1811
1736
  "metro",
1812
1737
  "metro2",
1738
+ "metrobpm",
1813
1739
  "mfb",
1814
1740
  "midglobal",
1815
1741
  "midiarp",
@@ -1858,6 +1784,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
1858
1784
  "mp3in",
1859
1785
  "mp3len",
1860
1786
  "mp3nchnls",
1787
+ "mp3out",
1861
1788
  "mp3scal",
1862
1789
  "mp3sr",
1863
1790
  "mpulse",
@@ -2061,6 +1988,7 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2061
1988
  "pvsftw",
2062
1989
  "pvsfwrite",
2063
1990
  "pvsgain",
1991
+ "pvsgendy",
2064
1992
  "pvshift",
2065
1993
  "pvsifd",
2066
1994
  "pvsin",
@@ -2227,7 +2155,9 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2227
2155
  "scale2",
2228
2156
  "scalearray",
2229
2157
  "scanhammer",
2158
+ "scanmap",
2230
2159
  "scans",
2160
+ "scansmap",
2231
2161
  "scantable",
2232
2162
  "scanu",
2233
2163
  "scanu2",
@@ -2246,6 +2176,8 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2246
2176
  "sensekey",
2247
2177
  "seqtime",
2248
2178
  "seqtime2",
2179
+ "sequ",
2180
+ "sequstate",
2249
2181
  "serialBegin",
2250
2182
  "serialEnd",
2251
2183
  "serialFlush",
@@ -2438,8 +2370,10 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2438
2370
  "trhighest",
2439
2371
  "trigExpseg",
2440
2372
  "trigLinseg",
2373
+ "trigexpseg",
2441
2374
  "trigger",
2442
2375
  "trighold",
2376
+ "triglinseg",
2443
2377
  "trigphasor",
2444
2378
  "trigseq",
2445
2379
  "trim",
@@ -2570,10 +2504,6 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2570
2504
  "xadsr",
2571
2505
  "xin",
2572
2506
  "xout",
2573
- "xscanmap",
2574
- "xscans",
2575
- "xscansmap",
2576
- "xscanu",
2577
2507
  "xtratim",
2578
2508
  "xyscale",
2579
2509
  "zacl",
@@ -2699,204 +2629,176 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2699
2629
  "vbap4move",
2700
2630
  "vbap8",
2701
2631
  "vbap8move",
2632
+ "xscanmap",
2633
+ "xscans",
2634
+ "xscansmap",
2635
+ "xscanu",
2702
2636
  "xyin"
2703
2637
  ];
2704
-
2705
2638
  opcodes = lang.arrayToMap(opcodes);
2706
2639
  deprecatedOpcodes = lang.arrayToMap(deprecatedOpcodes);
2707
-
2708
2640
  this.lineContinuations = [
2709
2641
  {
2710
- token : "constant.character.escape.line-continuation.csound",
2711
- regex : /\\$/
2642
+ token: "constant.character.escape.line-continuation.csound",
2643
+ regex: /\\$/
2712
2644
  }, this.pushRule({
2713
- token : "constant.character.escape.line-continuation.csound",
2714
- regex : /\\/,
2715
- next : "line continuation"
2645
+ token: "constant.character.escape.line-continuation.csound",
2646
+ regex: /\\/,
2647
+ next: "line continuation"
2716
2648
  })
2717
2649
  ];
2718
-
2719
2650
  this.comments.push(this.lineContinuations);
2720
-
2721
- this.quotedStringContents.push(
2722
- this.lineContinuations,
2723
- {
2724
- token : "invalid.illegal",
2725
- regex : /[^"\\]*$/
2726
- }
2727
- );
2728
-
2651
+ this.quotedStringContents.push(this.lineContinuations, {
2652
+ token: "invalid.illegal",
2653
+ regex: /[^"\\]*$/
2654
+ });
2729
2655
  var start = this.$rules.start;
2730
2656
  start.splice(1, 0, {
2731
- token : ["text.csound", "entity.name.label.csound", "entity.punctuation.label.csound", "text.csound"],
2732
- regex : /^([ \t]*)(\w+)(:)([ \t]+|$)/
2657
+ token: ["text.csound", "entity.name.label.csound", "entity.punctuation.label.csound", "text.csound"],
2658
+ regex: /^([ \t]*)(\w+)(:)([ \t]+|$)/
2733
2659
  });
2734
- start.push(
2735
- this.pushRule({
2736
- token : "keyword.function.csound",
2737
- regex : /\binstr\b/,
2738
- next : "instrument numbers and identifiers"
2739
- }), this.pushRule({
2740
- token : "keyword.function.csound",
2741
- regex : /\bopcode\b/,
2742
- next : "after opcode keyword"
2743
- }), {
2744
- token : "keyword.other.csound",
2745
- regex : /\bend(?:in|op)\b/
2746
- },
2747
-
2748
- {
2749
- token : "variable.language.csound",
2750
- regex : /\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b/
2751
- },
2752
-
2753
- this.numbers,
2754
-
2755
- {
2756
- token : "keyword.operator.csound",
2757
- regex : "\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[~¬]|[=!+\\-*/^%&|<>#?:]"
2758
- },
2759
-
2760
- this.pushRule({
2761
- token : "punctuation.definition.string.begin.csound",
2762
- regex : /"/,
2763
- next : "quoted string"
2764
- }), this.pushRule({
2765
- token : "punctuation.definition.string.begin.csound",
2766
- regex : /{{/,
2767
- next : "braced string"
2768
- }),
2769
-
2770
- {
2771
- token : "keyword.control.csound",
2772
- regex : /\b(?:do|else(?:if)?|end(?:if|until)|fi|i(?:f|then)|kthen|od|r(?:ir)?eturn|then|until|while)\b/
2773
- },
2774
-
2775
- this.pushRule({
2776
- token : "keyword.control.csound",
2777
- regex : /\b[ik]?goto\b/,
2778
- next : "goto before label"
2779
- }), this.pushRule({
2780
- token : "keyword.control.csound",
2781
- regex : /\b(?:r(?:einit|igoto)|tigoto)\b/,
2782
- next : "goto before label"
2783
- }), this.pushRule({
2784
- token : "keyword.control.csound",
2785
- regex : /\bc(?:g|in?|k|nk?)goto\b/,
2786
- next : ["goto before label", "goto before argument"]
2787
- }), this.pushRule({
2788
- token : "keyword.control.csound",
2789
- regex : /\btimout\b/,
2790
- next : ["goto before label", "goto before argument", "goto before argument"]
2791
- }), this.pushRule({
2792
- token : "keyword.control.csound",
2793
- regex : /\bloop_[gl][et]\b/,
2794
- next : ["goto before label", "goto before argument", "goto before argument", "goto before argument"]
2795
- }),
2796
-
2797
- this.pushRule({
2798
- token : "support.function.csound",
2799
- regex : /\b(?:readscore|scoreline(?:_i)?)\b/,
2800
- next : "Csound score opcode"
2801
- }), this.pushRule({
2802
- token : "support.function.csound",
2803
- regex : /\bpyl?run[it]?\b(?!$)/,
2804
- next : "Python opcode"
2805
- }), this.pushRule({
2806
- token : "support.function.csound",
2807
- regex : /\blua_(?:exec|opdef)\b(?!$)/,
2808
- next : "Lua opcode"
2809
- }),
2810
-
2811
- {
2812
- token : "support.variable.csound",
2813
- regex : /\bp\d+\b/
2814
- }, {
2815
- regex : /\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b/, onMatch: function(value, currentState, stack, line) {
2816
- var tokens = value.split(this.splitRegex);
2817
- var name = tokens[1];
2818
- var type;
2819
- if (opcodes.hasOwnProperty(name))
2820
- type = "support.function.csound";
2821
- else if (deprecatedOpcodes.hasOwnProperty(name))
2822
- type = "invalid.deprecated.csound";
2823
- if (type) {
2824
- if (tokens[2]) {
2825
- return [
2826
- {type: type, value: name},
2827
- {type: "punctuation.type-annotation.csound", value: tokens[2]},
2828
- {type: "type-annotation.storage.type.csound", value: tokens[3]}
2829
- ];
2830
- }
2831
- return type;
2660
+ start.push(this.pushRule({
2661
+ token: "keyword.function.csound",
2662
+ regex: /\binstr\b/,
2663
+ next: "instrument numbers and identifiers"
2664
+ }), this.pushRule({
2665
+ token: "keyword.function.csound",
2666
+ regex: /\bopcode\b/,
2667
+ next: "after opcode keyword"
2668
+ }), {
2669
+ token: "keyword.other.csound",
2670
+ regex: /\bend(?:in|op)\b/
2671
+ }, {
2672
+ token: "variable.language.csound",
2673
+ regex: /\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b/
2674
+ }, this.numbers, {
2675
+ token: "keyword.operator.csound",
2676
+ regex: "\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[~¬]|[=!+\\-*/^%&|<>#?:]"
2677
+ }, this.pushRule({
2678
+ token: "punctuation.definition.string.begin.csound",
2679
+ regex: /"/,
2680
+ next: "quoted string"
2681
+ }), this.pushRule({
2682
+ token: "punctuation.definition.string.begin.csound",
2683
+ regex: /{{/,
2684
+ next: "braced string"
2685
+ }), {
2686
+ token: "keyword.control.csound",
2687
+ regex: /\b(?:do|else(?:if)?|end(?:if|until)|fi|i(?:f|then)|kthen|od|r(?:ir)?eturn|then|until|while)\b/
2688
+ }, this.pushRule({
2689
+ token: "keyword.control.csound",
2690
+ regex: /\b[ik]?goto\b/,
2691
+ next: "goto before label"
2692
+ }), this.pushRule({
2693
+ token: "keyword.control.csound",
2694
+ regex: /\b(?:r(?:einit|igoto)|tigoto)\b/,
2695
+ next: "goto before label"
2696
+ }), this.pushRule({
2697
+ token: "keyword.control.csound",
2698
+ regex: /\bc(?:g|in?|k|nk?)goto\b/,
2699
+ next: ["goto before label", "goto before argument"]
2700
+ }), this.pushRule({
2701
+ token: "keyword.control.csound",
2702
+ regex: /\btimout\b/,
2703
+ next: ["goto before label", "goto before argument", "goto before argument"]
2704
+ }), this.pushRule({
2705
+ token: "keyword.control.csound",
2706
+ regex: /\bloop_[gl][et]\b/,
2707
+ next: ["goto before label", "goto before argument", "goto before argument", "goto before argument"]
2708
+ }), this.pushRule({
2709
+ token: "support.function.csound",
2710
+ regex: /\b(?:readscore|scoreline(?:_i)?)\b/,
2711
+ next: "Csound score opcode"
2712
+ }), this.pushRule({
2713
+ token: "support.function.csound",
2714
+ regex: /\bpyl?run[it]?\b(?!$)/,
2715
+ next: "Python opcode"
2716
+ }), this.pushRule({
2717
+ token: "support.function.csound",
2718
+ regex: /\blua_(?:exec|opdef)\b(?!$)/,
2719
+ next: "Lua opcode"
2720
+ }), {
2721
+ token: "support.variable.csound",
2722
+ regex: /\bp\d+\b/
2723
+ }, {
2724
+ regex: /\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b/, onMatch: function (value, currentState, stack, line) {
2725
+ var tokens = value.split(this.splitRegex);
2726
+ var name = tokens[1];
2727
+ var type;
2728
+ if (opcodes.hasOwnProperty(name))
2729
+ type = "support.function.csound";
2730
+ else if (deprecatedOpcodes.hasOwnProperty(name))
2731
+ type = "invalid.deprecated.csound";
2732
+ if (type) {
2733
+ if (tokens[2]) {
2734
+ return [
2735
+ { type: type, value: name },
2736
+ { type: "punctuation.type-annotation.csound", value: tokens[2] },
2737
+ { type: "type-annotation.storage.type.csound", value: tokens[3] }
2738
+ ];
2832
2739
  }
2833
- return "text.csound";
2740
+ return type;
2834
2741
  }
2742
+ return "text.csound";
2835
2743
  }
2836
- );
2837
-
2744
+ });
2838
2745
  this.$rules["macro parameter value list"].splice(2, 0, {
2839
- token : "punctuation.definition.string.begin.csound",
2840
- regex : /{{/,
2841
- next : "macro parameter value braced string"
2746
+ token: "punctuation.definition.string.begin.csound",
2747
+ regex: /{{/,
2748
+ next: "macro parameter value braced string"
2842
2749
  });
2843
-
2844
2750
  var scoreHighlightRules = new CsoundScoreHighlightRules("csound-score-");
2845
-
2846
2751
  this.addRules({
2847
2752
  "macro parameter value braced string": [
2848
2753
  {
2849
- token : "constant.character.escape.csound",
2850
- regex : /\\[#'()]/
2754
+ token: "constant.character.escape.csound",
2755
+ regex: /\\[#'()]/
2851
2756
  }, {
2852
- token : "invalid.illegal.csound.csound",
2853
- regex : /[#'()]/
2757
+ token: "invalid.illegal.csound.csound",
2758
+ regex: /[#'()]/
2854
2759
  }, {
2855
- token : "punctuation.definition.string.end.csound",
2856
- regex : /}}/,
2857
- next : "macro parameter value list"
2760
+ token: "punctuation.definition.string.end.csound",
2761
+ regex: /}}/,
2762
+ next: "macro parameter value list"
2858
2763
  }, {
2859
2764
  defaultToken: "string.braced.csound"
2860
2765
  }
2861
2766
  ],
2862
-
2863
2767
  "instrument numbers and identifiers": [
2864
2768
  this.comments,
2865
2769
  {
2866
- token : "entity.name.function.csound",
2867
- regex : /\d+|[A-Z_a-z]\w*/
2770
+ token: "entity.name.function.csound",
2771
+ regex: /\d+|[A-Z_a-z]\w*/
2868
2772
  }, this.popRule({
2869
- token : "empty",
2870
- regex : /$/
2773
+ token: "empty",
2774
+ regex: /$/
2871
2775
  })
2872
2776
  ],
2873
-
2874
2777
  "after opcode keyword": [
2875
2778
  this.comments,
2876
2779
  this.popRule({
2877
- token : "empty",
2878
- regex : /$/
2780
+ token: "empty",
2781
+ regex: /$/
2879
2782
  }), this.popRule({
2880
- token : "entity.name.function.opcode.csound",
2881
- regex : /[A-Z_a-z]\w*/,
2882
- next : "opcode type signatures"
2783
+ token: "entity.name.function.opcode.csound",
2784
+ regex: /[A-Z_a-z]\w*/,
2785
+ next: "opcode type signatures"
2883
2786
  })
2884
2787
  ],
2885
2788
  "opcode type signatures": [
2886
2789
  this.comments,
2887
2790
  this.popRule({
2888
- token : "empty",
2889
- regex : /$/
2791
+ token: "empty",
2792
+ regex: /$/
2890
2793
  }), {
2891
- token : "storage.type.csound",
2892
- regex : /\b(?:0|[afijkKoOpPStV\[\]]+)/
2794
+ token: "storage.type.csound",
2795
+ regex: /\b(?:0|[afijkKoOpPStV\[\]]+)/
2893
2796
  }
2894
2797
  ],
2895
-
2896
2798
  "quoted string": [
2897
2799
  this.popRule({
2898
- token : "punctuation.definition.string.end.csound",
2899
- regex : /"/
2800
+ token: "punctuation.definition.string.end.csound",
2801
+ regex: /"/
2900
2802
  }),
2901
2803
  this.quotedStringContents,
2902
2804
  {
@@ -2905,122 +2807,109 @@ var CsoundOrchestraHighlightRules = function(embeddedRulePrefix) {
2905
2807
  ],
2906
2808
  "braced string": [
2907
2809
  this.popRule({
2908
- token : "punctuation.definition.string.end.csound",
2909
- regex : /}}/
2810
+ token: "punctuation.definition.string.end.csound",
2811
+ regex: /}}/
2910
2812
  }),
2911
2813
  this.bracedStringContents,
2912
2814
  {
2913
2815
  defaultToken: "string.braced.csound"
2914
2816
  }
2915
2817
  ],
2916
-
2917
2818
  "goto before argument": [
2918
2819
  this.popRule({
2919
- token : "text.csound",
2920
- regex : /,/
2820
+ token: "text.csound",
2821
+ regex: /,/
2921
2822
  }),
2922
2823
  start
2923
2824
  ],
2924
2825
  "goto before label": [
2925
2826
  {
2926
- token : "text.csound",
2927
- regex : /\s+/
2827
+ token: "text.csound",
2828
+ regex: /\s+/
2928
2829
  },
2929
2830
  this.comments,
2930
2831
  this.popRule({
2931
- token : "entity.name.label.csound",
2932
- regex : /\w+/
2832
+ token: "entity.name.label.csound",
2833
+ regex: /\w+/
2933
2834
  }), this.popRule({
2934
- token : "empty",
2935
- regex : /(?!\w)/
2835
+ token: "empty",
2836
+ regex: /(?!\w)/
2936
2837
  })
2937
2838
  ],
2938
-
2939
2839
  "Csound score opcode": [
2940
2840
  this.comments,
2941
2841
  {
2942
- token : "punctuation.definition.string.begin.csound",
2943
- regex : /{{/,
2944
- next : scoreHighlightRules.embeddedRulePrefix + "start"
2842
+ token: "punctuation.definition.string.begin.csound",
2843
+ regex: /{{/,
2844
+ next: scoreHighlightRules.embeddedRulePrefix + "start"
2945
2845
  }, this.popRule({
2946
- token : "empty",
2947
- regex : /$/
2846
+ token: "empty",
2847
+ regex: /$/
2948
2848
  })
2949
2849
  ],
2950
-
2951
2850
  "Python opcode": [
2952
2851
  this.comments,
2953
2852
  {
2954
- token : "punctuation.definition.string.begin.csound",
2955
- regex : /{{/,
2956
- next : "python-start"
2853
+ token: "punctuation.definition.string.begin.csound",
2854
+ regex: /{{/,
2855
+ next: "python-start"
2957
2856
  }, this.popRule({
2958
- token : "empty",
2959
- regex : /$/
2857
+ token: "empty",
2858
+ regex: /$/
2960
2859
  })
2961
2860
  ],
2962
-
2963
2861
  "Lua opcode": [
2964
2862
  this.comments,
2965
2863
  {
2966
- token : "punctuation.definition.string.begin.csound",
2967
- regex : /{{/,
2968
- next : "lua-start"
2864
+ token: "punctuation.definition.string.begin.csound",
2865
+ regex: /{{/,
2866
+ next: "lua-start"
2969
2867
  }, this.popRule({
2970
- token : "empty",
2971
- regex : /$/
2868
+ token: "empty",
2869
+ regex: /$/
2972
2870
  })
2973
2871
  ],
2974
-
2975
2872
  "line continuation": [
2976
2873
  this.popRule({
2977
- token : "empty",
2978
- regex : /$/
2874
+ token: "empty",
2875
+ regex: /$/
2979
2876
  }),
2980
2877
  this.semicolonComments,
2981
2878
  {
2982
- token : "invalid.illegal.csound",
2983
- regex : /\S.*/
2879
+ token: "invalid.illegal.csound",
2880
+ regex: /\S.*/
2984
2881
  }
2985
2882
  ]
2986
2883
  });
2987
-
2988
2884
  var rules = [
2989
2885
  this.popRule({
2990
- token : "punctuation.definition.string.end.csound",
2991
- regex : /}}/
2886
+ token: "punctuation.definition.string.end.csound",
2887
+ regex: /}}/
2992
2888
  })
2993
2889
  ];
2994
2890
  this.embedRules(scoreHighlightRules.getRules(), scoreHighlightRules.embeddedRulePrefix, rules);
2995
2891
  this.embedRules(PythonHighlightRules, "python-", rules);
2996
2892
  this.embedRules(LuaHighlightRules, "lua-", rules);
2997
-
2998
2893
  this.normalizeRules();
2999
2894
  };
3000
-
3001
2895
  oop.inherits(CsoundOrchestraHighlightRules, CsoundPreprocessorHighlightRules);
3002
-
3003
2896
  exports.CsoundOrchestraHighlightRules = CsoundOrchestraHighlightRules;
3004
- });
3005
2897
 
3006
- ace.define("ace/mode/css_highlight_rules",[], function(require, exports, module) {
3007
- "use strict";
2898
+ });
3008
2899
 
2900
+ ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
3009
2901
  var oop = require("../lib/oop");
3010
2902
  var lang = require("../lib/lang");
3011
2903
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
3012
2904
  var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
3013
2905
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
3014
- var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom";
2906
+ var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom";
3015
2907
  var supportConstantColor = exports.supportConstantColor = "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen";
3016
2908
  var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
3017
-
3018
2909
  var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
3019
2910
  var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
3020
- var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
3021
-
3022
- var CssHighlightRules = function() {
3023
-
2911
+ var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
2912
+ var CssHighlightRules = function () {
3024
2913
  var keywordMapper = this.createKeywordMapper({
3025
2914
  "support.function": supportFunction,
3026
2915
  "support.constant": supportConstant,
@@ -3028,263 +2917,317 @@ var CssHighlightRules = function() {
3028
2917
  "support.constant.color": supportConstantColor,
3029
2918
  "support.constant.fonts": supportConstantFonts
3030
2919
  }, "text", true);
3031
-
3032
2920
  this.$rules = {
3033
- "start" : [{
3034
- include : ["strings", "url", "comments"]
3035
- }, {
3036
- token: "paren.lparen",
3037
- regex: "\\{",
3038
- next: "ruleset"
3039
- }, {
3040
- token: "paren.rparen",
3041
- regex: "\\}"
3042
- }, {
3043
- token: "string",
3044
- regex: "@(?!viewport)",
3045
- next: "media"
3046
- }, {
3047
- token: "keyword",
3048
- regex: "#[a-z0-9-_]+"
3049
- }, {
3050
- token: "keyword",
3051
- regex: "%"
3052
- }, {
3053
- token: "variable",
3054
- regex: "\\.[a-z0-9-_]+"
3055
- }, {
3056
- token: "string",
3057
- regex: ":[a-z0-9-_]+"
3058
- }, {
3059
- token : "constant.numeric",
3060
- regex : numRe
3061
- }, {
3062
- token: "constant",
3063
- regex: "[a-z0-9-_]+"
3064
- }, {
3065
- caseInsensitive: true
3066
- }],
3067
-
2921
+ "start": [{
2922
+ include: ["strings", "url", "comments"]
2923
+ }, {
2924
+ token: "paren.lparen",
2925
+ regex: "\\{",
2926
+ next: "ruleset"
2927
+ }, {
2928
+ token: "paren.rparen",
2929
+ regex: "\\}"
2930
+ }, {
2931
+ token: "string",
2932
+ regex: "@(?!viewport)",
2933
+ next: "media"
2934
+ }, {
2935
+ token: "keyword",
2936
+ regex: "#[a-z0-9-_]+"
2937
+ }, {
2938
+ token: "keyword",
2939
+ regex: "%"
2940
+ }, {
2941
+ token: "variable",
2942
+ regex: "\\.[a-z0-9-_]+"
2943
+ }, {
2944
+ token: "string",
2945
+ regex: ":[a-z0-9-_]+"
2946
+ }, {
2947
+ token: "constant.numeric",
2948
+ regex: numRe
2949
+ }, {
2950
+ token: "constant",
2951
+ regex: "[a-z0-9-_]+"
2952
+ }, {
2953
+ caseInsensitive: true
2954
+ }],
3068
2955
  "media": [{
3069
- include : ["strings", "url", "comments"]
3070
- }, {
3071
- token: "paren.lparen",
3072
- regex: "\\{",
3073
- next: "start"
3074
- }, {
3075
- token: "paren.rparen",
3076
- regex: "\\}",
3077
- next: "start"
3078
- }, {
3079
- token: "string",
3080
- regex: ";",
3081
- next: "start"
3082
- }, {
3083
- token: "keyword",
3084
- regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
3085
- + "|page|font|keyframes|viewport|counter-style|font-feature-values"
3086
- + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
3087
- }],
3088
-
3089
- "comments" : [{
3090
- token: "comment", // multi line comment
3091
- regex: "\\/\\*",
3092
- push: [{
3093
- token : "comment",
3094
- regex : "\\*\\/",
3095
- next : "pop"
2956
+ include: ["strings", "url", "comments"]
2957
+ }, {
2958
+ token: "paren.lparen",
2959
+ regex: "\\{",
2960
+ next: "start"
2961
+ }, {
2962
+ token: "paren.rparen",
2963
+ regex: "\\}",
2964
+ next: "start"
2965
+ }, {
2966
+ token: "string",
2967
+ regex: ";",
2968
+ next: "start"
2969
+ }, {
2970
+ token: "keyword",
2971
+ regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
2972
+ + "|page|font|keyframes|viewport|counter-style|font-feature-values"
2973
+ + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
2974
+ }],
2975
+ "comments": [{
2976
+ token: "comment",
2977
+ regex: "\\/\\*",
2978
+ push: [{
2979
+ token: "comment",
2980
+ regex: "\\*\\/",
2981
+ next: "pop"
2982
+ }, {
2983
+ defaultToken: "comment"
2984
+ }]
2985
+ }],
2986
+ "ruleset": [{
2987
+ regex: "-(webkit|ms|moz|o)-",
2988
+ token: "text"
2989
+ }, {
2990
+ token: "punctuation.operator",
2991
+ regex: "[:;]"
2992
+ }, {
2993
+ token: "paren.rparen",
2994
+ regex: "\\}",
2995
+ next: "start"
3096
2996
  }, {
3097
- defaultToken : "comment"
3098
- }]
3099
- }],
3100
-
3101
- "ruleset" : [{
3102
- regex : "-(webkit|ms|moz|o)-",
3103
- token : "text"
3104
- }, {
3105
- token : "punctuation.operator",
3106
- regex : "[:;]"
3107
- }, {
3108
- token : "paren.rparen",
3109
- regex : "\\}",
3110
- next : "start"
3111
- }, {
3112
- include : ["strings", "url", "comments"]
3113
- }, {
3114
- token : ["constant.numeric", "keyword"],
3115
- regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"
3116
- }, {
3117
- token : "constant.numeric",
3118
- regex : numRe
3119
- }, {
3120
- token : "constant.numeric", // hex6 color
3121
- regex : "#[a-f0-9]{6}"
3122
- }, {
3123
- token : "constant.numeric", // hex3 color
3124
- regex : "#[a-f0-9]{3}"
3125
- }, {
3126
- token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
3127
- regex : pseudoElements
3128
- }, {
3129
- token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
3130
- regex : pseudoClasses
3131
- }, {
3132
- include: "url"
3133
- }, {
3134
- token : keywordMapper,
3135
- regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
3136
- }, {
3137
- caseInsensitive: true
3138
- }],
3139
-
3140
- url: [{
3141
- token : "support.function",
3142
- regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
3143
- push: [{
3144
- token : "support.function",
3145
- regex : "\\)",
3146
- next : "pop"
2997
+ include: ["strings", "url", "comments"]
3147
2998
  }, {
3148
- defaultToken: "string"
3149
- }]
3150
- }],
3151
-
3152
- strings: [{
3153
- token : "string.start",
3154
- regex : "'",
3155
- push : [{
3156
- token : "string.end",
3157
- regex : "'|$",
3158
- next: "pop"
2999
+ token: ["constant.numeric", "keyword"],
3000
+ regex: "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"
3159
3001
  }, {
3160
- include : "escapes"
3002
+ token: "constant.numeric",
3003
+ regex: numRe
3161
3004
  }, {
3162
- token : "constant.language.escape",
3163
- regex : /\\$/,
3164
- consumeLineEnd: true
3005
+ token: "constant.numeric",
3006
+ regex: "#[a-f0-9]{6}"
3165
3007
  }, {
3166
- defaultToken: "string"
3167
- }]
3168
- }, {
3169
- token : "string.start",
3170
- regex : '"',
3171
- push : [{
3172
- token : "string.end",
3173
- regex : '"|$',
3174
- next: "pop"
3008
+ token: "constant.numeric",
3009
+ regex: "#[a-f0-9]{3}"
3175
3010
  }, {
3176
- include : "escapes"
3011
+ token: ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
3012
+ regex: pseudoElements
3177
3013
  }, {
3178
- token : "constant.language.escape",
3179
- regex : /\\$/,
3180
- consumeLineEnd: true
3014
+ token: ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
3015
+ regex: pseudoClasses
3181
3016
  }, {
3182
- defaultToken: "string"
3183
- }]
3184
- }],
3017
+ include: "url"
3018
+ }, {
3019
+ token: keywordMapper,
3020
+ regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
3021
+ }, {
3022
+ caseInsensitive: true
3023
+ }],
3024
+ url: [{
3025
+ token: "support.function",
3026
+ regex: "(?:url(:?-prefix)?|domain|regexp)\\(",
3027
+ push: [{
3028
+ token: "support.function",
3029
+ regex: "\\)",
3030
+ next: "pop"
3031
+ }, {
3032
+ defaultToken: "string"
3033
+ }]
3034
+ }],
3035
+ strings: [{
3036
+ token: "string.start",
3037
+ regex: "'",
3038
+ push: [{
3039
+ token: "string.end",
3040
+ regex: "'|$",
3041
+ next: "pop"
3042
+ }, {
3043
+ include: "escapes"
3044
+ }, {
3045
+ token: "constant.language.escape",
3046
+ regex: /\\$/,
3047
+ consumeLineEnd: true
3048
+ }, {
3049
+ defaultToken: "string"
3050
+ }]
3051
+ }, {
3052
+ token: "string.start",
3053
+ regex: '"',
3054
+ push: [{
3055
+ token: "string.end",
3056
+ regex: '"|$',
3057
+ next: "pop"
3058
+ }, {
3059
+ include: "escapes"
3060
+ }, {
3061
+ token: "constant.language.escape",
3062
+ regex: /\\$/,
3063
+ consumeLineEnd: true
3064
+ }, {
3065
+ defaultToken: "string"
3066
+ }]
3067
+ }],
3185
3068
  escapes: [{
3186
- token : "constant.language.escape",
3187
- regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
3188
- }]
3189
-
3069
+ token: "constant.language.escape",
3070
+ regex: /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
3071
+ }]
3190
3072
  };
3191
-
3192
3073
  this.normalizeRules();
3193
3074
  };
3194
-
3195
3075
  oop.inherits(CssHighlightRules, TextHighlightRules);
3196
-
3197
3076
  exports.CssHighlightRules = CssHighlightRules;
3198
3077
 
3199
3078
  });
3200
3079
 
3201
- ace.define("ace/mode/doc_comment_highlight_rules",[], function(require, exports, module) {
3202
- "use strict";
3203
-
3080
+ ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
3204
3081
  var oop = require("../lib/oop");
3205
3082
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
3206
-
3207
- var DocCommentHighlightRules = function() {
3083
+ var JsDocCommentHighlightRules = function () {
3208
3084
  this.$rules = {
3209
- "start" : [ {
3210
- token : "comment.doc.tag",
3211
- regex : "@[\\w\\d_]+" // TODO: fix email addresses
3212
- },
3213
- DocCommentHighlightRules.getTagRule(),
3214
- {
3215
- defaultToken : "comment.doc",
3216
- caseInsensitive: true
3217
- }]
3085
+ "start": [
3086
+ {
3087
+ token: ["comment.doc.tag", "comment.doc.text", "lparen.doc"],
3088
+ regex: "(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",
3089
+ push: [
3090
+ {
3091
+ token: "lparen.doc",
3092
+ regex: "{",
3093
+ push: [
3094
+ {
3095
+ include: "doc-syntax"
3096
+ }, {
3097
+ token: "rparen.doc",
3098
+ regex: "}|(?=$)",
3099
+ next: "pop"
3100
+ }
3101
+ ]
3102
+ }, {
3103
+ token: ["rparen.doc", "text.doc", "variable.parameter.doc", "lparen.doc", "variable.parameter.doc", "rparen.doc"],
3104
+ regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.]+)(\])))/,
3105
+ next: "pop"
3106
+ }, {
3107
+ token: "rparen.doc",
3108
+ regex: "}|(?=$)",
3109
+ next: "pop"
3110
+ }, {
3111
+ include: "doc-syntax"
3112
+ }, {
3113
+ defaultToken: "text.doc"
3114
+ }
3115
+ ]
3116
+ }, {
3117
+ token: ["comment.doc.tag", "text.doc", "lparen.doc"],
3118
+ regex: "(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|"
3119
+ + "implements|external|exception|throws|enum|define|extends))(\\s*)({)",
3120
+ push: [
3121
+ {
3122
+ token: "lparen.doc",
3123
+ regex: "{",
3124
+ push: [
3125
+ {
3126
+ include: "doc-syntax"
3127
+ }, {
3128
+ token: "rparen.doc",
3129
+ regex: "}|(?=$)",
3130
+ next: "pop"
3131
+ }
3132
+ ]
3133
+ }, {
3134
+ token: "rparen.doc",
3135
+ regex: "}|(?=$)",
3136
+ next: "pop"
3137
+ }, {
3138
+ include: "doc-syntax"
3139
+ }, {
3140
+ defaultToken: "text.doc"
3141
+ }
3142
+ ]
3143
+ }, {
3144
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
3145
+ regex: "(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|"
3146
+ + "requires|param|implements|function|extends|typedef|mixes|constructor|var|"
3147
+ + "memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|"
3148
+ + "throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#\.:\/~\"\\-]*)?"
3149
+ }, {
3150
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
3151
+ regex: "(@method)(\\s+)(\\w[\\w\.\\(\\)]*)"
3152
+ }, {
3153
+ token: "comment.doc.tag",
3154
+ regex: "@access\\s+(?:private|public|protected)"
3155
+ }, {
3156
+ token: "comment.doc.tag",
3157
+ regex: "@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"
3158
+ }, {
3159
+ token: "comment.doc.tag",
3160
+ regex: "@\\w+(?=\\s|$)"
3161
+ },
3162
+ JsDocCommentHighlightRules.getTagRule(),
3163
+ {
3164
+ defaultToken: "comment.doc",
3165
+ caseInsensitive: true
3166
+ }
3167
+ ],
3168
+ "doc-syntax": [{
3169
+ token: "operator.doc",
3170
+ regex: /[|:]/
3171
+ }, {
3172
+ token: "paren.doc",
3173
+ regex: /[\[\]]/
3174
+ }]
3218
3175
  };
3176
+ this.normalizeRules();
3219
3177
  };
3220
-
3221
- oop.inherits(DocCommentHighlightRules, TextHighlightRules);
3222
-
3223
- DocCommentHighlightRules.getTagRule = function(start) {
3178
+ oop.inherits(JsDocCommentHighlightRules, TextHighlightRules);
3179
+ JsDocCommentHighlightRules.getTagRule = function (start) {
3224
3180
  return {
3225
- token : "comment.doc.tag.storage.type",
3226
- regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
3181
+ token: "comment.doc.tag.storage.type",
3182
+ regex: "\\b(?:TODO|FIXME|XXX|HACK)\\b"
3227
3183
  };
3228
3184
  };
3229
-
3230
- DocCommentHighlightRules.getStartRule = function(start) {
3185
+ JsDocCommentHighlightRules.getStartRule = function (start) {
3231
3186
  return {
3232
- token : "comment.doc", // doc comment
3233
- regex : "\\/\\*(?=\\*)",
3234
- next : start
3187
+ token: "comment.doc",
3188
+ regex: "\\/\\*(?=\\*)",
3189
+ next: start
3235
3190
  };
3236
3191
  };
3237
-
3238
- DocCommentHighlightRules.getEndRule = function (start) {
3192
+ JsDocCommentHighlightRules.getEndRule = function (start) {
3239
3193
  return {
3240
- token : "comment.doc", // closing comment
3241
- regex : "\\*\\/",
3242
- next : start
3194
+ token: "comment.doc",
3195
+ regex: "\\*\\/",
3196
+ next: start
3243
3197
  };
3244
3198
  };
3245
-
3246
-
3247
- exports.DocCommentHighlightRules = DocCommentHighlightRules;
3199
+ exports.JsDocCommentHighlightRules = JsDocCommentHighlightRules;
3248
3200
 
3249
3201
  });
3250
3202
 
3251
- ace.define("ace/mode/javascript_highlight_rules",[], function(require, exports, module) {
3252
- "use strict";
3253
-
3203
+ ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
3254
3204
  var oop = require("../lib/oop");
3255
- var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
3205
+ var DocCommentHighlightRules = require("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules;
3256
3206
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
3257
3207
  var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
3258
-
3259
- var JavaScriptHighlightRules = function(options) {
3208
+ var JavaScriptHighlightRules = function (options) {
3260
3209
  var keywordMapper = this.createKeywordMapper({
3261
- "variable.language":
3262
- "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
3263
- "Namespace|QName|XML|XMLList|" + // E4X
3264
- "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
3265
- "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
3266
- "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
3267
- "SyntaxError|TypeError|URIError|" +
3210
+ "variable.language": "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|" + // Constructors
3211
+ "Namespace|QName|XML|XMLList|" + // E4X
3212
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
3213
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
3214
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
3215
+ "SyntaxError|TypeError|URIError|" +
3268
3216
  "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
3269
- "isNaN|parseFloat|parseInt|" +
3270
- "JSON|Math|" + // Other
3271
- "this|arguments|prototype|window|document" , // Pseudo
3272
- "keyword":
3273
- "const|yield|import|get|set|async|await|" +
3217
+ "isNaN|parseFloat|parseInt|" +
3218
+ "JSON|Math|" + // Other
3219
+ "this|arguments|prototype|window|document",
3220
+ "keyword": "const|yield|import|get|set|async|await|" +
3274
3221
  "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
3275
3222
  "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
3276
3223
  "__parent__|__count__|escape|unescape|with|__proto__|" +
3277
- "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
3278
- "storage.type":
3279
- "const|let|var|function",
3280
- "constant.language":
3281
- "null|Infinity|NaN|undefined",
3282
- "support.function":
3283
- "alert",
3224
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor",
3225
+ "storage.type": "const|let|var|function",
3226
+ "constant.language": "null|Infinity|NaN|undefined",
3227
+ "support.function": "alert",
3284
3228
  "constant.language.boolean": "true|false"
3285
3229
  }, "identifier");
3286
3230
  var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
3287
-
3288
3231
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
3289
3232
  "u[0-9a-fA-F]{4}|" + // unicode
3290
3233
  "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
@@ -3292,143 +3235,142 @@ var JavaScriptHighlightRules = function(options) {
3292
3235
  "3[0-7][0-7]?|" + // oct
3293
3236
  "[4-7][0-7]?|" + //oct
3294
3237
  ".)";
3295
-
3296
3238
  this.$rules = {
3297
- "no_regex" : [
3239
+ "no_regex": [
3298
3240
  DocCommentHighlightRules.getStartRule("doc-start"),
3299
3241
  comments("no_regex"),
3300
3242
  {
3301
- token : "string",
3302
- regex : "'(?=.)",
3303
- next : "qstring"
3243
+ token: "string",
3244
+ regex: "'(?=.)",
3245
+ next: "qstring"
3304
3246
  }, {
3305
- token : "string",
3306
- regex : '"(?=.)',
3307
- next : "qqstring"
3247
+ token: "string",
3248
+ regex: '"(?=.)',
3249
+ next: "qqstring"
3308
3250
  }, {
3309
- token : "constant.numeric", // hexadecimal, octal and binary
3310
- regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
3251
+ token: "constant.numeric",
3252
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
3311
3253
  }, {
3312
- token : "constant.numeric", // decimal integers and floats
3313
- regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
3254
+ token: "constant.numeric",
3255
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
3314
3256
  }, {
3315
- token : [
3257
+ token: [
3316
3258
  "storage.type", "punctuation.operator", "support.function",
3317
- "punctuation.operator", "entity.name.function", "text","keyword.operator"
3259
+ "punctuation.operator", "entity.name.function", "text", "keyword.operator"
3318
3260
  ],
3319
- regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
3261
+ regex: "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe + ")(\\s*)(=)",
3320
3262
  next: "function_arguments"
3321
3263
  }, {
3322
- token : [
3264
+ token: [
3323
3265
  "storage.type", "punctuation.operator", "entity.name.function", "text",
3324
3266
  "keyword.operator", "text", "storage.type", "text", "paren.lparen"
3325
3267
  ],
3326
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
3268
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
3327
3269
  next: "function_arguments"
3328
3270
  }, {
3329
- token : [
3271
+ token: [
3330
3272
  "entity.name.function", "text", "keyword.operator", "text", "storage.type",
3331
3273
  "text", "paren.lparen"
3332
3274
  ],
3333
- regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
3275
+ regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
3334
3276
  next: "function_arguments"
3335
3277
  }, {
3336
- token : [
3278
+ token: [
3337
3279
  "storage.type", "punctuation.operator", "entity.name.function", "text",
3338
3280
  "keyword.operator", "text",
3339
3281
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
3340
3282
  ],
3341
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
3283
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s+)(\\w+)(\\s*)(\\()",
3342
3284
  next: "function_arguments"
3343
3285
  }, {
3344
- token : [
3286
+ token: [
3345
3287
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
3346
3288
  ],
3347
- regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
3289
+ regex: "(function\\*?)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
3348
3290
  next: "function_arguments"
3349
3291
  }, {
3350
- token : [
3292
+ token: [
3351
3293
  "entity.name.function", "text", "punctuation.operator",
3352
3294
  "text", "storage.type", "text", "paren.lparen"
3353
3295
  ],
3354
- regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
3296
+ regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)(function\\*?)(\\s*)(\\()",
3355
3297
  next: "function_arguments"
3356
3298
  }, {
3357
- token : [
3299
+ token: [
3358
3300
  "text", "text", "storage.type", "text", "paren.lparen"
3359
3301
  ],
3360
- regex : "(:)(\\s*)(function)(\\s*)(\\()",
3302
+ regex: "(:)(\\s*)(function\\*?)(\\s*)(\\()",
3361
3303
  next: "function_arguments"
3362
3304
  }, {
3363
- token : "keyword",
3364
- regex : "from(?=\\s*('|\"))"
3305
+ token: "keyword",
3306
+ regex: "from(?=\\s*('|\"))"
3365
3307
  }, {
3366
- token : "keyword",
3367
- regex : "(?:" + kwBeforeRe + ")\\b",
3368
- next : "start"
3308
+ token: "keyword",
3309
+ regex: "(?:" + kwBeforeRe + ")\\b",
3310
+ next: "start"
3369
3311
  }, {
3370
- token : ["support.constant"],
3371
- regex : /that\b/
3312
+ token: "support.constant",
3313
+ regex: /that\b/
3372
3314
  }, {
3373
- token : ["storage.type", "punctuation.operator", "support.function.firebug"],
3374
- regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
3315
+ token: ["storage.type", "punctuation.operator", "support.function.firebug"],
3316
+ regex: /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
3375
3317
  }, {
3376
- token : keywordMapper,
3377
- regex : identifierRe
3318
+ token: keywordMapper,
3319
+ regex: identifierRe
3378
3320
  }, {
3379
- token : "punctuation.operator",
3380
- regex : /[.](?![.])/,
3381
- next : "property"
3321
+ token: "punctuation.operator",
3322
+ regex: /[.](?![.])/,
3323
+ next: "property"
3382
3324
  }, {
3383
- token : "storage.type",
3384
- regex : /=>/,
3385
- next : "start"
3325
+ token: "storage.type",
3326
+ regex: /=>/,
3327
+ next: "start"
3386
3328
  }, {
3387
- token : "keyword.operator",
3388
- regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
3389
- next : "start"
3329
+ token: "keyword.operator",
3330
+ regex: /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
3331
+ next: "start"
3390
3332
  }, {
3391
- token : "punctuation.operator",
3392
- regex : /[?:,;.]/,
3393
- next : "start"
3333
+ token: "punctuation.operator",
3334
+ regex: /[?:,;.]/,
3335
+ next: "start"
3394
3336
  }, {
3395
- token : "paren.lparen",
3396
- regex : /[\[({]/,
3397
- next : "start"
3337
+ token: "paren.lparen",
3338
+ regex: /[\[({]/,
3339
+ next: "start"
3398
3340
  }, {
3399
- token : "paren.rparen",
3400
- regex : /[\])}]/
3341
+ token: "paren.rparen",
3342
+ regex: /[\])}]/
3401
3343
  }, {
3402
3344
  token: "comment",
3403
3345
  regex: /^#!.*$/
3404
3346
  }
3405
3347
  ],
3406
3348
  property: [{
3407
- token : "text",
3408
- regex : "\\s+"
3349
+ token: "text",
3350
+ regex: "\\s+"
3409
3351
  }, {
3410
- token : [
3352
+ token: [
3411
3353
  "storage.type", "punctuation.operator", "entity.name.function", "text",
3412
3354
  "keyword.operator", "text",
3413
3355
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
3414
3356
  ],
3415
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
3357
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(?:(\\s+)(\\w+))?(\\s*)(\\()",
3416
3358
  next: "function_arguments"
3417
3359
  }, {
3418
- token : "punctuation.operator",
3419
- regex : /[.](?![.])/
3360
+ token: "punctuation.operator",
3361
+ regex: /[.](?![.])/
3420
3362
  }, {
3421
- token : "support.function",
3422
- regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
3363
+ token: "support.function",
3364
+ regex: /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
3423
3365
  }, {
3424
- token : "support.function.dom",
3425
- regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
3366
+ token: "support.function.dom",
3367
+ regex: /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
3426
3368
  }, {
3427
- token : "support.constant",
3428
- regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
3369
+ token: "support.constant",
3370
+ regex: /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
3429
3371
  }, {
3430
- token : "identifier",
3431
- regex : identifierRe
3372
+ token: "identifier",
3373
+ regex: identifierRe
3432
3374
  }, {
3433
3375
  regex: "",
3434
3376
  token: "empty",
@@ -3443,9 +3385,9 @@ var JavaScriptHighlightRules = function(options) {
3443
3385
  regex: "\\/",
3444
3386
  next: "regex"
3445
3387
  }, {
3446
- token : "text",
3447
- regex : "\\s+|^$",
3448
- next : "start"
3388
+ token: "text",
3389
+ regex: "\\s+|^$",
3390
+ next: "start"
3449
3391
  }, {
3450
3392
  token: "empty",
3451
3393
  regex: "",
@@ -3461,13 +3403,13 @@ var JavaScriptHighlightRules = function(options) {
3461
3403
  regex: "/[sxngimy]*",
3462
3404
  next: "no_regex"
3463
3405
  }, {
3464
- token : "invalid",
3406
+ token: "invalid",
3465
3407
  regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
3466
3408
  }, {
3467
- token : "constant.language.escape",
3409
+ token: "constant.language.escape",
3468
3410
  regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
3469
3411
  }, {
3470
- token : "constant.language.delimiter",
3412
+ token: "constant.language.delimiter",
3471
3413
  regex: /\|/
3472
3414
  }, {
3473
3415
  token: "constant.language.escape",
@@ -3500,13 +3442,67 @@ var JavaScriptHighlightRules = function(options) {
3500
3442
  defaultToken: "string.regexp.charachterclass"
3501
3443
  }
3502
3444
  ],
3445
+ "default_parameter": [
3446
+ {
3447
+ token: "string",
3448
+ regex: "'(?=.)",
3449
+ push: [
3450
+ {
3451
+ token: "string",
3452
+ regex: "'|$",
3453
+ next: "pop"
3454
+ }, {
3455
+ include: "qstring"
3456
+ }
3457
+ ]
3458
+ }, {
3459
+ token: "string",
3460
+ regex: '"(?=.)',
3461
+ push: [
3462
+ {
3463
+ token: "string",
3464
+ regex: '"|$',
3465
+ next: "pop"
3466
+ }, {
3467
+ include: "qqstring"
3468
+ }
3469
+ ]
3470
+ }, {
3471
+ token: "constant.language",
3472
+ regex: "null|Infinity|NaN|undefined"
3473
+ }, {
3474
+ token: "constant.numeric",
3475
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
3476
+ }, {
3477
+ token: "constant.numeric",
3478
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
3479
+ }, {
3480
+ token: "punctuation.operator",
3481
+ regex: ",",
3482
+ next: "function_arguments"
3483
+ }, {
3484
+ token: "text",
3485
+ regex: "\\s+"
3486
+ }, {
3487
+ token: "punctuation.operator",
3488
+ regex: "$"
3489
+ }, {
3490
+ token: "empty",
3491
+ regex: "",
3492
+ next: "no_regex"
3493
+ }
3494
+ ],
3503
3495
  "function_arguments": [
3496
+ comments("function_arguments"),
3504
3497
  {
3505
3498
  token: "variable.parameter",
3506
3499
  regex: identifierRe
3507
3500
  }, {
3508
3501
  token: "punctuation.operator",
3509
- regex: "[, ]+"
3502
+ regex: ","
3503
+ }, {
3504
+ token: "text",
3505
+ regex: "\\s+"
3510
3506
  }, {
3511
3507
  token: "punctuation.operator",
3512
3508
  regex: "$"
@@ -3516,44 +3512,42 @@ var JavaScriptHighlightRules = function(options) {
3516
3512
  next: "no_regex"
3517
3513
  }
3518
3514
  ],
3519
- "qqstring" : [
3515
+ "qqstring": [
3520
3516
  {
3521
- token : "constant.language.escape",
3522
- regex : escapedRe
3517
+ token: "constant.language.escape",
3518
+ regex: escapedRe
3523
3519
  }, {
3524
- token : "string",
3525
- regex : "\\\\$",
3526
- consumeLineEnd : true
3520
+ token: "string",
3521
+ regex: "\\\\$",
3522
+ consumeLineEnd: true
3527
3523
  }, {
3528
- token : "string",
3529
- regex : '"|$',
3530
- next : "no_regex"
3524
+ token: "string",
3525
+ regex: '"|$',
3526
+ next: "no_regex"
3531
3527
  }, {
3532
3528
  defaultToken: "string"
3533
3529
  }
3534
3530
  ],
3535
- "qstring" : [
3531
+ "qstring": [
3536
3532
  {
3537
- token : "constant.language.escape",
3538
- regex : escapedRe
3533
+ token: "constant.language.escape",
3534
+ regex: escapedRe
3539
3535
  }, {
3540
- token : "string",
3541
- regex : "\\\\$",
3542
- consumeLineEnd : true
3536
+ token: "string",
3537
+ regex: "\\\\$",
3538
+ consumeLineEnd: true
3543
3539
  }, {
3544
- token : "string",
3545
- regex : "'|$",
3546
- next : "no_regex"
3540
+ token: "string",
3541
+ regex: "'|$",
3542
+ next: "no_regex"
3547
3543
  }, {
3548
3544
  defaultToken: "string"
3549
3545
  }
3550
3546
  ]
3551
3547
  };
3552
-
3553
-
3554
3548
  if (!options || !options.noES6) {
3555
3549
  this.$rules.no_regex.unshift({
3556
- regex: "[{}]", onMatch: function(val, state, stack) {
3550
+ regex: "[{}]", onMatch: function (val, state, stack) {
3557
3551
  this.next = val == "{" ? this.nextState : "";
3558
3552
  if (val == "{" && stack.length) {
3559
3553
  stack.unshift("start", state);
@@ -3568,40 +3562,60 @@ var JavaScriptHighlightRules = function(options) {
3568
3562
  },
3569
3563
  nextState: "start"
3570
3564
  }, {
3571
- token : "string.quasi.start",
3572
- regex : /`/,
3573
- push : [{
3574
- token : "constant.language.escape",
3575
- regex : escapedRe
3576
- }, {
3577
- token : "paren.quasi.start",
3578
- regex : /\${/,
3579
- push : "start"
3580
- }, {
3581
- token : "string.quasi.end",
3582
- regex : /`/,
3583
- next : "pop"
3584
- }, {
3585
- defaultToken: "string.quasi"
3586
- }]
3565
+ token: "string.quasi.start",
3566
+ regex: /`/,
3567
+ push: [{
3568
+ token: "constant.language.escape",
3569
+ regex: escapedRe
3570
+ }, {
3571
+ token: "paren.quasi.start",
3572
+ regex: /\${/,
3573
+ push: "start"
3574
+ }, {
3575
+ token: "string.quasi.end",
3576
+ regex: /`/,
3577
+ next: "pop"
3578
+ }, {
3579
+ defaultToken: "string.quasi"
3580
+ }]
3581
+ }, {
3582
+ token: ["variable.parameter", "text"],
3583
+ regex: "(" + identifierRe + ")(\\s*)(?=\\=>)"
3584
+ }, {
3585
+ token: "paren.lparen",
3586
+ regex: "(\\()(?=.+\\s*=>)",
3587
+ next: "function_arguments"
3588
+ }, {
3589
+ token: "variable.language",
3590
+ regex: "(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"
3591
+ });
3592
+ this.$rules["function_arguments"].unshift({
3593
+ token: "keyword.operator",
3594
+ regex: "=",
3595
+ next: "default_parameter"
3596
+ }, {
3597
+ token: "keyword.operator",
3598
+ regex: "\\.{3}"
3599
+ });
3600
+ this.$rules["property"].unshift({
3601
+ token: "support.function",
3602
+ regex: "(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|"
3603
+ + "finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"
3604
+ }, {
3605
+ token: "constant.language",
3606
+ regex: "(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"
3587
3607
  });
3588
-
3589
3608
  if (!options || options.jsx != false)
3590
3609
  JSX.call(this);
3591
3610
  }
3592
-
3593
- this.embedRules(DocCommentHighlightRules, "doc-",
3594
- [ DocCommentHighlightRules.getEndRule("no_regex") ]);
3595
-
3611
+ this.embedRules(DocCommentHighlightRules, "doc-", [DocCommentHighlightRules.getEndRule("no_regex")]);
3596
3612
  this.normalizeRules();
3597
3613
  };
3598
-
3599
3614
  oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
3600
-
3601
3615
  function JSX() {
3602
3616
  var tagRegex = identifierRe.replace("\\d", "\\d\\-");
3603
3617
  var jsxTag = {
3604
- onMatch : function(val, state, stack) {
3618
+ onMatch: function (val, state, stack) {
3605
3619
  var offset = val.charAt(1) == "/" ? 2 : 1;
3606
3620
  if (offset == 1) {
3607
3621
  if (state != this.nextState)
@@ -3609,7 +3623,8 @@ function JSX() {
3609
3623
  else
3610
3624
  stack.unshift(this.next);
3611
3625
  stack[2]++;
3612
- } else if (offset == 2) {
3626
+ }
3627
+ else if (offset == 2) {
3613
3628
  if (state == this.nextState) {
3614
3629
  stack[1]--;
3615
3630
  if (!stack[1] || stack[1] < 0) {
@@ -3619,14 +3634,14 @@ function JSX() {
3619
3634
  }
3620
3635
  }
3621
3636
  return [{
3622
- type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
3623
- value: val.slice(0, offset)
3624
- }, {
3625
- type: "meta.tag.tag-name.xml",
3626
- value: val.substr(offset)
3627
- }];
3637
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
3638
+ value: val.slice(0, offset)
3639
+ }, {
3640
+ type: "meta.tag.tag-name.xml",
3641
+ value: val.substr(offset)
3642
+ }];
3628
3643
  },
3629
- regex : "</?" + tagRegex + "",
3644
+ regex: "</?" + tagRegex + "",
3630
3645
  next: "jsxAttributes",
3631
3646
  nextState: "jsx"
3632
3647
  };
@@ -3639,462 +3654,417 @@ function JSX() {
3639
3654
  this.$rules.jsx = [
3640
3655
  jsxJsRule,
3641
3656
  jsxTag,
3642
- {include : "reference"},
3643
- {defaultToken: "string"}
3657
+ { include: "reference" },
3658
+ { defaultToken: "string" }
3644
3659
  ];
3645
3660
  this.$rules.jsxAttributes = [{
3646
- token : "meta.tag.punctuation.tag-close.xml",
3647
- regex : "/?>",
3648
- onMatch : function(value, currentState, stack) {
3649
- if (currentState == stack[0])
3650
- stack.shift();
3651
- if (value.length == 2) {
3652
- if (stack[0] == this.nextState)
3653
- stack[1]--;
3654
- if (!stack[1] || stack[1] < 0) {
3655
- stack.splice(0, 2);
3661
+ token: "meta.tag.punctuation.tag-close.xml",
3662
+ regex: "/?>",
3663
+ onMatch: function (value, currentState, stack) {
3664
+ if (currentState == stack[0])
3665
+ stack.shift();
3666
+ if (value.length == 2) {
3667
+ if (stack[0] == this.nextState)
3668
+ stack[1]--;
3669
+ if (!stack[1] || stack[1] < 0) {
3670
+ stack.splice(0, 2);
3671
+ }
3656
3672
  }
3657
- }
3658
- this.next = stack[0] || "start";
3659
- return [{type: this.token, value: value}];
3673
+ this.next = stack[0] || "start";
3674
+ return [{ type: this.token, value: value }];
3675
+ },
3676
+ nextState: "jsx"
3660
3677
  },
3661
- nextState: "jsx"
3662
- },
3663
- jsxJsRule,
3664
- comments("jsxAttributes"),
3665
- {
3666
- token : "entity.other.attribute-name.xml",
3667
- regex : tagRegex
3668
- }, {
3669
- token : "keyword.operator.attribute-equals.xml",
3670
- regex : "="
3671
- }, {
3672
- token : "text.tag-whitespace.xml",
3673
- regex : "\\s+"
3674
- }, {
3675
- token : "string.attribute-value.xml",
3676
- regex : "'",
3677
- stateName : "jsx_attr_q",
3678
- push : [
3679
- {token : "string.attribute-value.xml", regex: "'", next: "pop"},
3680
- {include : "reference"},
3681
- {defaultToken : "string.attribute-value.xml"}
3682
- ]
3683
- }, {
3684
- token : "string.attribute-value.xml",
3685
- regex : '"',
3686
- stateName : "jsx_attr_qq",
3687
- push : [
3688
- {token : "string.attribute-value.xml", regex: '"', next: "pop"},
3689
- {include : "reference"},
3690
- {defaultToken : "string.attribute-value.xml"}
3691
- ]
3692
- },
3693
- jsxTag
3678
+ jsxJsRule,
3679
+ comments("jsxAttributes"),
3680
+ {
3681
+ token: "entity.other.attribute-name.xml",
3682
+ regex: tagRegex
3683
+ }, {
3684
+ token: "keyword.operator.attribute-equals.xml",
3685
+ regex: "="
3686
+ }, {
3687
+ token: "text.tag-whitespace.xml",
3688
+ regex: "\\s+"
3689
+ }, {
3690
+ token: "string.attribute-value.xml",
3691
+ regex: "'",
3692
+ stateName: "jsx_attr_q",
3693
+ push: [
3694
+ { token: "string.attribute-value.xml", regex: "'", next: "pop" },
3695
+ { include: "reference" },
3696
+ { defaultToken: "string.attribute-value.xml" }
3697
+ ]
3698
+ }, {
3699
+ token: "string.attribute-value.xml",
3700
+ regex: '"',
3701
+ stateName: "jsx_attr_qq",
3702
+ push: [
3703
+ { token: "string.attribute-value.xml", regex: '"', next: "pop" },
3704
+ { include: "reference" },
3705
+ { defaultToken: "string.attribute-value.xml" }
3706
+ ]
3707
+ },
3708
+ jsxTag
3694
3709
  ];
3695
3710
  this.$rules.reference = [{
3696
- token : "constant.language.escape.reference.xml",
3697
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3698
- }];
3711
+ token: "constant.language.escape.reference.xml",
3712
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3713
+ }];
3699
3714
  }
3700
-
3701
3715
  function comments(next) {
3702
3716
  return [
3703
3717
  {
3704
- token : "comment", // multi line comment
3705
- regex : /\/\*/,
3718
+ token: "comment",
3719
+ regex: /\/\*/,
3706
3720
  next: [
3707
3721
  DocCommentHighlightRules.getTagRule(),
3708
- {token : "comment", regex : "\\*\\/", next : next || "pop"},
3709
- {defaultToken : "comment", caseInsensitive: true}
3722
+ { token: "comment", regex: "\\*\\/", next: next || "pop" },
3723
+ { defaultToken: "comment", caseInsensitive: true }
3710
3724
  ]
3711
3725
  }, {
3712
- token : "comment",
3713
- regex : "\\/\\/",
3726
+ token: "comment",
3727
+ regex: "\\/\\/",
3714
3728
  next: [
3715
3729
  DocCommentHighlightRules.getTagRule(),
3716
- {token : "comment", regex : "$|^", next : next || "pop"},
3717
- {defaultToken : "comment", caseInsensitive: true}
3730
+ { token: "comment", regex: "$|^", next: next || "pop" },
3731
+ { defaultToken: "comment", caseInsensitive: true }
3718
3732
  ]
3719
3733
  }
3720
3734
  ];
3721
3735
  }
3722
3736
  exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
3723
- });
3724
3737
 
3725
- ace.define("ace/mode/xml_highlight_rules",[], function(require, exports, module) {
3726
- "use strict";
3738
+ });
3727
3739
 
3740
+ ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
3728
3741
  var oop = require("../lib/oop");
3729
3742
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
3730
-
3731
- var XmlHighlightRules = function(normalize) {
3743
+ var XmlHighlightRules = function (normalize) {
3732
3744
  var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";
3733
-
3734
3745
  this.$rules = {
3735
- start : [
3736
- {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
3746
+ start: [
3747
+ { token: "string.cdata.xml", regex: "<\\!\\[CDATA\\[", next: "cdata" },
3737
3748
  {
3738
- token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
3739
- regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
3749
+ token: ["punctuation.instruction.xml", "keyword.instruction.xml"],
3750
+ regex: "(<\\?)(" + tagRegex + ")", next: "processing_instruction"
3740
3751
  },
3741
- {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
3752
+ { token: "comment.start.xml", regex: "<\\!--", next: "comment" },
3742
3753
  {
3743
- token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
3744
- regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
3754
+ token: ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
3755
+ regex: "(<\\!)(DOCTYPE)(?=[\\s])", next: "doctype", caseInsensitive: true
3745
3756
  },
3746
- {include : "tag"},
3747
- {token : "text.end-tag-open.xml", regex: "</"},
3748
- {token : "text.tag-open.xml", regex: "<"},
3749
- {include : "reference"},
3750
- {defaultToken : "text.xml"}
3757
+ { include: "tag" },
3758
+ { token: "text.end-tag-open.xml", regex: "</" },
3759
+ { token: "text.tag-open.xml", regex: "<" },
3760
+ { include: "reference" },
3761
+ { defaultToken: "text.xml" }
3751
3762
  ],
3752
-
3753
- processing_instruction : [{
3754
- token : "entity.other.attribute-name.decl-attribute-name.xml",
3755
- regex : tagRegex
3756
- }, {
3757
- token : "keyword.operator.decl-attribute-equals.xml",
3758
- regex : "="
3759
- }, {
3760
- include: "whitespace"
3761
- }, {
3762
- include: "string"
3763
- }, {
3764
- token : "punctuation.xml-decl.xml",
3765
- regex : "\\?>",
3766
- next : "start"
3767
- }],
3768
-
3769
- doctype : [
3770
- {include : "whitespace"},
3771
- {include : "string"},
3772
- {token : "xml-pe.doctype.xml", regex : ">", next : "start"},
3773
- {token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
3774
- {token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
3763
+ processing_instruction: [{
3764
+ token: "entity.other.attribute-name.decl-attribute-name.xml",
3765
+ regex: tagRegex
3766
+ }, {
3767
+ token: "keyword.operator.decl-attribute-equals.xml",
3768
+ regex: "="
3769
+ }, {
3770
+ include: "whitespace"
3771
+ }, {
3772
+ include: "string"
3773
+ }, {
3774
+ token: "punctuation.xml-decl.xml",
3775
+ regex: "\\?>",
3776
+ next: "start"
3777
+ }],
3778
+ doctype: [
3779
+ { include: "whitespace" },
3780
+ { include: "string" },
3781
+ { token: "xml-pe.doctype.xml", regex: ">", next: "start" },
3782
+ { token: "xml-pe.xml", regex: "[-_a-zA-Z0-9:]+" },
3783
+ { token: "punctuation.int-subset", regex: "\\[", push: "int_subset" }
3775
3784
  ],
3776
-
3777
- int_subset : [{
3778
- token : "text.xml",
3779
- regex : "\\s+"
3780
- }, {
3781
- token: "punctuation.int-subset.xml",
3782
- regex: "]",
3783
- next: "pop"
3784
- }, {
3785
- token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
3786
- regex : "(<\\!)(" + tagRegex + ")",
3787
- push : [{
3788
- token : "text",
3789
- regex : "\\s+"
3790
- },
3791
- {
3792
- token : "punctuation.markup-decl.xml",
3793
- regex : ">",
3794
- next : "pop"
3795
- },
3796
- {include : "string"}]
3797
- }],
3798
-
3799
- cdata : [
3800
- {token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},
3801
- {token : "text.xml", regex : "\\s+"},
3802
- {token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
3785
+ int_subset: [{
3786
+ token: "text.xml",
3787
+ regex: "\\s+"
3788
+ }, {
3789
+ token: "punctuation.int-subset.xml",
3790
+ regex: "]",
3791
+ next: "pop"
3792
+ }, {
3793
+ token: ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
3794
+ regex: "(<\\!)(" + tagRegex + ")",
3795
+ push: [{
3796
+ token: "text",
3797
+ regex: "\\s+"
3798
+ },
3799
+ {
3800
+ token: "punctuation.markup-decl.xml",
3801
+ regex: ">",
3802
+ next: "pop"
3803
+ },
3804
+ { include: "string" }]
3805
+ }],
3806
+ cdata: [
3807
+ { token: "string.cdata.xml", regex: "\\]\\]>", next: "start" },
3808
+ { token: "text.xml", regex: "\\s+" },
3809
+ { token: "text.xml", regex: "(?:[^\\]]|\\](?!\\]>))+" }
3803
3810
  ],
3804
-
3805
- comment : [
3806
- {token : "comment.end.xml", regex : "-->", next : "start"},
3807
- {defaultToken : "comment.xml"}
3811
+ comment: [
3812
+ { token: "comment.end.xml", regex: "-->", next: "start" },
3813
+ { defaultToken: "comment.xml" }
3808
3814
  ],
3809
-
3810
- reference : [{
3811
- token : "constant.language.escape.reference.xml",
3812
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3813
- }],
3814
-
3815
- attr_reference : [{
3816
- token : "constant.language.escape.reference.attribute-value.xml",
3817
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3818
- }],
3819
-
3820
- tag : [{
3821
- token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
3822
- regex : "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
3823
- next: [
3824
- {include : "attributes"},
3825
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
3826
- ]
3827
- }],
3828
-
3829
- tag_whitespace : [
3830
- {token : "text.tag-whitespace.xml", regex : "\\s+"}
3815
+ reference: [{
3816
+ token: "constant.language.escape.reference.xml",
3817
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3818
+ }],
3819
+ attr_reference: [{
3820
+ token: "constant.language.escape.reference.attribute-value.xml",
3821
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
3822
+ }],
3823
+ tag: [{
3824
+ token: ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
3825
+ regex: "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
3826
+ next: [
3827
+ { include: "attributes" },
3828
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
3829
+ ]
3830
+ }],
3831
+ tag_whitespace: [
3832
+ { token: "text.tag-whitespace.xml", regex: "\\s+" }
3831
3833
  ],
3832
- whitespace : [
3833
- {token : "text.whitespace.xml", regex : "\\s+"}
3834
+ whitespace: [
3835
+ { token: "text.whitespace.xml", regex: "\\s+" }
3834
3836
  ],
3835
3837
  string: [{
3836
- token : "string.xml",
3837
- regex : "'",
3838
- push : [
3839
- {token : "string.xml", regex: "'", next: "pop"},
3840
- {defaultToken : "string.xml"}
3841
- ]
3842
- }, {
3843
- token : "string.xml",
3844
- regex : '"',
3845
- push : [
3846
- {token : "string.xml", regex: '"', next: "pop"},
3847
- {defaultToken : "string.xml"}
3848
- ]
3849
- }],
3850
-
3838
+ token: "string.xml",
3839
+ regex: "'",
3840
+ push: [
3841
+ { token: "string.xml", regex: "'", next: "pop" },
3842
+ { defaultToken: "string.xml" }
3843
+ ]
3844
+ }, {
3845
+ token: "string.xml",
3846
+ regex: '"',
3847
+ push: [
3848
+ { token: "string.xml", regex: '"', next: "pop" },
3849
+ { defaultToken: "string.xml" }
3850
+ ]
3851
+ }],
3851
3852
  attributes: [{
3852
- token : "entity.other.attribute-name.xml",
3853
- regex : tagRegex
3854
- }, {
3855
- token : "keyword.operator.attribute-equals.xml",
3856
- regex : "="
3857
- }, {
3858
- include: "tag_whitespace"
3859
- }, {
3860
- include: "attribute_value"
3861
- }],
3862
-
3853
+ token: "entity.other.attribute-name.xml",
3854
+ regex: tagRegex
3855
+ }, {
3856
+ token: "keyword.operator.attribute-equals.xml",
3857
+ regex: "="
3858
+ }, {
3859
+ include: "tag_whitespace"
3860
+ }, {
3861
+ include: "attribute_value"
3862
+ }],
3863
3863
  attribute_value: [{
3864
- token : "string.attribute-value.xml",
3865
- regex : "'",
3866
- push : [
3867
- {token : "string.attribute-value.xml", regex: "'", next: "pop"},
3868
- {include : "attr_reference"},
3869
- {defaultToken : "string.attribute-value.xml"}
3870
- ]
3871
- }, {
3872
- token : "string.attribute-value.xml",
3873
- regex : '"',
3874
- push : [
3875
- {token : "string.attribute-value.xml", regex: '"', next: "pop"},
3876
- {include : "attr_reference"},
3877
- {defaultToken : "string.attribute-value.xml"}
3878
- ]
3879
- }]
3864
+ token: "string.attribute-value.xml",
3865
+ regex: "'",
3866
+ push: [
3867
+ { token: "string.attribute-value.xml", regex: "'", next: "pop" },
3868
+ { include: "attr_reference" },
3869
+ { defaultToken: "string.attribute-value.xml" }
3870
+ ]
3871
+ }, {
3872
+ token: "string.attribute-value.xml",
3873
+ regex: '"',
3874
+ push: [
3875
+ { token: "string.attribute-value.xml", regex: '"', next: "pop" },
3876
+ { include: "attr_reference" },
3877
+ { defaultToken: "string.attribute-value.xml" }
3878
+ ]
3879
+ }]
3880
3880
  };
3881
-
3882
3881
  if (this.constructor === XmlHighlightRules)
3883
3882
  this.normalizeRules();
3884
3883
  };
3885
-
3886
-
3887
- (function() {
3888
-
3889
- this.embedTagRules = function(HighlightRules, prefix, tag){
3884
+ (function () {
3885
+ this.embedTagRules = function (HighlightRules, prefix, tag) {
3890
3886
  this.$rules.tag.unshift({
3891
- token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
3892
- regex : "(<)(" + tag + "(?=\\s|>|$))",
3887
+ token: ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
3888
+ regex: "(<)(" + tag + "(?=\\s|>|$))",
3893
3889
  next: [
3894
- {include : "attributes"},
3895
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}
3890
+ { include: "attributes" },
3891
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: prefix + "start" }
3896
3892
  ]
3897
3893
  });
3898
-
3899
3894
  this.$rules[tag + "-end"] = [
3900
- {include : "attributes"},
3901
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",
3902
- onMatch : function(value, currentState, stack) {
3895
+ { include: "attributes" },
3896
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start",
3897
+ onMatch: function (value, currentState, stack) {
3903
3898
  stack.splice(0);
3904
3899
  return this.token;
3905
- }}
3900
+ } }
3906
3901
  ];
3907
-
3908
3902
  this.embedRules(HighlightRules, prefix, [{
3909
- token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
3910
- regex : "(</)(" + tag + "(?=\\s|>|$))",
3911
- next: tag + "-end"
3912
- }, {
3913
- token: "string.cdata.xml",
3914
- regex : "<\\!\\[CDATA\\["
3915
- }, {
3916
- token: "string.cdata.xml",
3917
- regex : "\\]\\]>"
3918
- }]);
3903
+ token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
3904
+ regex: "(</)(" + tag + "(?=\\s|>|$))",
3905
+ next: tag + "-end"
3906
+ }, {
3907
+ token: "string.cdata.xml",
3908
+ regex: "<\\!\\[CDATA\\["
3909
+ }, {
3910
+ token: "string.cdata.xml",
3911
+ regex: "\\]\\]>"
3912
+ }]);
3919
3913
  };
3920
-
3921
3914
  }).call(TextHighlightRules.prototype);
3922
-
3923
3915
  oop.inherits(XmlHighlightRules, TextHighlightRules);
3924
-
3925
3916
  exports.XmlHighlightRules = XmlHighlightRules;
3926
- });
3927
3917
 
3928
- ace.define("ace/mode/html_highlight_rules",[], function(require, exports, module) {
3929
- "use strict";
3918
+ });
3930
3919
 
3920
+ ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"], function(require, exports, module){"use strict";
3931
3921
  var oop = require("../lib/oop");
3932
3922
  var lang = require("../lib/lang");
3933
3923
  var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
3934
3924
  var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
3935
3925
  var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
3936
-
3937
3926
  var tagMap = lang.createMap({
3938
- a : 'anchor',
3939
- button : 'form',
3940
- form : 'form',
3941
- img : 'image',
3942
- input : 'form',
3943
- label : 'form',
3944
- option : 'form',
3945
- script : 'script',
3946
- select : 'form',
3947
- textarea : 'form',
3948
- style : 'style',
3949
- table : 'table',
3950
- tbody : 'table',
3951
- td : 'table',
3952
- tfoot : 'table',
3953
- th : 'table',
3954
- tr : 'table'
3927
+ a: 'anchor',
3928
+ button: 'form',
3929
+ form: 'form',
3930
+ img: 'image',
3931
+ input: 'form',
3932
+ label: 'form',
3933
+ option: 'form',
3934
+ script: 'script',
3935
+ select: 'form',
3936
+ textarea: 'form',
3937
+ style: 'style',
3938
+ table: 'table',
3939
+ tbody: 'table',
3940
+ td: 'table',
3941
+ tfoot: 'table',
3942
+ th: 'table',
3943
+ tr: 'table'
3955
3944
  });
3956
-
3957
- var HtmlHighlightRules = function() {
3945
+ var HtmlHighlightRules = function () {
3958
3946
  XmlHighlightRules.call(this);
3959
-
3960
3947
  this.addRules({
3961
3948
  attributes: [{
3962
- include : "tag_whitespace"
3963
- }, {
3964
- token : "entity.other.attribute-name.xml",
3965
- regex : "[-_a-zA-Z0-9:.]+"
3966
- }, {
3967
- token : "keyword.operator.attribute-equals.xml",
3968
- regex : "=",
3969
- push : [{
3970
3949
  include: "tag_whitespace"
3971
3950
  }, {
3972
- token : "string.unquoted.attribute-value.html",
3973
- regex : "[^<>='\"`\\s]+",
3974
- next : "pop"
3975
- }, {
3976
- token : "empty",
3977
- regex : "",
3978
- next : "pop"
3979
- }]
3980
- }, {
3981
- include : "attribute_value"
3982
- }],
3951
+ token: "entity.other.attribute-name.xml",
3952
+ regex: "[-_a-zA-Z0-9:.]+"
3953
+ }, {
3954
+ token: "keyword.operator.attribute-equals.xml",
3955
+ regex: "=",
3956
+ push: [{
3957
+ include: "tag_whitespace"
3958
+ }, {
3959
+ token: "string.unquoted.attribute-value.html",
3960
+ regex: "[^<>='\"`\\s]+",
3961
+ next: "pop"
3962
+ }, {
3963
+ token: "empty",
3964
+ regex: "",
3965
+ next: "pop"
3966
+ }]
3967
+ }, {
3968
+ include: "attribute_value"
3969
+ }],
3983
3970
  tag: [{
3984
- token : function(start, tag) {
3985
- var group = tagMap[tag];
3986
- return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
3987
- "meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
3988
- },
3989
- regex : "(</?)([-_a-zA-Z0-9:.]+)",
3990
- next: "tag_stuff"
3991
- }],
3971
+ token: function (start, tag) {
3972
+ var group = tagMap[tag];
3973
+ return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
3974
+ "meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
3975
+ },
3976
+ regex: "(</?)([-_a-zA-Z0-9:.]+)",
3977
+ next: "tag_stuff"
3978
+ }],
3992
3979
  tag_stuff: [
3993
- {include : "attributes"},
3994
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
3980
+ { include: "attributes" },
3981
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
3995
3982
  ]
3996
3983
  });
3997
-
3998
3984
  this.embedTagRules(CssHighlightRules, "css-", "style");
3999
- this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), "js-", "script");
4000
-
3985
+ this.embedTagRules(new JavaScriptHighlightRules({ jsx: false }).getRules(), "js-", "script");
4001
3986
  if (this.constructor === HtmlHighlightRules)
4002
3987
  this.normalizeRules();
4003
3988
  };
4004
-
4005
3989
  oop.inherits(HtmlHighlightRules, XmlHighlightRules);
4006
-
4007
3990
  exports.HtmlHighlightRules = HtmlHighlightRules;
4008
- });
4009
3991
 
4010
- ace.define("ace/mode/csound_document_highlight_rules",[], function(require, exports, module) {
4011
- "use strict";
3992
+ });
4012
3993
 
3994
+ ace.define("ace/mode/csound_document_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_orchestra_highlight_rules","ace/mode/csound_score_highlight_rules","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
4013
3995
  var oop = require("../lib/oop");
4014
-
4015
3996
  var CsoundOrchestraHighlightRules = require("./csound_orchestra_highlight_rules").CsoundOrchestraHighlightRules;
4016
3997
  var CsoundScoreHighlightRules = require("./csound_score_highlight_rules").CsoundScoreHighlightRules;
4017
3998
  var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
4018
3999
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
4019
-
4020
- var CsoundDocumentHighlightRules = function() {
4021
-
4000
+ var CsoundDocumentHighlightRules = function () {
4022
4001
  var orchestraHighlightRules = new CsoundOrchestraHighlightRules("csound-");
4023
4002
  var scoreHighlightRules = new CsoundScoreHighlightRules("csound-score-");
4024
-
4025
4003
  this.$rules = {
4026
4004
  "start": [
4027
4005
  {
4028
- token : ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4029
- regex : /(<)(CsoundSynthesi[sz]er)(>)/,
4030
- next : "synthesizer"
4006
+ token: ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4007
+ regex: /(<)(CsoundSynthesi[sz]er)(>)/,
4008
+ next: "synthesizer"
4031
4009
  },
4032
- {defaultToken : "text.csound-document"}
4010
+ { defaultToken: "text.csound-document" }
4033
4011
  ],
4034
-
4035
4012
  "synthesizer": [
4036
4013
  {
4037
- token : ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4038
- regex : "(</)(CsoundSynthesi[sz]er)(>)",
4039
- next : "start"
4014
+ token: ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4015
+ regex: "(</)(CsoundSynthesi[sz]er)(>)",
4016
+ next: "start"
4040
4017
  }, {
4041
- token : ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4042
- regex : "(<)(CsInstruments)(>)",
4043
- next : orchestraHighlightRules.embeddedRulePrefix + "start"
4018
+ token: ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4019
+ regex: "(<)(CsInstruments)(>)",
4020
+ next: orchestraHighlightRules.embeddedRulePrefix + "start"
4044
4021
  }, {
4045
- token : ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4046
- regex : "(<)(CsScore)(>)",
4047
- next : scoreHighlightRules.embeddedRulePrefix + "start"
4022
+ token: ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4023
+ regex: "(<)(CsScore)(>)",
4024
+ next: scoreHighlightRules.embeddedRulePrefix + "start"
4048
4025
  }, {
4049
- token : ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4050
- regex : "(<)([Hh][Tt][Mm][Ll])(>)",
4051
- next : "html-start"
4026
+ token: ["meta.tag.punctuation.tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4027
+ regex: "(<)([Hh][Tt][Mm][Ll])(>)",
4028
+ next: "html-start"
4052
4029
  }
4053
4030
  ]
4054
4031
  };
4055
-
4056
4032
  this.embedRules(orchestraHighlightRules.getRules(), orchestraHighlightRules.embeddedRulePrefix, [{
4057
- token : ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4058
- regex : "(</)(CsInstruments)(>)",
4059
- next : "synthesizer"
4060
- }]);
4033
+ token: ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4034
+ regex: "(</)(CsInstruments)(>)",
4035
+ next: "synthesizer"
4036
+ }]);
4061
4037
  this.embedRules(scoreHighlightRules.getRules(), scoreHighlightRules.embeddedRulePrefix, [{
4062
- token : ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4063
- regex : "(</)(CsScore)(>)",
4064
- next : "synthesizer"
4065
- }]);
4038
+ token: ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4039
+ regex: "(</)(CsScore)(>)",
4040
+ next: "synthesizer"
4041
+ }]);
4066
4042
  this.embedRules(HtmlHighlightRules, "html-", [{
4067
- token : ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4068
- regex : "(</)([Hh][Tt][Mm][Ll])(>)",
4069
- next : "synthesizer"
4070
- }]);
4071
-
4043
+ token: ["meta.tag.punctuation.end-tag-open.csound-document", "entity.name.tag.begin.csound-document", "meta.tag.punctuation.tag-close.csound-document"],
4044
+ regex: "(</)([Hh][Tt][Mm][Ll])(>)",
4045
+ next: "synthesizer"
4046
+ }]);
4072
4047
  this.normalizeRules();
4073
4048
  };
4074
-
4075
4049
  oop.inherits(CsoundDocumentHighlightRules, TextHighlightRules);
4076
-
4077
4050
  exports.CsoundDocumentHighlightRules = CsoundDocumentHighlightRules;
4078
- });
4079
4051
 
4080
- ace.define("ace/mode/csound_document",[], function(require, exports, module) {
4081
- "use strict";
4052
+ });
4082
4053
 
4054
+ ace.define("ace/mode/csound_document",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csound_document_highlight_rules"], function(require, exports, module){"use strict";
4083
4055
  var oop = require("../lib/oop");
4084
4056
  var TextMode = require("./text").Mode;
4085
4057
  var CsoundDocumentHighlightRules = require("./csound_document_highlight_rules").CsoundDocumentHighlightRules;
4086
-
4087
- var Mode = function() {
4058
+ var Mode = function () {
4088
4059
  this.HighlightRules = CsoundDocumentHighlightRules;
4089
4060
  };
4090
4061
  oop.inherits(Mode, TextMode);
4091
-
4092
- (function() {
4062
+ (function () {
4093
4063
  this.$id = "ace/mode/csound_document";
4094
4064
  this.snippetFileId = "ace/snippets/csound_document";
4095
4065
  }).call(Mode.prototype);
4096
-
4097
4066
  exports.Mode = Mode;
4067
+
4098
4068
  }); (function() {
4099
4069
  ace.require(["ace/mode/csound_document"], function(m) {
4100
4070
  if (typeof module == "object" && typeof exports == "object" && module) {