@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,21 +1,16 @@
1
- ace.define("ace/mode/css_highlight_rules",[], function(require, exports, module) {
2
- "use strict";
3
-
1
+ 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";
4
2
  var oop = require("../lib/oop");
5
3
  var lang = require("../lib/lang");
6
4
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
7
5
  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";
8
6
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
9
- 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";
7
+ 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";
10
8
  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";
11
9
  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";
12
-
13
10
  var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
14
11
  var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
15
- 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";
16
-
17
- var CssHighlightRules = function() {
18
-
12
+ 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";
13
+ var CssHighlightRules = function () {
19
14
  var keywordMapper = this.createKeywordMapper({
20
15
  "support.function": supportFunction,
21
16
  "support.constant": supportConstant,
@@ -23,263 +18,317 @@ var CssHighlightRules = function() {
23
18
  "support.constant.color": supportConstantColor,
24
19
  "support.constant.fonts": supportConstantFonts
25
20
  }, "text", true);
26
-
27
21
  this.$rules = {
28
- "start" : [{
29
- include : ["strings", "url", "comments"]
30
- }, {
31
- token: "paren.lparen",
32
- regex: "\\{",
33
- next: "ruleset"
34
- }, {
35
- token: "paren.rparen",
36
- regex: "\\}"
37
- }, {
38
- token: "string",
39
- regex: "@(?!viewport)",
40
- next: "media"
41
- }, {
42
- token: "keyword",
43
- regex: "#[a-z0-9-_]+"
44
- }, {
45
- token: "keyword",
46
- regex: "%"
47
- }, {
48
- token: "variable",
49
- regex: "\\.[a-z0-9-_]+"
50
- }, {
51
- token: "string",
52
- regex: ":[a-z0-9-_]+"
53
- }, {
54
- token : "constant.numeric",
55
- regex : numRe
56
- }, {
57
- token: "constant",
58
- regex: "[a-z0-9-_]+"
59
- }, {
60
- caseInsensitive: true
61
- }],
62
-
22
+ "start": [{
23
+ include: ["strings", "url", "comments"]
24
+ }, {
25
+ token: "paren.lparen",
26
+ regex: "\\{",
27
+ next: "ruleset"
28
+ }, {
29
+ token: "paren.rparen",
30
+ regex: "\\}"
31
+ }, {
32
+ token: "string",
33
+ regex: "@(?!viewport)",
34
+ next: "media"
35
+ }, {
36
+ token: "keyword",
37
+ regex: "#[a-z0-9-_]+"
38
+ }, {
39
+ token: "keyword",
40
+ regex: "%"
41
+ }, {
42
+ token: "variable",
43
+ regex: "\\.[a-z0-9-_]+"
44
+ }, {
45
+ token: "string",
46
+ regex: ":[a-z0-9-_]+"
47
+ }, {
48
+ token: "constant.numeric",
49
+ regex: numRe
50
+ }, {
51
+ token: "constant",
52
+ regex: "[a-z0-9-_]+"
53
+ }, {
54
+ caseInsensitive: true
55
+ }],
63
56
  "media": [{
64
- include : ["strings", "url", "comments"]
65
- }, {
66
- token: "paren.lparen",
67
- regex: "\\{",
68
- next: "start"
69
- }, {
70
- token: "paren.rparen",
71
- regex: "\\}",
72
- next: "start"
73
- }, {
74
- token: "string",
75
- regex: ";",
76
- next: "start"
77
- }, {
78
- token: "keyword",
79
- regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
80
- + "|page|font|keyframes|viewport|counter-style|font-feature-values"
81
- + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
82
- }],
83
-
84
- "comments" : [{
85
- token: "comment", // multi line comment
86
- regex: "\\/\\*",
87
- push: [{
88
- token : "comment",
89
- regex : "\\*\\/",
90
- next : "pop"
57
+ include: ["strings", "url", "comments"]
91
58
  }, {
92
- defaultToken : "comment"
93
- }]
94
- }],
95
-
96
- "ruleset" : [{
97
- regex : "-(webkit|ms|moz|o)-",
98
- token : "text"
99
- }, {
100
- token : "punctuation.operator",
101
- regex : "[:;]"
102
- }, {
103
- token : "paren.rparen",
104
- regex : "\\}",
105
- next : "start"
106
- }, {
107
- include : ["strings", "url", "comments"]
108
- }, {
109
- token : ["constant.numeric", "keyword"],
110
- 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|%)"
111
- }, {
112
- token : "constant.numeric",
113
- regex : numRe
114
- }, {
115
- token : "constant.numeric", // hex6 color
116
- regex : "#[a-f0-9]{6}"
117
- }, {
118
- token : "constant.numeric", // hex3 color
119
- regex : "#[a-f0-9]{3}"
120
- }, {
121
- token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
122
- regex : pseudoElements
123
- }, {
124
- token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
125
- regex : pseudoClasses
126
- }, {
127
- include: "url"
128
- }, {
129
- token : keywordMapper,
130
- regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
131
- }, {
132
- caseInsensitive: true
133
- }],
134
-
135
- url: [{
136
- token : "support.function",
137
- regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
138
- push: [{
139
- token : "support.function",
140
- regex : "\\)",
141
- next : "pop"
59
+ token: "paren.lparen",
60
+ regex: "\\{",
61
+ next: "start"
142
62
  }, {
143
- defaultToken: "string"
144
- }]
145
- }],
146
-
147
- strings: [{
148
- token : "string.start",
149
- regex : "'",
150
- push : [{
151
- token : "string.end",
152
- regex : "'|$",
153
- next: "pop"
63
+ token: "paren.rparen",
64
+ regex: "\\}",
65
+ next: "start"
154
66
  }, {
155
- include : "escapes"
67
+ token: "string",
68
+ regex: ";",
69
+ next: "start"
156
70
  }, {
157
- token : "constant.language.escape",
158
- regex : /\\$/,
159
- consumeLineEnd: true
71
+ token: "keyword",
72
+ regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
73
+ + "|page|font|keyframes|viewport|counter-style|font-feature-values"
74
+ + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
75
+ }],
76
+ "comments": [{
77
+ token: "comment",
78
+ regex: "\\/\\*",
79
+ push: [{
80
+ token: "comment",
81
+ regex: "\\*\\/",
82
+ next: "pop"
83
+ }, {
84
+ defaultToken: "comment"
85
+ }]
86
+ }],
87
+ "ruleset": [{
88
+ regex: "-(webkit|ms|moz|o)-",
89
+ token: "text"
160
90
  }, {
161
- defaultToken: "string"
162
- }]
163
- }, {
164
- token : "string.start",
165
- regex : '"',
166
- push : [{
167
- token : "string.end",
168
- regex : '"|$',
169
- next: "pop"
91
+ token: "punctuation.operator",
92
+ regex: "[:;]"
170
93
  }, {
171
- include : "escapes"
94
+ token: "paren.rparen",
95
+ regex: "\\}",
96
+ next: "start"
172
97
  }, {
173
- token : "constant.language.escape",
174
- regex : /\\$/,
175
- consumeLineEnd: true
98
+ include: ["strings", "url", "comments"]
176
99
  }, {
177
- defaultToken: "string"
178
- }]
179
- }],
100
+ token: ["constant.numeric", "keyword"],
101
+ 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|%)"
102
+ }, {
103
+ token: "constant.numeric",
104
+ regex: numRe
105
+ }, {
106
+ token: "constant.numeric",
107
+ regex: "#[a-f0-9]{6}"
108
+ }, {
109
+ token: "constant.numeric",
110
+ regex: "#[a-f0-9]{3}"
111
+ }, {
112
+ token: ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
113
+ regex: pseudoElements
114
+ }, {
115
+ token: ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
116
+ regex: pseudoClasses
117
+ }, {
118
+ include: "url"
119
+ }, {
120
+ token: keywordMapper,
121
+ regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
122
+ }, {
123
+ caseInsensitive: true
124
+ }],
125
+ url: [{
126
+ token: "support.function",
127
+ regex: "(?:url(:?-prefix)?|domain|regexp)\\(",
128
+ push: [{
129
+ token: "support.function",
130
+ regex: "\\)",
131
+ next: "pop"
132
+ }, {
133
+ defaultToken: "string"
134
+ }]
135
+ }],
136
+ strings: [{
137
+ token: "string.start",
138
+ regex: "'",
139
+ push: [{
140
+ token: "string.end",
141
+ regex: "'|$",
142
+ next: "pop"
143
+ }, {
144
+ include: "escapes"
145
+ }, {
146
+ token: "constant.language.escape",
147
+ regex: /\\$/,
148
+ consumeLineEnd: true
149
+ }, {
150
+ defaultToken: "string"
151
+ }]
152
+ }, {
153
+ token: "string.start",
154
+ regex: '"',
155
+ push: [{
156
+ token: "string.end",
157
+ regex: '"|$',
158
+ next: "pop"
159
+ }, {
160
+ include: "escapes"
161
+ }, {
162
+ token: "constant.language.escape",
163
+ regex: /\\$/,
164
+ consumeLineEnd: true
165
+ }, {
166
+ defaultToken: "string"
167
+ }]
168
+ }],
180
169
  escapes: [{
181
- token : "constant.language.escape",
182
- regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
183
- }]
184
-
170
+ token: "constant.language.escape",
171
+ regex: /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
172
+ }]
185
173
  };
186
-
187
174
  this.normalizeRules();
188
175
  };
189
-
190
176
  oop.inherits(CssHighlightRules, TextHighlightRules);
191
-
192
177
  exports.CssHighlightRules = CssHighlightRules;
193
178
 
194
179
  });
195
180
 
196
- ace.define("ace/mode/doc_comment_highlight_rules",[], function(require, exports, module) {
197
- "use strict";
198
-
181
+ 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";
199
182
  var oop = require("../lib/oop");
200
183
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
201
-
202
- var DocCommentHighlightRules = function() {
184
+ var JsDocCommentHighlightRules = function () {
203
185
  this.$rules = {
204
- "start" : [ {
205
- token : "comment.doc.tag",
206
- regex : "@[\\w\\d_]+" // TODO: fix email addresses
207
- },
208
- DocCommentHighlightRules.getTagRule(),
209
- {
210
- defaultToken : "comment.doc",
211
- caseInsensitive: true
212
- }]
186
+ "start": [
187
+ {
188
+ token: ["comment.doc.tag", "comment.doc.text", "lparen.doc"],
189
+ regex: "(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",
190
+ push: [
191
+ {
192
+ token: "lparen.doc",
193
+ regex: "{",
194
+ push: [
195
+ {
196
+ include: "doc-syntax"
197
+ }, {
198
+ token: "rparen.doc",
199
+ regex: "}|(?=$)",
200
+ next: "pop"
201
+ }
202
+ ]
203
+ }, {
204
+ token: ["rparen.doc", "text.doc", "variable.parameter.doc", "lparen.doc", "variable.parameter.doc", "rparen.doc"],
205
+ regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.]+)(\])))/,
206
+ next: "pop"
207
+ }, {
208
+ token: "rparen.doc",
209
+ regex: "}|(?=$)",
210
+ next: "pop"
211
+ }, {
212
+ include: "doc-syntax"
213
+ }, {
214
+ defaultToken: "text.doc"
215
+ }
216
+ ]
217
+ }, {
218
+ token: ["comment.doc.tag", "text.doc", "lparen.doc"],
219
+ regex: "(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|"
220
+ + "implements|external|exception|throws|enum|define|extends))(\\s*)({)",
221
+ push: [
222
+ {
223
+ token: "lparen.doc",
224
+ regex: "{",
225
+ push: [
226
+ {
227
+ include: "doc-syntax"
228
+ }, {
229
+ token: "rparen.doc",
230
+ regex: "}|(?=$)",
231
+ next: "pop"
232
+ }
233
+ ]
234
+ }, {
235
+ token: "rparen.doc",
236
+ regex: "}|(?=$)",
237
+ next: "pop"
238
+ }, {
239
+ include: "doc-syntax"
240
+ }, {
241
+ defaultToken: "text.doc"
242
+ }
243
+ ]
244
+ }, {
245
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
246
+ regex: "(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|"
247
+ + "requires|param|implements|function|extends|typedef|mixes|constructor|var|"
248
+ + "memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|"
249
+ + "throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#\.:\/~\"\\-]*)?"
250
+ }, {
251
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
252
+ regex: "(@method)(\\s+)(\\w[\\w\.\\(\\)]*)"
253
+ }, {
254
+ token: "comment.doc.tag",
255
+ regex: "@access\\s+(?:private|public|protected)"
256
+ }, {
257
+ token: "comment.doc.tag",
258
+ regex: "@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"
259
+ }, {
260
+ token: "comment.doc.tag",
261
+ regex: "@\\w+(?=\\s|$)"
262
+ },
263
+ JsDocCommentHighlightRules.getTagRule(),
264
+ {
265
+ defaultToken: "comment.doc",
266
+ caseInsensitive: true
267
+ }
268
+ ],
269
+ "doc-syntax": [{
270
+ token: "operator.doc",
271
+ regex: /[|:]/
272
+ }, {
273
+ token: "paren.doc",
274
+ regex: /[\[\]]/
275
+ }]
213
276
  };
277
+ this.normalizeRules();
214
278
  };
215
-
216
- oop.inherits(DocCommentHighlightRules, TextHighlightRules);
217
-
218
- DocCommentHighlightRules.getTagRule = function(start) {
279
+ oop.inherits(JsDocCommentHighlightRules, TextHighlightRules);
280
+ JsDocCommentHighlightRules.getTagRule = function (start) {
219
281
  return {
220
- token : "comment.doc.tag.storage.type",
221
- regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
282
+ token: "comment.doc.tag.storage.type",
283
+ regex: "\\b(?:TODO|FIXME|XXX|HACK)\\b"
222
284
  };
223
285
  };
224
-
225
- DocCommentHighlightRules.getStartRule = function(start) {
286
+ JsDocCommentHighlightRules.getStartRule = function (start) {
226
287
  return {
227
- token : "comment.doc", // doc comment
228
- regex : "\\/\\*(?=\\*)",
229
- next : start
288
+ token: "comment.doc",
289
+ regex: "\\/\\*(?=\\*)",
290
+ next: start
230
291
  };
231
292
  };
232
-
233
- DocCommentHighlightRules.getEndRule = function (start) {
293
+ JsDocCommentHighlightRules.getEndRule = function (start) {
234
294
  return {
235
- token : "comment.doc", // closing comment
236
- regex : "\\*\\/",
237
- next : start
295
+ token: "comment.doc",
296
+ regex: "\\*\\/",
297
+ next: start
238
298
  };
239
299
  };
240
-
241
-
242
- exports.DocCommentHighlightRules = DocCommentHighlightRules;
300
+ exports.JsDocCommentHighlightRules = JsDocCommentHighlightRules;
243
301
 
244
302
  });
245
303
 
246
- ace.define("ace/mode/javascript_highlight_rules",[], function(require, exports, module) {
247
- "use strict";
248
-
304
+ 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";
249
305
  var oop = require("../lib/oop");
250
- var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
306
+ var DocCommentHighlightRules = require("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules;
251
307
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
252
308
  var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
253
-
254
- var JavaScriptHighlightRules = function(options) {
309
+ var JavaScriptHighlightRules = function (options) {
255
310
  var keywordMapper = this.createKeywordMapper({
256
- "variable.language":
257
- "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
258
- "Namespace|QName|XML|XMLList|" + // E4X
259
- "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
260
- "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
261
- "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
262
- "SyntaxError|TypeError|URIError|" +
311
+ "variable.language": "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|" + // Constructors
312
+ "Namespace|QName|XML|XMLList|" + // E4X
313
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
314
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
315
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
316
+ "SyntaxError|TypeError|URIError|" +
263
317
  "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
264
- "isNaN|parseFloat|parseInt|" +
265
- "JSON|Math|" + // Other
266
- "this|arguments|prototype|window|document" , // Pseudo
267
- "keyword":
268
- "const|yield|import|get|set|async|await|" +
318
+ "isNaN|parseFloat|parseInt|" +
319
+ "JSON|Math|" + // Other
320
+ "this|arguments|prototype|window|document",
321
+ "keyword": "const|yield|import|get|set|async|await|" +
269
322
  "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
270
323
  "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
271
324
  "__parent__|__count__|escape|unescape|with|__proto__|" +
272
- "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
273
- "storage.type":
274
- "const|let|var|function",
275
- "constant.language":
276
- "null|Infinity|NaN|undefined",
277
- "support.function":
278
- "alert",
325
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor",
326
+ "storage.type": "const|let|var|function",
327
+ "constant.language": "null|Infinity|NaN|undefined",
328
+ "support.function": "alert",
279
329
  "constant.language.boolean": "true|false"
280
330
  }, "identifier");
281
331
  var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
282
-
283
332
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
284
333
  "u[0-9a-fA-F]{4}|" + // unicode
285
334
  "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
@@ -287,143 +336,142 @@ var JavaScriptHighlightRules = function(options) {
287
336
  "3[0-7][0-7]?|" + // oct
288
337
  "[4-7][0-7]?|" + //oct
289
338
  ".)";
290
-
291
339
  this.$rules = {
292
- "no_regex" : [
340
+ "no_regex": [
293
341
  DocCommentHighlightRules.getStartRule("doc-start"),
294
342
  comments("no_regex"),
295
343
  {
296
- token : "string",
297
- regex : "'(?=.)",
298
- next : "qstring"
344
+ token: "string",
345
+ regex: "'(?=.)",
346
+ next: "qstring"
299
347
  }, {
300
- token : "string",
301
- regex : '"(?=.)',
302
- next : "qqstring"
348
+ token: "string",
349
+ regex: '"(?=.)',
350
+ next: "qqstring"
303
351
  }, {
304
- token : "constant.numeric", // hexadecimal, octal and binary
305
- regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
352
+ token: "constant.numeric",
353
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
306
354
  }, {
307
- token : "constant.numeric", // decimal integers and floats
308
- regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
355
+ token: "constant.numeric",
356
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
309
357
  }, {
310
- token : [
358
+ token: [
311
359
  "storage.type", "punctuation.operator", "support.function",
312
- "punctuation.operator", "entity.name.function", "text","keyword.operator"
360
+ "punctuation.operator", "entity.name.function", "text", "keyword.operator"
313
361
  ],
314
- regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
362
+ regex: "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe + ")(\\s*)(=)",
315
363
  next: "function_arguments"
316
364
  }, {
317
- token : [
365
+ token: [
318
366
  "storage.type", "punctuation.operator", "entity.name.function", "text",
319
367
  "keyword.operator", "text", "storage.type", "text", "paren.lparen"
320
368
  ],
321
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
369
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
322
370
  next: "function_arguments"
323
371
  }, {
324
- token : [
372
+ token: [
325
373
  "entity.name.function", "text", "keyword.operator", "text", "storage.type",
326
374
  "text", "paren.lparen"
327
375
  ],
328
- regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
376
+ regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
329
377
  next: "function_arguments"
330
378
  }, {
331
- token : [
379
+ token: [
332
380
  "storage.type", "punctuation.operator", "entity.name.function", "text",
333
381
  "keyword.operator", "text",
334
382
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
335
383
  ],
336
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
384
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s+)(\\w+)(\\s*)(\\()",
337
385
  next: "function_arguments"
338
386
  }, {
339
- token : [
387
+ token: [
340
388
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
341
389
  ],
342
- regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
390
+ regex: "(function\\*?)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
343
391
  next: "function_arguments"
344
392
  }, {
345
- token : [
393
+ token: [
346
394
  "entity.name.function", "text", "punctuation.operator",
347
395
  "text", "storage.type", "text", "paren.lparen"
348
396
  ],
349
- regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
397
+ regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)(function\\*?)(\\s*)(\\()",
350
398
  next: "function_arguments"
351
399
  }, {
352
- token : [
400
+ token: [
353
401
  "text", "text", "storage.type", "text", "paren.lparen"
354
402
  ],
355
- regex : "(:)(\\s*)(function)(\\s*)(\\()",
403
+ regex: "(:)(\\s*)(function\\*?)(\\s*)(\\()",
356
404
  next: "function_arguments"
357
405
  }, {
358
- token : "keyword",
359
- regex : "from(?=\\s*('|\"))"
406
+ token: "keyword",
407
+ regex: "from(?=\\s*('|\"))"
360
408
  }, {
361
- token : "keyword",
362
- regex : "(?:" + kwBeforeRe + ")\\b",
363
- next : "start"
409
+ token: "keyword",
410
+ regex: "(?:" + kwBeforeRe + ")\\b",
411
+ next: "start"
364
412
  }, {
365
- token : ["support.constant"],
366
- regex : /that\b/
413
+ token: "support.constant",
414
+ regex: /that\b/
367
415
  }, {
368
- token : ["storage.type", "punctuation.operator", "support.function.firebug"],
369
- regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
416
+ token: ["storage.type", "punctuation.operator", "support.function.firebug"],
417
+ regex: /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
370
418
  }, {
371
- token : keywordMapper,
372
- regex : identifierRe
419
+ token: keywordMapper,
420
+ regex: identifierRe
373
421
  }, {
374
- token : "punctuation.operator",
375
- regex : /[.](?![.])/,
376
- next : "property"
422
+ token: "punctuation.operator",
423
+ regex: /[.](?![.])/,
424
+ next: "property"
377
425
  }, {
378
- token : "storage.type",
379
- regex : /=>/,
380
- next : "start"
426
+ token: "storage.type",
427
+ regex: /=>/,
428
+ next: "start"
381
429
  }, {
382
- token : "keyword.operator",
383
- regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
384
- next : "start"
430
+ token: "keyword.operator",
431
+ regex: /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
432
+ next: "start"
385
433
  }, {
386
- token : "punctuation.operator",
387
- regex : /[?:,;.]/,
388
- next : "start"
434
+ token: "punctuation.operator",
435
+ regex: /[?:,;.]/,
436
+ next: "start"
389
437
  }, {
390
- token : "paren.lparen",
391
- regex : /[\[({]/,
392
- next : "start"
438
+ token: "paren.lparen",
439
+ regex: /[\[({]/,
440
+ next: "start"
393
441
  }, {
394
- token : "paren.rparen",
395
- regex : /[\])}]/
442
+ token: "paren.rparen",
443
+ regex: /[\])}]/
396
444
  }, {
397
445
  token: "comment",
398
446
  regex: /^#!.*$/
399
447
  }
400
448
  ],
401
449
  property: [{
402
- token : "text",
403
- regex : "\\s+"
450
+ token: "text",
451
+ regex: "\\s+"
404
452
  }, {
405
- token : [
453
+ token: [
406
454
  "storage.type", "punctuation.operator", "entity.name.function", "text",
407
455
  "keyword.operator", "text",
408
456
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
409
457
  ],
410
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
458
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(?:(\\s+)(\\w+))?(\\s*)(\\()",
411
459
  next: "function_arguments"
412
460
  }, {
413
- token : "punctuation.operator",
414
- regex : /[.](?![.])/
461
+ token: "punctuation.operator",
462
+ regex: /[.](?![.])/
415
463
  }, {
416
- token : "support.function",
417
- 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(?=\()/
464
+ token: "support.function",
465
+ 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(?=\()/
418
466
  }, {
419
- token : "support.function.dom",
420
- 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(?=\()/
467
+ token: "support.function.dom",
468
+ 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(?=\()/
421
469
  }, {
422
- token : "support.constant",
423
- 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/
470
+ token: "support.constant",
471
+ 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/
424
472
  }, {
425
- token : "identifier",
426
- regex : identifierRe
473
+ token: "identifier",
474
+ regex: identifierRe
427
475
  }, {
428
476
  regex: "",
429
477
  token: "empty",
@@ -438,9 +486,9 @@ var JavaScriptHighlightRules = function(options) {
438
486
  regex: "\\/",
439
487
  next: "regex"
440
488
  }, {
441
- token : "text",
442
- regex : "\\s+|^$",
443
- next : "start"
489
+ token: "text",
490
+ regex: "\\s+|^$",
491
+ next: "start"
444
492
  }, {
445
493
  token: "empty",
446
494
  regex: "",
@@ -456,13 +504,13 @@ var JavaScriptHighlightRules = function(options) {
456
504
  regex: "/[sxngimy]*",
457
505
  next: "no_regex"
458
506
  }, {
459
- token : "invalid",
507
+ token: "invalid",
460
508
  regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
461
509
  }, {
462
- token : "constant.language.escape",
510
+ token: "constant.language.escape",
463
511
  regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
464
512
  }, {
465
- token : "constant.language.delimiter",
513
+ token: "constant.language.delimiter",
466
514
  regex: /\|/
467
515
  }, {
468
516
  token: "constant.language.escape",
@@ -495,13 +543,67 @@ var JavaScriptHighlightRules = function(options) {
495
543
  defaultToken: "string.regexp.charachterclass"
496
544
  }
497
545
  ],
546
+ "default_parameter": [
547
+ {
548
+ token: "string",
549
+ regex: "'(?=.)",
550
+ push: [
551
+ {
552
+ token: "string",
553
+ regex: "'|$",
554
+ next: "pop"
555
+ }, {
556
+ include: "qstring"
557
+ }
558
+ ]
559
+ }, {
560
+ token: "string",
561
+ regex: '"(?=.)',
562
+ push: [
563
+ {
564
+ token: "string",
565
+ regex: '"|$',
566
+ next: "pop"
567
+ }, {
568
+ include: "qqstring"
569
+ }
570
+ ]
571
+ }, {
572
+ token: "constant.language",
573
+ regex: "null|Infinity|NaN|undefined"
574
+ }, {
575
+ token: "constant.numeric",
576
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
577
+ }, {
578
+ token: "constant.numeric",
579
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
580
+ }, {
581
+ token: "punctuation.operator",
582
+ regex: ",",
583
+ next: "function_arguments"
584
+ }, {
585
+ token: "text",
586
+ regex: "\\s+"
587
+ }, {
588
+ token: "punctuation.operator",
589
+ regex: "$"
590
+ }, {
591
+ token: "empty",
592
+ regex: "",
593
+ next: "no_regex"
594
+ }
595
+ ],
498
596
  "function_arguments": [
597
+ comments("function_arguments"),
499
598
  {
500
599
  token: "variable.parameter",
501
600
  regex: identifierRe
502
601
  }, {
503
602
  token: "punctuation.operator",
504
- regex: "[, ]+"
603
+ regex: ","
604
+ }, {
605
+ token: "text",
606
+ regex: "\\s+"
505
607
  }, {
506
608
  token: "punctuation.operator",
507
609
  regex: "$"
@@ -511,44 +613,42 @@ var JavaScriptHighlightRules = function(options) {
511
613
  next: "no_regex"
512
614
  }
513
615
  ],
514
- "qqstring" : [
616
+ "qqstring": [
515
617
  {
516
- token : "constant.language.escape",
517
- regex : escapedRe
618
+ token: "constant.language.escape",
619
+ regex: escapedRe
518
620
  }, {
519
- token : "string",
520
- regex : "\\\\$",
521
- consumeLineEnd : true
621
+ token: "string",
622
+ regex: "\\\\$",
623
+ consumeLineEnd: true
522
624
  }, {
523
- token : "string",
524
- regex : '"|$',
525
- next : "no_regex"
625
+ token: "string",
626
+ regex: '"|$',
627
+ next: "no_regex"
526
628
  }, {
527
629
  defaultToken: "string"
528
630
  }
529
631
  ],
530
- "qstring" : [
632
+ "qstring": [
531
633
  {
532
- token : "constant.language.escape",
533
- regex : escapedRe
634
+ token: "constant.language.escape",
635
+ regex: escapedRe
534
636
  }, {
535
- token : "string",
536
- regex : "\\\\$",
537
- consumeLineEnd : true
637
+ token: "string",
638
+ regex: "\\\\$",
639
+ consumeLineEnd: true
538
640
  }, {
539
- token : "string",
540
- regex : "'|$",
541
- next : "no_regex"
641
+ token: "string",
642
+ regex: "'|$",
643
+ next: "no_regex"
542
644
  }, {
543
645
  defaultToken: "string"
544
646
  }
545
647
  ]
546
648
  };
547
-
548
-
549
649
  if (!options || !options.noES6) {
550
650
  this.$rules.no_regex.unshift({
551
- regex: "[{}]", onMatch: function(val, state, stack) {
651
+ regex: "[{}]", onMatch: function (val, state, stack) {
552
652
  this.next = val == "{" ? this.nextState : "";
553
653
  if (val == "{" && stack.length) {
554
654
  stack.unshift("start", state);
@@ -563,40 +663,60 @@ var JavaScriptHighlightRules = function(options) {
563
663
  },
564
664
  nextState: "start"
565
665
  }, {
566
- token : "string.quasi.start",
567
- regex : /`/,
568
- push : [{
569
- token : "constant.language.escape",
570
- regex : escapedRe
571
- }, {
572
- token : "paren.quasi.start",
573
- regex : /\${/,
574
- push : "start"
575
- }, {
576
- token : "string.quasi.end",
577
- regex : /`/,
578
- next : "pop"
579
- }, {
580
- defaultToken: "string.quasi"
581
- }]
666
+ token: "string.quasi.start",
667
+ regex: /`/,
668
+ push: [{
669
+ token: "constant.language.escape",
670
+ regex: escapedRe
671
+ }, {
672
+ token: "paren.quasi.start",
673
+ regex: /\${/,
674
+ push: "start"
675
+ }, {
676
+ token: "string.quasi.end",
677
+ regex: /`/,
678
+ next: "pop"
679
+ }, {
680
+ defaultToken: "string.quasi"
681
+ }]
682
+ }, {
683
+ token: ["variable.parameter", "text"],
684
+ regex: "(" + identifierRe + ")(\\s*)(?=\\=>)"
685
+ }, {
686
+ token: "paren.lparen",
687
+ regex: "(\\()(?=.+\\s*=>)",
688
+ next: "function_arguments"
689
+ }, {
690
+ token: "variable.language",
691
+ regex: "(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"
692
+ });
693
+ this.$rules["function_arguments"].unshift({
694
+ token: "keyword.operator",
695
+ regex: "=",
696
+ next: "default_parameter"
697
+ }, {
698
+ token: "keyword.operator",
699
+ regex: "\\.{3}"
700
+ });
701
+ this.$rules["property"].unshift({
702
+ token: "support.function",
703
+ regex: "(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|"
704
+ + "finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"
705
+ }, {
706
+ token: "constant.language",
707
+ regex: "(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"
582
708
  });
583
-
584
709
  if (!options || options.jsx != false)
585
710
  JSX.call(this);
586
711
  }
587
-
588
- this.embedRules(DocCommentHighlightRules, "doc-",
589
- [ DocCommentHighlightRules.getEndRule("no_regex") ]);
590
-
712
+ this.embedRules(DocCommentHighlightRules, "doc-", [DocCommentHighlightRules.getEndRule("no_regex")]);
591
713
  this.normalizeRules();
592
714
  };
593
-
594
715
  oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
595
-
596
716
  function JSX() {
597
717
  var tagRegex = identifierRe.replace("\\d", "\\d\\-");
598
718
  var jsxTag = {
599
- onMatch : function(val, state, stack) {
719
+ onMatch: function (val, state, stack) {
600
720
  var offset = val.charAt(1) == "/" ? 2 : 1;
601
721
  if (offset == 1) {
602
722
  if (state != this.nextState)
@@ -604,7 +724,8 @@ function JSX() {
604
724
  else
605
725
  stack.unshift(this.next);
606
726
  stack[2]++;
607
- } else if (offset == 2) {
727
+ }
728
+ else if (offset == 2) {
608
729
  if (state == this.nextState) {
609
730
  stack[1]--;
610
731
  if (!stack[1] || stack[1] < 0) {
@@ -614,14 +735,14 @@ function JSX() {
614
735
  }
615
736
  }
616
737
  return [{
617
- type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
618
- value: val.slice(0, offset)
619
- }, {
620
- type: "meta.tag.tag-name.xml",
621
- value: val.substr(offset)
622
- }];
738
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
739
+ value: val.slice(0, offset)
740
+ }, {
741
+ type: "meta.tag.tag-name.xml",
742
+ value: val.substr(offset)
743
+ }];
623
744
  },
624
- regex : "</?" + tagRegex + "",
745
+ regex: "</?" + tagRegex + "",
625
746
  next: "jsxAttributes",
626
747
  nextState: "jsx"
627
748
  };
@@ -634,394 +755,358 @@ function JSX() {
634
755
  this.$rules.jsx = [
635
756
  jsxJsRule,
636
757
  jsxTag,
637
- {include : "reference"},
638
- {defaultToken: "string"}
758
+ { include: "reference" },
759
+ { defaultToken: "string" }
639
760
  ];
640
761
  this.$rules.jsxAttributes = [{
641
- token : "meta.tag.punctuation.tag-close.xml",
642
- regex : "/?>",
643
- onMatch : function(value, currentState, stack) {
644
- if (currentState == stack[0])
645
- stack.shift();
646
- if (value.length == 2) {
647
- if (stack[0] == this.nextState)
648
- stack[1]--;
649
- if (!stack[1] || stack[1] < 0) {
650
- stack.splice(0, 2);
762
+ token: "meta.tag.punctuation.tag-close.xml",
763
+ regex: "/?>",
764
+ onMatch: function (value, currentState, stack) {
765
+ if (currentState == stack[0])
766
+ stack.shift();
767
+ if (value.length == 2) {
768
+ if (stack[0] == this.nextState)
769
+ stack[1]--;
770
+ if (!stack[1] || stack[1] < 0) {
771
+ stack.splice(0, 2);
772
+ }
651
773
  }
652
- }
653
- this.next = stack[0] || "start";
654
- return [{type: this.token, value: value}];
774
+ this.next = stack[0] || "start";
775
+ return [{ type: this.token, value: value }];
776
+ },
777
+ nextState: "jsx"
655
778
  },
656
- nextState: "jsx"
657
- },
658
- jsxJsRule,
659
- comments("jsxAttributes"),
660
- {
661
- token : "entity.other.attribute-name.xml",
662
- regex : tagRegex
663
- }, {
664
- token : "keyword.operator.attribute-equals.xml",
665
- regex : "="
666
- }, {
667
- token : "text.tag-whitespace.xml",
668
- regex : "\\s+"
669
- }, {
670
- token : "string.attribute-value.xml",
671
- regex : "'",
672
- stateName : "jsx_attr_q",
673
- push : [
674
- {token : "string.attribute-value.xml", regex: "'", next: "pop"},
675
- {include : "reference"},
676
- {defaultToken : "string.attribute-value.xml"}
677
- ]
678
- }, {
679
- token : "string.attribute-value.xml",
680
- regex : '"',
681
- stateName : "jsx_attr_qq",
682
- push : [
683
- {token : "string.attribute-value.xml", regex: '"', next: "pop"},
684
- {include : "reference"},
685
- {defaultToken : "string.attribute-value.xml"}
686
- ]
687
- },
688
- jsxTag
779
+ jsxJsRule,
780
+ comments("jsxAttributes"),
781
+ {
782
+ token: "entity.other.attribute-name.xml",
783
+ regex: tagRegex
784
+ }, {
785
+ token: "keyword.operator.attribute-equals.xml",
786
+ regex: "="
787
+ }, {
788
+ token: "text.tag-whitespace.xml",
789
+ regex: "\\s+"
790
+ }, {
791
+ token: "string.attribute-value.xml",
792
+ regex: "'",
793
+ stateName: "jsx_attr_q",
794
+ push: [
795
+ { token: "string.attribute-value.xml", regex: "'", next: "pop" },
796
+ { include: "reference" },
797
+ { defaultToken: "string.attribute-value.xml" }
798
+ ]
799
+ }, {
800
+ token: "string.attribute-value.xml",
801
+ regex: '"',
802
+ stateName: "jsx_attr_qq",
803
+ push: [
804
+ { token: "string.attribute-value.xml", regex: '"', next: "pop" },
805
+ { include: "reference" },
806
+ { defaultToken: "string.attribute-value.xml" }
807
+ ]
808
+ },
809
+ jsxTag
689
810
  ];
690
811
  this.$rules.reference = [{
691
- token : "constant.language.escape.reference.xml",
692
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
693
- }];
812
+ token: "constant.language.escape.reference.xml",
813
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
814
+ }];
694
815
  }
695
-
696
816
  function comments(next) {
697
817
  return [
698
818
  {
699
- token : "comment", // multi line comment
700
- regex : /\/\*/,
819
+ token: "comment",
820
+ regex: /\/\*/,
701
821
  next: [
702
822
  DocCommentHighlightRules.getTagRule(),
703
- {token : "comment", regex : "\\*\\/", next : next || "pop"},
704
- {defaultToken : "comment", caseInsensitive: true}
823
+ { token: "comment", regex: "\\*\\/", next: next || "pop" },
824
+ { defaultToken: "comment", caseInsensitive: true }
705
825
  ]
706
826
  }, {
707
- token : "comment",
708
- regex : "\\/\\/",
827
+ token: "comment",
828
+ regex: "\\/\\/",
709
829
  next: [
710
830
  DocCommentHighlightRules.getTagRule(),
711
- {token : "comment", regex : "$|^", next : next || "pop"},
712
- {defaultToken : "comment", caseInsensitive: true}
831
+ { token: "comment", regex: "$|^", next: next || "pop" },
832
+ { defaultToken: "comment", caseInsensitive: true }
713
833
  ]
714
834
  }
715
835
  ];
716
836
  }
717
837
  exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
718
- });
719
838
 
720
- ace.define("ace/mode/xml_highlight_rules",[], function(require, exports, module) {
721
- "use strict";
839
+ });
722
840
 
841
+ ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
723
842
  var oop = require("../lib/oop");
724
843
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
725
-
726
- var XmlHighlightRules = function(normalize) {
844
+ var XmlHighlightRules = function (normalize) {
727
845
  var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";
728
-
729
846
  this.$rules = {
730
- start : [
731
- {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
847
+ start: [
848
+ { token: "string.cdata.xml", regex: "<\\!\\[CDATA\\[", next: "cdata" },
732
849
  {
733
- token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
734
- regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
850
+ token: ["punctuation.instruction.xml", "keyword.instruction.xml"],
851
+ regex: "(<\\?)(" + tagRegex + ")", next: "processing_instruction"
735
852
  },
736
- {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
853
+ { token: "comment.start.xml", regex: "<\\!--", next: "comment" },
737
854
  {
738
- token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
739
- regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
855
+ token: ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
856
+ regex: "(<\\!)(DOCTYPE)(?=[\\s])", next: "doctype", caseInsensitive: true
740
857
  },
741
- {include : "tag"},
742
- {token : "text.end-tag-open.xml", regex: "</"},
743
- {token : "text.tag-open.xml", regex: "<"},
744
- {include : "reference"},
745
- {defaultToken : "text.xml"}
858
+ { include: "tag" },
859
+ { token: "text.end-tag-open.xml", regex: "</" },
860
+ { token: "text.tag-open.xml", regex: "<" },
861
+ { include: "reference" },
862
+ { defaultToken: "text.xml" }
746
863
  ],
747
-
748
- processing_instruction : [{
749
- token : "entity.other.attribute-name.decl-attribute-name.xml",
750
- regex : tagRegex
751
- }, {
752
- token : "keyword.operator.decl-attribute-equals.xml",
753
- regex : "="
754
- }, {
755
- include: "whitespace"
756
- }, {
757
- include: "string"
758
- }, {
759
- token : "punctuation.xml-decl.xml",
760
- regex : "\\?>",
761
- next : "start"
762
- }],
763
-
764
- doctype : [
765
- {include : "whitespace"},
766
- {include : "string"},
767
- {token : "xml-pe.doctype.xml", regex : ">", next : "start"},
768
- {token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
769
- {token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
864
+ processing_instruction: [{
865
+ token: "entity.other.attribute-name.decl-attribute-name.xml",
866
+ regex: tagRegex
867
+ }, {
868
+ token: "keyword.operator.decl-attribute-equals.xml",
869
+ regex: "="
870
+ }, {
871
+ include: "whitespace"
872
+ }, {
873
+ include: "string"
874
+ }, {
875
+ token: "punctuation.xml-decl.xml",
876
+ regex: "\\?>",
877
+ next: "start"
878
+ }],
879
+ doctype: [
880
+ { include: "whitespace" },
881
+ { include: "string" },
882
+ { token: "xml-pe.doctype.xml", regex: ">", next: "start" },
883
+ { token: "xml-pe.xml", regex: "[-_a-zA-Z0-9:]+" },
884
+ { token: "punctuation.int-subset", regex: "\\[", push: "int_subset" }
770
885
  ],
771
-
772
- int_subset : [{
773
- token : "text.xml",
774
- regex : "\\s+"
775
- }, {
776
- token: "punctuation.int-subset.xml",
777
- regex: "]",
778
- next: "pop"
779
- }, {
780
- token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
781
- regex : "(<\\!)(" + tagRegex + ")",
782
- push : [{
783
- token : "text",
784
- regex : "\\s+"
785
- },
786
- {
787
- token : "punctuation.markup-decl.xml",
788
- regex : ">",
789
- next : "pop"
790
- },
791
- {include : "string"}]
792
- }],
793
-
794
- cdata : [
795
- {token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},
796
- {token : "text.xml", regex : "\\s+"},
797
- {token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
886
+ int_subset: [{
887
+ token: "text.xml",
888
+ regex: "\\s+"
889
+ }, {
890
+ token: "punctuation.int-subset.xml",
891
+ regex: "]",
892
+ next: "pop"
893
+ }, {
894
+ token: ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
895
+ regex: "(<\\!)(" + tagRegex + ")",
896
+ push: [{
897
+ token: "text",
898
+ regex: "\\s+"
899
+ },
900
+ {
901
+ token: "punctuation.markup-decl.xml",
902
+ regex: ">",
903
+ next: "pop"
904
+ },
905
+ { include: "string" }]
906
+ }],
907
+ cdata: [
908
+ { token: "string.cdata.xml", regex: "\\]\\]>", next: "start" },
909
+ { token: "text.xml", regex: "\\s+" },
910
+ { token: "text.xml", regex: "(?:[^\\]]|\\](?!\\]>))+" }
798
911
  ],
799
-
800
- comment : [
801
- {token : "comment.end.xml", regex : "-->", next : "start"},
802
- {defaultToken : "comment.xml"}
912
+ comment: [
913
+ { token: "comment.end.xml", regex: "-->", next: "start" },
914
+ { defaultToken: "comment.xml" }
803
915
  ],
804
-
805
- reference : [{
806
- token : "constant.language.escape.reference.xml",
807
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
808
- }],
809
-
810
- attr_reference : [{
811
- token : "constant.language.escape.reference.attribute-value.xml",
812
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
813
- }],
814
-
815
- tag : [{
816
- token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
817
- regex : "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
818
- next: [
819
- {include : "attributes"},
820
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
821
- ]
822
- }],
823
-
824
- tag_whitespace : [
825
- {token : "text.tag-whitespace.xml", regex : "\\s+"}
916
+ reference: [{
917
+ token: "constant.language.escape.reference.xml",
918
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
919
+ }],
920
+ attr_reference: [{
921
+ token: "constant.language.escape.reference.attribute-value.xml",
922
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
923
+ }],
924
+ tag: [{
925
+ token: ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
926
+ regex: "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
927
+ next: [
928
+ { include: "attributes" },
929
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
930
+ ]
931
+ }],
932
+ tag_whitespace: [
933
+ { token: "text.tag-whitespace.xml", regex: "\\s+" }
826
934
  ],
827
- whitespace : [
828
- {token : "text.whitespace.xml", regex : "\\s+"}
935
+ whitespace: [
936
+ { token: "text.whitespace.xml", regex: "\\s+" }
829
937
  ],
830
938
  string: [{
831
- token : "string.xml",
832
- regex : "'",
833
- push : [
834
- {token : "string.xml", regex: "'", next: "pop"},
835
- {defaultToken : "string.xml"}
836
- ]
837
- }, {
838
- token : "string.xml",
839
- regex : '"',
840
- push : [
841
- {token : "string.xml", regex: '"', next: "pop"},
842
- {defaultToken : "string.xml"}
843
- ]
844
- }],
845
-
939
+ token: "string.xml",
940
+ regex: "'",
941
+ push: [
942
+ { token: "string.xml", regex: "'", next: "pop" },
943
+ { defaultToken: "string.xml" }
944
+ ]
945
+ }, {
946
+ token: "string.xml",
947
+ regex: '"',
948
+ push: [
949
+ { token: "string.xml", regex: '"', next: "pop" },
950
+ { defaultToken: "string.xml" }
951
+ ]
952
+ }],
846
953
  attributes: [{
847
- token : "entity.other.attribute-name.xml",
848
- regex : tagRegex
849
- }, {
850
- token : "keyword.operator.attribute-equals.xml",
851
- regex : "="
852
- }, {
853
- include: "tag_whitespace"
854
- }, {
855
- include: "attribute_value"
856
- }],
857
-
954
+ token: "entity.other.attribute-name.xml",
955
+ regex: tagRegex
956
+ }, {
957
+ token: "keyword.operator.attribute-equals.xml",
958
+ regex: "="
959
+ }, {
960
+ include: "tag_whitespace"
961
+ }, {
962
+ include: "attribute_value"
963
+ }],
858
964
  attribute_value: [{
859
- token : "string.attribute-value.xml",
860
- regex : "'",
861
- push : [
862
- {token : "string.attribute-value.xml", regex: "'", next: "pop"},
863
- {include : "attr_reference"},
864
- {defaultToken : "string.attribute-value.xml"}
865
- ]
866
- }, {
867
- token : "string.attribute-value.xml",
868
- regex : '"',
869
- push : [
870
- {token : "string.attribute-value.xml", regex: '"', next: "pop"},
871
- {include : "attr_reference"},
872
- {defaultToken : "string.attribute-value.xml"}
873
- ]
874
- }]
965
+ token: "string.attribute-value.xml",
966
+ regex: "'",
967
+ push: [
968
+ { token: "string.attribute-value.xml", regex: "'", next: "pop" },
969
+ { include: "attr_reference" },
970
+ { defaultToken: "string.attribute-value.xml" }
971
+ ]
972
+ }, {
973
+ token: "string.attribute-value.xml",
974
+ regex: '"',
975
+ push: [
976
+ { token: "string.attribute-value.xml", regex: '"', next: "pop" },
977
+ { include: "attr_reference" },
978
+ { defaultToken: "string.attribute-value.xml" }
979
+ ]
980
+ }]
875
981
  };
876
-
877
982
  if (this.constructor === XmlHighlightRules)
878
983
  this.normalizeRules();
879
984
  };
880
-
881
-
882
- (function() {
883
-
884
- this.embedTagRules = function(HighlightRules, prefix, tag){
985
+ (function () {
986
+ this.embedTagRules = function (HighlightRules, prefix, tag) {
885
987
  this.$rules.tag.unshift({
886
- token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
887
- regex : "(<)(" + tag + "(?=\\s|>|$))",
988
+ token: ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
989
+ regex: "(<)(" + tag + "(?=\\s|>|$))",
888
990
  next: [
889
- {include : "attributes"},
890
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}
991
+ { include: "attributes" },
992
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: prefix + "start" }
891
993
  ]
892
994
  });
893
-
894
995
  this.$rules[tag + "-end"] = [
895
- {include : "attributes"},
896
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",
897
- onMatch : function(value, currentState, stack) {
996
+ { include: "attributes" },
997
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start",
998
+ onMatch: function (value, currentState, stack) {
898
999
  stack.splice(0);
899
1000
  return this.token;
900
- }}
1001
+ } }
901
1002
  ];
902
-
903
1003
  this.embedRules(HighlightRules, prefix, [{
904
- token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
905
- regex : "(</)(" + tag + "(?=\\s|>|$))",
906
- next: tag + "-end"
907
- }, {
908
- token: "string.cdata.xml",
909
- regex : "<\\!\\[CDATA\\["
910
- }, {
911
- token: "string.cdata.xml",
912
- regex : "\\]\\]>"
913
- }]);
1004
+ token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
1005
+ regex: "(</)(" + tag + "(?=\\s|>|$))",
1006
+ next: tag + "-end"
1007
+ }, {
1008
+ token: "string.cdata.xml",
1009
+ regex: "<\\!\\[CDATA\\["
1010
+ }, {
1011
+ token: "string.cdata.xml",
1012
+ regex: "\\]\\]>"
1013
+ }]);
914
1014
  };
915
-
916
1015
  }).call(TextHighlightRules.prototype);
917
-
918
1016
  oop.inherits(XmlHighlightRules, TextHighlightRules);
919
-
920
1017
  exports.XmlHighlightRules = XmlHighlightRules;
921
- });
922
1018
 
923
- ace.define("ace/mode/html_highlight_rules",[], function(require, exports, module) {
924
- "use strict";
1019
+ });
925
1020
 
1021
+ 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";
926
1022
  var oop = require("../lib/oop");
927
1023
  var lang = require("../lib/lang");
928
1024
  var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
929
1025
  var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
930
1026
  var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
931
-
932
1027
  var tagMap = lang.createMap({
933
- a : 'anchor',
934
- button : 'form',
935
- form : 'form',
936
- img : 'image',
937
- input : 'form',
938
- label : 'form',
939
- option : 'form',
940
- script : 'script',
941
- select : 'form',
942
- textarea : 'form',
943
- style : 'style',
944
- table : 'table',
945
- tbody : 'table',
946
- td : 'table',
947
- tfoot : 'table',
948
- th : 'table',
949
- tr : 'table'
1028
+ a: 'anchor',
1029
+ button: 'form',
1030
+ form: 'form',
1031
+ img: 'image',
1032
+ input: 'form',
1033
+ label: 'form',
1034
+ option: 'form',
1035
+ script: 'script',
1036
+ select: 'form',
1037
+ textarea: 'form',
1038
+ style: 'style',
1039
+ table: 'table',
1040
+ tbody: 'table',
1041
+ td: 'table',
1042
+ tfoot: 'table',
1043
+ th: 'table',
1044
+ tr: 'table'
950
1045
  });
951
-
952
- var HtmlHighlightRules = function() {
1046
+ var HtmlHighlightRules = function () {
953
1047
  XmlHighlightRules.call(this);
954
-
955
1048
  this.addRules({
956
1049
  attributes: [{
957
- include : "tag_whitespace"
958
- }, {
959
- token : "entity.other.attribute-name.xml",
960
- regex : "[-_a-zA-Z0-9:.]+"
961
- }, {
962
- token : "keyword.operator.attribute-equals.xml",
963
- regex : "=",
964
- push : [{
965
1050
  include: "tag_whitespace"
966
1051
  }, {
967
- token : "string.unquoted.attribute-value.html",
968
- regex : "[^<>='\"`\\s]+",
969
- next : "pop"
970
- }, {
971
- token : "empty",
972
- regex : "",
973
- next : "pop"
974
- }]
975
- }, {
976
- include : "attribute_value"
977
- }],
1052
+ token: "entity.other.attribute-name.xml",
1053
+ regex: "[-_a-zA-Z0-9:.]+"
1054
+ }, {
1055
+ token: "keyword.operator.attribute-equals.xml",
1056
+ regex: "=",
1057
+ push: [{
1058
+ include: "tag_whitespace"
1059
+ }, {
1060
+ token: "string.unquoted.attribute-value.html",
1061
+ regex: "[^<>='\"`\\s]+",
1062
+ next: "pop"
1063
+ }, {
1064
+ token: "empty",
1065
+ regex: "",
1066
+ next: "pop"
1067
+ }]
1068
+ }, {
1069
+ include: "attribute_value"
1070
+ }],
978
1071
  tag: [{
979
- token : function(start, tag) {
980
- var group = tagMap[tag];
981
- return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
982
- "meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
983
- },
984
- regex : "(</?)([-_a-zA-Z0-9:.]+)",
985
- next: "tag_stuff"
986
- }],
1072
+ token: function (start, tag) {
1073
+ var group = tagMap[tag];
1074
+ return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
1075
+ "meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
1076
+ },
1077
+ regex: "(</?)([-_a-zA-Z0-9:.]+)",
1078
+ next: "tag_stuff"
1079
+ }],
987
1080
  tag_stuff: [
988
- {include : "attributes"},
989
- {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
1081
+ { include: "attributes" },
1082
+ { token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
990
1083
  ]
991
1084
  });
992
-
993
1085
  this.embedTagRules(CssHighlightRules, "css-", "style");
994
- this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), "js-", "script");
995
-
1086
+ this.embedTagRules(new JavaScriptHighlightRules({ jsx: false }).getRules(), "js-", "script");
996
1087
  if (this.constructor === HtmlHighlightRules)
997
1088
  this.normalizeRules();
998
1089
  };
999
-
1000
1090
  oop.inherits(HtmlHighlightRules, XmlHighlightRules);
1001
-
1002
1091
  exports.HtmlHighlightRules = HtmlHighlightRules;
1003
- });
1004
1092
 
1005
- ace.define("ace/mode/markdown_highlight_rules",[], function(require, exports, module) {
1006
- "use strict";
1093
+ });
1007
1094
 
1095
+ ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"], function(require, exports, module){"use strict";
1008
1096
  var modes = require("../config").$modes;
1009
-
1010
1097
  var oop = require("../lib/oop");
1011
1098
  var lang = require("../lib/lang");
1012
1099
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1013
1100
  var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
1014
-
1015
- var escaped = function(ch) {
1101
+ var escaped = function (ch) {
1016
1102
  return "(?:[^" + lang.escapeRegExp(ch) + "\\\\]|\\\\.)*";
1017
1103
  };
1018
-
1019
- var MarkdownHighlightRules = function() {
1104
+ var MarkdownHighlightRules = function () {
1020
1105
  HtmlHighlightRules.call(this);
1021
1106
  var codeBlockStartRule = {
1022
- token : "support.function",
1023
- regex : /^\s*(```+[^`]*|~~~+[^~]*)$/,
1024
- onMatch: function(value, state, stack, line) {
1107
+ token: "support.function",
1108
+ regex: /^\s*(```+[^`]*|~~~+[^~]*)$/,
1109
+ onMatch: function (value, state, stack, line) {
1025
1110
  var m = value.match(/^(\s*)([`~]+)(.*)/);
1026
1111
  var language = /[\w-]+|$/.exec(m[3])[0];
1027
1112
  if (!modes[language])
@@ -1029,249 +1114,219 @@ var MarkdownHighlightRules = function() {
1029
1114
  stack.unshift("githubblock", [], [m[1], m[2], language], state);
1030
1115
  return this.token;
1031
1116
  },
1032
- next : "githubblock"
1117
+ next: "githubblock"
1033
1118
  };
1034
1119
  var codeBlockRules = [{
1035
- token : "support.function",
1036
- regex : ".*",
1037
- onMatch: function(value, state, stack, line) {
1038
- var embedState = stack[1];
1039
- var indent = stack[2][0];
1040
- var endMarker = stack[2][1];
1041
- var language = stack[2][2];
1042
-
1043
- var m = /^(\s*)(`+|~+)\s*$/.exec(value);
1044
- if (
1045
- m && m[1].length < indent.length + 3
1046
- && m[2].length >= endMarker.length && m[2][0] == endMarker[0]
1047
- ) {
1048
- stack.splice(0, 3);
1049
- this.next = stack.shift();
1120
+ token: "support.function",
1121
+ regex: ".*",
1122
+ onMatch: function (value, state, stack, line) {
1123
+ var embedState = stack[1];
1124
+ var indent = stack[2][0];
1125
+ var endMarker = stack[2][1];
1126
+ var language = stack[2][2];
1127
+ var m = /^(\s*)(`+|~+)\s*$/.exec(value);
1128
+ if (m && m[1].length < indent.length + 3
1129
+ && m[2].length >= endMarker.length && m[2][0] == endMarker[0]) {
1130
+ stack.splice(0, 3);
1131
+ this.next = stack.shift();
1132
+ return this.token;
1133
+ }
1134
+ this.next = "";
1135
+ if (language && modes[language]) {
1136
+ var data = modes[language].getTokenizer().getLineTokens(value, embedState.slice(0));
1137
+ stack[1] = data.state;
1138
+ return data.tokens;
1139
+ }
1050
1140
  return this.token;
1051
1141
  }
1052
- this.next = "";
1053
- if (language && modes[language]) {
1054
- var data = modes[language].getTokenizer().getLineTokens(value, embedState.slice(0));
1055
- stack[1] = data.state;
1056
- return data.tokens;
1057
- }
1058
- return this.token;
1059
- }
1060
- }];
1061
-
1142
+ }];
1062
1143
  this.$rules["start"].unshift({
1063
- token : "empty_line",
1064
- regex : '^$',
1144
+ token: "empty_line",
1145
+ regex: '^$',
1065
1146
  next: "allowBlock"
1066
- }, { // h1
1147
+ }, {
1067
1148
  token: "markup.heading.1",
1068
1149
  regex: "^=+(?=\\s*$)"
1069
- }, { // h2
1150
+ }, {
1070
1151
  token: "markup.heading.2",
1071
1152
  regex: "^\\-+(?=\\s*$)"
1072
1153
  }, {
1073
- token : function(value) {
1154
+ token: function (value) {
1074
1155
  return "markup.heading." + value.length;
1075
1156
  },
1076
- regex : /^#{1,6}(?=\s|$)/,
1077
- next : "header"
1078
- },
1079
- codeBlockStartRule,
1080
- { // block quote
1081
- token : "string.blockquote",
1082
- regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",
1083
- next : "blockquote"
1084
- }, { // HR * - _
1085
- token : "constant",
1086
- regex : "^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",
1157
+ regex: /^#{1,6}(?=\s|$)/,
1158
+ next: "header"
1159
+ }, codeBlockStartRule, {
1160
+ token: "string.blockquote",
1161
+ regex: "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",
1162
+ next: "blockquote"
1163
+ }, {
1164
+ token: "constant",
1165
+ regex: "^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",
1087
1166
  next: "allowBlock"
1088
- }, { // list
1089
- token : "markup.list",
1090
- regex : "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",
1091
- next : "listblock-start"
1092
1167
  }, {
1093
- include : "basic"
1168
+ token: "markup.list",
1169
+ regex: "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",
1170
+ next: "listblock-start"
1171
+ }, {
1172
+ include: "basic"
1094
1173
  });
1095
-
1096
1174
  this.addRules({
1097
- "basic" : [{
1098
- token : "constant.language.escape",
1099
- regex : /\\[\\`*_{}\[\]()#+\-.!]/
1100
- }, { // code span `
1101
- token : "support.function",
1102
- regex : "(`+)(.*?[^`])(\\1)"
1103
- }, { // reference
1104
- token : ["text", "constant", "text", "url", "string", "text"],
1105
- regex : "^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:[\"][^\"]+[\"])?(\\s*))$"
1106
- }, { // link by reference
1107
- token : ["text", "string", "text", "constant", "text"],
1108
- regex : "(\\[)(" + escaped("]") + ")(\\]\\s*\\[)("+ escaped("]") + ")(\\])"
1109
- }, { // link by url
1110
- token : ["text", "string", "text", "markup.underline", "string", "text"],
1111
- regex : "(\\!?\\[)(" + // [
1112
- escaped("]") + // link text or alt text
1113
- ")(\\]\\()"+ // ](
1114
- '((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)' + // href or image
1115
- '(\\s*"' + escaped('"') + '"\\s*)?' + // "title"
1116
- "(\\))" // )
1117
- }, { // strong ** __
1118
- token : "string.strong",
1119
- regex : "([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"
1120
- }, { // emphasis * _
1121
- token : "string.emphasis",
1122
- regex : "([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"
1123
- }, { //
1124
- token : ["text", "url", "text"],
1125
- regex : "(<)("+
1126
- "(?:https?|ftp|dict):[^'\">\\s]+"+
1127
- "|"+
1128
- "(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+"+
1175
+ "basic": [{
1176
+ token: "constant.language.escape",
1177
+ regex: /\\[\\`*_{}\[\]()#+\-.!]/
1178
+ }, {
1179
+ token: "support.function",
1180
+ regex: "(`+)(.*?[^`])(\\1)"
1181
+ }, {
1182
+ token: ["text", "constant", "text", "url", "string", "text"],
1183
+ regex: "^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:[\"][^\"]+[\"])?(\\s*))$"
1184
+ }, {
1185
+ token: ["text", "string", "text", "constant", "text"],
1186
+ regex: "(\\[)(" + escaped("]") + ")(\\]\\s*\\[)(" + escaped("]") + ")(\\])"
1187
+ }, {
1188
+ token: ["text", "string", "text", "markup.underline", "string", "text"],
1189
+ regex: "(\\!?\\[)(" + // [
1190
+ escaped("]") + // link text or alt text
1191
+ ")(\\]\\()" + // ](
1192
+ '((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)' + // href or image
1193
+ '(\\s*"' + escaped('"') + '"\\s*)?' + // "title"
1194
+ "(\\))" // )
1195
+ }, {
1196
+ token: "string.strong",
1197
+ regex: "([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"
1198
+ }, {
1199
+ token: "string.emphasis",
1200
+ regex: "([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"
1201
+ }, {
1202
+ token: ["text", "url", "text"],
1203
+ regex: "(<)(" +
1204
+ "(?:https?|ftp|dict):[^'\">\\s]+" +
1205
+ "|" +
1206
+ "(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+" +
1129
1207
  ")(>)"
1130
- }],
1208
+ }],
1131
1209
  "allowBlock": [
1132
- {token : "support.function", regex : "^ {4}.+", next : "allowBlock"},
1133
- {token : "empty_line", regex : '^$', next: "allowBlock"},
1134
- {token : "empty", regex : "", next : "start"}
1210
+ { token: "support.function", regex: "^ {4}.+", next: "allowBlock" },
1211
+ { token: "empty_line", regex: '^$', next: "allowBlock" },
1212
+ { token: "empty", regex: "", next: "start" }
1135
1213
  ],
1136
-
1137
- "header" : [{
1138
- regex: "$",
1139
- next : "start"
1140
- }, {
1141
- include: "basic"
1142
- }, {
1143
- defaultToken : "heading"
1144
- } ],
1145
-
1146
- "listblock-start" : [{
1147
- token : "support.variable",
1148
- regex : /(?:\[[ x]\])?/,
1149
- next : "listblock"
1150
- }],
1151
-
1152
- "listblock" : [ { // Lists only escape on completely blank lines.
1153
- token : "empty_line",
1154
- regex : "^$",
1155
- next : "start"
1156
- }, { // list
1157
- token : "markup.list",
1158
- regex : "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",
1159
- next : "listblock-start"
1160
- }, {
1161
- include : "basic", noEscape: true
1162
- },
1163
- codeBlockStartRule,
1164
- {
1165
- defaultToken : "list" //do not use markup.list to allow stling leading `*` differntly
1166
- } ],
1167
-
1168
- "blockquote" : [ { // Blockquotes only escape on blank lines.
1169
- token : "empty_line",
1170
- regex : "^\\s*$",
1171
- next : "start"
1172
- }, { // block quote
1173
- token : "string.blockquote",
1174
- regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",
1175
- next : "blockquote"
1176
- }, {
1177
- include : "basic", noEscape: true
1178
- }, {
1179
- defaultToken : "string.blockquote"
1180
- } ],
1181
-
1182
- "githubblock" : codeBlockRules
1214
+ "header": [{
1215
+ regex: "$",
1216
+ next: "start"
1217
+ }, {
1218
+ include: "basic"
1219
+ }, {
1220
+ defaultToken: "heading"
1221
+ }],
1222
+ "listblock-start": [{
1223
+ token: "support.variable",
1224
+ regex: /(?:\[[ x]\])?/,
1225
+ next: "listblock"
1226
+ }],
1227
+ "listblock": [{
1228
+ token: "empty_line",
1229
+ regex: "^$",
1230
+ next: "start"
1231
+ }, {
1232
+ token: "markup.list",
1233
+ regex: "^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",
1234
+ next: "listblock-start"
1235
+ }, {
1236
+ include: "basic", noEscape: true
1237
+ },
1238
+ codeBlockStartRule,
1239
+ {
1240
+ defaultToken: "list" //do not use markup.list to allow stling leading `*` differntly
1241
+ }],
1242
+ "blockquote": [{
1243
+ token: "empty_line",
1244
+ regex: "^\\s*$",
1245
+ next: "start"
1246
+ }, {
1247
+ token: "string.blockquote",
1248
+ regex: "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",
1249
+ next: "blockquote"
1250
+ }, {
1251
+ include: "basic", noEscape: true
1252
+ }, {
1253
+ defaultToken: "string.blockquote"
1254
+ }],
1255
+ "githubblock": codeBlockRules
1183
1256
  });
1184
-
1185
1257
  this.normalizeRules();
1186
1258
  };
1187
1259
  oop.inherits(MarkdownHighlightRules, TextHighlightRules);
1188
-
1189
1260
  exports.MarkdownHighlightRules = MarkdownHighlightRules;
1190
- });
1191
1261
 
1192
- ace.define("ace/mode/scss_highlight_rules",[], function(require, exports, module) {
1193
- "use strict";
1262
+ });
1194
1263
 
1264
+ ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"], function(require, exports, module){"use strict";
1195
1265
  var oop = require("../lib/oop");
1196
1266
  var lang = require("../lib/lang");
1197
1267
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1198
1268
  var CssHighlightRules = require("./css_highlight_rules");
1199
-
1200
- var ScssHighlightRules = function() {
1201
-
1269
+ var ScssHighlightRules = function () {
1202
1270
  var properties = lang.arrayToMap(CssHighlightRules.supportType.split("|"));
1203
-
1204
- var functions = lang.arrayToMap(
1205
- ("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|" +
1206
- "alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|" +
1207
- "floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|" +
1208
- "nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|" +
1209
- "scale_color|transparentize|type_of|unit|unitless|unquote").split("|")
1210
- );
1211
-
1271
+ var functions = lang.arrayToMap(("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|" +
1272
+ "alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|" +
1273
+ "floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|" +
1274
+ "nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|" +
1275
+ "scale_color|transparentize|type_of|unit|unitless|unquote").split("|"));
1212
1276
  var constants = lang.arrayToMap(CssHighlightRules.supportConstant.split("|"));
1213
-
1214
1277
  var colors = lang.arrayToMap(CssHighlightRules.supportConstantColor.split("|"));
1215
-
1216
- var keywords = lang.arrayToMap(
1217
- ("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare").split("|")
1218
- );
1219
-
1220
- var tags = lang.arrayToMap(
1221
- ("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|" +
1222
- "big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|" +
1223
- "command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|" +
1224
- "figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|" +
1225
- "header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|" +
1226
- "link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|" +
1227
- "option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|" +
1228
- "small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|" +
1229
- "textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp").split("|")
1230
- );
1231
-
1278
+ var keywords = lang.arrayToMap(("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare").split("|"));
1279
+ var tags = lang.arrayToMap(("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|" +
1280
+ "big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|" +
1281
+ "command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|" +
1282
+ "figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|" +
1283
+ "header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|" +
1284
+ "link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|" +
1285
+ "option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|" +
1286
+ "small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|" +
1287
+ "textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp").split("|"));
1232
1288
  var numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
1233
-
1234
1289
  this.$rules = {
1235
- "start" : [
1290
+ "start": [
1236
1291
  {
1237
- token : "comment",
1238
- regex : "\\/\\/.*$"
1292
+ token: "comment",
1293
+ regex: "\\/\\/.*$"
1239
1294
  },
1240
1295
  {
1241
- token : "comment", // multi line comment
1242
- regex : "\\/\\*",
1243
- next : "comment"
1296
+ token: "comment",
1297
+ regex: "\\/\\*",
1298
+ next: "comment"
1244
1299
  }, {
1245
- token : "string", // single line
1246
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
1300
+ token: "string",
1301
+ regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
1247
1302
  }, {
1248
- token : "string", // multi line string start
1249
- regex : '["].*\\\\$',
1250
- next : "qqstring"
1303
+ token: "string",
1304
+ regex: '["].*\\\\$',
1305
+ next: "qqstring"
1251
1306
  }, {
1252
- token : "string", // single line
1253
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
1307
+ token: "string",
1308
+ regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
1254
1309
  }, {
1255
- token : "string", // multi line string start
1256
- regex : "['].*\\\\$",
1257
- next : "qstring"
1310
+ token: "string",
1311
+ regex: "['].*\\\\$",
1312
+ next: "qstring"
1258
1313
  }, {
1259
- token : "constant.numeric",
1260
- 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|%)"
1314
+ token: "constant.numeric",
1315
+ 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|%)"
1261
1316
  }, {
1262
- token : "constant.numeric", // hex6 color
1263
- regex : "#[a-f0-9]{6}"
1317
+ token: "constant.numeric",
1318
+ regex: "#[a-f0-9]{6}"
1264
1319
  }, {
1265
- token : "constant.numeric", // hex3 color
1266
- regex : "#[a-f0-9]{3}"
1320
+ token: "constant.numeric",
1321
+ regex: "#[a-f0-9]{3}"
1267
1322
  }, {
1268
- token : "constant.numeric",
1269
- regex : numRe
1323
+ token: "constant.numeric",
1324
+ regex: numRe
1270
1325
  }, {
1271
- token : ["support.function", "string", "support.function"],
1272
- regex : "(url\\()(.*)(\\))"
1326
+ token: ["support.function", "string", "support.function"],
1327
+ regex: "(url\\()(.*)(\\))"
1273
1328
  }, {
1274
- token : function(value) {
1329
+ token: function (value) {
1275
1330
  if (properties.hasOwnProperty(value.toLowerCase()))
1276
1331
  return "support.type";
1277
1332
  if (keywords.hasOwnProperty(value))
@@ -1287,10 +1342,10 @@ var ScssHighlightRules = function() {
1287
1342
  else
1288
1343
  return "text";
1289
1344
  },
1290
- regex : "\\-?[@a-z_][@a-z0-9_\\-]*"
1345
+ regex: "\\-?[@a-z_][@a-z0-9_\\-]*"
1291
1346
  }, {
1292
- token : "variable",
1293
- regex : "[a-z_\\-$][a-z0-9_\\-$]*\\b"
1347
+ token: "variable",
1348
+ regex: "[a-z_\\-$][a-z0-9_\\-$]*\\b"
1294
1349
  }, {
1295
1350
  token: "variable.language",
1296
1351
  regex: "#[a-z0-9-_]+"
@@ -1304,147 +1359,135 @@ var ScssHighlightRules = function() {
1304
1359
  token: "constant",
1305
1360
  regex: "[a-z0-9-_]+"
1306
1361
  }, {
1307
- token : "keyword.operator",
1308
- regex : "<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"
1362
+ token: "keyword.operator",
1363
+ regex: "<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"
1309
1364
  }, {
1310
- token : "paren.lparen",
1311
- regex : "[[({]"
1365
+ token: "paren.lparen",
1366
+ regex: "[[({]"
1312
1367
  }, {
1313
- token : "paren.rparen",
1314
- regex : "[\\])}]"
1368
+ token: "paren.rparen",
1369
+ regex: "[\\])}]"
1315
1370
  }, {
1316
- token : "text",
1317
- regex : "\\s+"
1371
+ token: "text",
1372
+ regex: "\\s+"
1318
1373
  }, {
1319
1374
  caseInsensitive: true
1320
1375
  }
1321
1376
  ],
1322
- "comment" : [
1377
+ "comment": [
1323
1378
  {
1324
- token : "comment", // closing comment
1325
- regex : "\\*\\/",
1326
- next : "start"
1379
+ token: "comment",
1380
+ regex: "\\*\\/",
1381
+ next: "start"
1327
1382
  }, {
1328
- defaultToken : "comment"
1383
+ defaultToken: "comment"
1329
1384
  }
1330
1385
  ],
1331
- "qqstring" : [
1386
+ "qqstring": [
1332
1387
  {
1333
- token : "string",
1334
- regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
1335
- next : "start"
1388
+ token: "string",
1389
+ regex: '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
1390
+ next: "start"
1336
1391
  }, {
1337
- token : "string",
1338
- regex : '.+'
1392
+ token: "string",
1393
+ regex: '.+'
1339
1394
  }
1340
1395
  ],
1341
- "qstring" : [
1396
+ "qstring": [
1342
1397
  {
1343
- token : "string",
1344
- regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
1345
- next : "start"
1398
+ token: "string",
1399
+ regex: "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
1400
+ next: "start"
1346
1401
  }, {
1347
- token : "string",
1348
- regex : '.+'
1402
+ token: "string",
1403
+ regex: '.+'
1349
1404
  }
1350
1405
  ]
1351
1406
  };
1352
1407
  };
1353
-
1354
1408
  oop.inherits(ScssHighlightRules, TextHighlightRules);
1355
-
1356
1409
  exports.ScssHighlightRules = ScssHighlightRules;
1357
1410
 
1358
1411
  });
1359
1412
 
1360
- ace.define("ace/mode/less_highlight_rules",[], function(require, exports, module) {
1361
- "use strict";
1362
-
1413
+ ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"], function(require, exports, module){"use strict";
1363
1414
  var oop = require("../lib/oop");
1364
1415
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1365
1416
  var CssHighlightRules = require('./css_highlight_rules');
1366
-
1367
- var LessHighlightRules = function() {
1368
-
1369
-
1370
- var keywordList = "@import|@media|@font-face|@keyframes|@-webkit-keyframes|@supports|" +
1417
+ var LessHighlightRules = function () {
1418
+ var keywordList = "@import|@media|@font-face|@keyframes|@-webkit-keyframes|@supports|" +
1371
1419
  "@charset|@plugin|@namespace|@document|@page|@viewport|@-ms-viewport|" +
1372
1420
  "or|and|when|not";
1373
-
1374
1421
  var keywords = keywordList.split('|');
1375
-
1376
1422
  var properties = CssHighlightRules.supportType.split('|');
1377
-
1378
1423
  var keywordMapper = this.createKeywordMapper({
1379
1424
  "support.constant": CssHighlightRules.supportConstant,
1380
1425
  "keyword": keywordList,
1381
1426
  "support.constant.color": CssHighlightRules.supportConstantColor,
1382
1427
  "support.constant.fonts": CssHighlightRules.supportConstantFonts
1383
- }, "identifier", true);
1384
-
1428
+ }, "identifier", true);
1385
1429
  var numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
1386
-
1387
1430
  this.$rules = {
1388
- "start" : [
1431
+ "start": [
1389
1432
  {
1390
- token : "comment",
1391
- regex : "\\/\\/.*$"
1433
+ token: "comment",
1434
+ regex: "\\/\\/.*$"
1392
1435
  },
1393
1436
  {
1394
- token : "comment", // multi line comment
1395
- regex : "\\/\\*",
1396
- next : "comment"
1437
+ token: "comment",
1438
+ regex: "\\/\\*",
1439
+ next: "comment"
1397
1440
  }, {
1398
- token : "string", // single line
1399
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
1441
+ token: "string",
1442
+ regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
1400
1443
  }, {
1401
- token : "string", // single line
1402
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
1444
+ token: "string",
1445
+ regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
1403
1446
  }, {
1404
- token : ["constant.numeric", "keyword"],
1405
- regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"
1447
+ token: ["constant.numeric", "keyword"],
1448
+ regex: "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"
1406
1449
  }, {
1407
- token : "constant.numeric", // hex6 color
1408
- regex : "#[a-f0-9]{6}"
1450
+ token: "constant.numeric",
1451
+ regex: "#[a-f0-9]{6}"
1409
1452
  }, {
1410
- token : "constant.numeric", // hex3 color
1411
- regex : "#[a-f0-9]{3}"
1453
+ token: "constant.numeric",
1454
+ regex: "#[a-f0-9]{3}"
1412
1455
  }, {
1413
- token : "constant.numeric",
1414
- regex : numRe
1456
+ token: "constant.numeric",
1457
+ regex: numRe
1415
1458
  }, {
1416
- token : ["support.function", "paren.lparen", "string", "paren.rparen"],
1417
- regex : "(url)(\\()(.*)(\\))"
1459
+ token: ["support.function", "paren.lparen", "string", "paren.rparen"],
1460
+ regex: "(url)(\\()(.*)(\\))"
1418
1461
  }, {
1419
- token : ["support.function", "paren.lparen"],
1420
- regex : "(:extend|[a-z0-9_\\-]+)(\\()"
1462
+ token: ["support.function", "paren.lparen"],
1463
+ regex: "(:extend|[a-z0-9_\\-]+)(\\()"
1421
1464
  }, {
1422
- token : function(value) {
1465
+ token: function (value) {
1423
1466
  if (keywords.indexOf(value.toLowerCase()) > -1)
1424
1467
  return "keyword";
1425
1468
  else
1426
1469
  return "variable";
1427
1470
  },
1428
- regex : "[@\\$][a-z0-9_\\-@\\$]*\\b"
1471
+ regex: "[@\\$][a-z0-9_\\-@\\$]*\\b"
1429
1472
  }, {
1430
- token : "variable",
1431
- regex : "[@\\$]\\{[a-z0-9_\\-@\\$]*\\}"
1473
+ token: "variable",
1474
+ regex: "[@\\$]\\{[a-z0-9_\\-@\\$]*\\}"
1432
1475
  }, {
1433
- token : function(first, second) {
1434
- if(properties.indexOf(first.toLowerCase()) > -1) {
1476
+ token: function (first, second) {
1477
+ if (properties.indexOf(first.toLowerCase()) > -1) {
1435
1478
  return ["support.type.property", "text"];
1436
1479
  }
1437
1480
  else {
1438
1481
  return ["support.type.unknownProperty", "text"];
1439
1482
  }
1440
1483
  },
1441
- regex : "([a-z0-9-_]+)(\\s*:)"
1484
+ regex: "([a-z0-9-_]+)(\\s*:)"
1442
1485
  }, {
1443
- token : "keyword",
1444
- regex : "&" // special case - always treat as keyword
1486
+ token: "keyword",
1487
+ regex: "&" // special case - always treat as keyword
1445
1488
  }, {
1446
- token : keywordMapper,
1447
- regex : "\\-?[@a-z_][@a-z0-9_\\-]*"
1489
+ token: keywordMapper,
1490
+ regex: "\\-?[@a-z_][@a-z0-9_\\-]*"
1448
1491
  }, {
1449
1492
  token: "variable.language",
1450
1493
  regex: "#[a-z0-9-_]+"
@@ -1458,244 +1501,215 @@ var LessHighlightRules = function() {
1458
1501
  token: "constant",
1459
1502
  regex: "[a-z0-9-_]+"
1460
1503
  }, {
1461
- token : "keyword.operator",
1462
- regex : "<|>|<=|>=|=|!=|-|%|\\+|\\*"
1504
+ token: "keyword.operator",
1505
+ regex: "<|>|<=|>=|=|!=|-|%|\\+|\\*"
1463
1506
  }, {
1464
- token : "paren.lparen",
1465
- regex : "[[({]"
1507
+ token: "paren.lparen",
1508
+ regex: "[[({]"
1466
1509
  }, {
1467
- token : "paren.rparen",
1468
- regex : "[\\])}]"
1510
+ token: "paren.rparen",
1511
+ regex: "[\\])}]"
1469
1512
  }, {
1470
- token : "text",
1471
- regex : "\\s+"
1513
+ token: "text",
1514
+ regex: "\\s+"
1472
1515
  }, {
1473
1516
  caseInsensitive: true
1474
1517
  }
1475
1518
  ],
1476
- "comment" : [
1519
+ "comment": [
1477
1520
  {
1478
- token : "comment", // closing comment
1479
- regex : "\\*\\/",
1480
- next : "start"
1521
+ token: "comment",
1522
+ regex: "\\*\\/",
1523
+ next: "start"
1481
1524
  }, {
1482
- defaultToken : "comment"
1525
+ defaultToken: "comment"
1483
1526
  }
1484
1527
  ]
1485
1528
  };
1486
1529
  this.normalizeRules();
1487
1530
  };
1488
-
1489
1531
  oop.inherits(LessHighlightRules, TextHighlightRules);
1490
-
1491
1532
  exports.LessHighlightRules = LessHighlightRules;
1492
1533
 
1493
1534
  });
1494
1535
 
1495
- ace.define("ace/mode/coffee_highlight_rules",[], function(require, exports, module) {
1496
- "use strict";
1497
-
1498
- var oop = require("../lib/oop");
1499
- var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1500
-
1501
- oop.inherits(CoffeeHighlightRules, TextHighlightRules);
1502
-
1503
- function CoffeeHighlightRules() {
1504
- var identifier = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*";
1505
-
1506
- var keywords = (
1507
- "this|throw|then|try|typeof|super|switch|return|break|by|continue|" +
1508
- "catch|class|in|instanceof|is|isnt|if|else|extends|for|own|" +
1509
- "finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|" +
1510
- "or|on|unless|until|and|yes|yield|export|import|default"
1511
- );
1512
-
1513
- var langConstant = (
1514
- "true|false|null|undefined|NaN|Infinity"
1515
- );
1516
-
1517
- var illegal = (
1518
- "case|const|function|var|void|with|enum|implements|" +
1519
- "interface|let|package|private|protected|public|static"
1520
- );
1521
-
1522
- var supportClass = (
1523
- "Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|" +
1524
- "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" +
1525
- "SyntaxError|TypeError|URIError|" +
1526
- "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
1527
- "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray"
1528
- );
1529
-
1530
- var supportFunction = (
1531
- "Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|" +
1532
- "encodeURIComponent|decodeURI|decodeURIComponent|String|"
1533
- );
1534
-
1535
- var variableLanguage = (
1536
- "window|arguments|prototype|document"
1537
- );
1538
-
1539
- var keywordMapper = this.createKeywordMapper({
1540
- "keyword": keywords,
1541
- "constant.language": langConstant,
1542
- "invalid.illegal": illegal,
1543
- "language.support.class": supportClass,
1544
- "language.support.function": supportFunction,
1545
- "variable.language": variableLanguage
1546
- }, "identifier");
1547
-
1548
- var functionRule = {
1549
- token: ["paren.lparen", "variable.parameter", "paren.rparen", "text", "storage.type"],
1550
- regex: /(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()"'\/])*?)(\))(\s*))?([\-=]>)/.source
1551
- };
1552
-
1553
- var stringEscape = /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;
1554
-
1555
- this.$rules = {
1556
- start : [
1557
- {
1558
- token : "constant.numeric",
1559
- regex : "(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"
1560
- }, {
1561
- stateName: "qdoc",
1562
- token : "string", regex : "'''", next : [
1563
- {token : "string", regex : "'''", next : "start"},
1564
- {token : "constant.language.escape", regex : stringEscape},
1565
- {defaultToken: "string"}
1566
- ]
1567
- }, {
1568
- stateName: "qqdoc",
1569
- token : "string",
1570
- regex : '"""',
1571
- next : [
1572
- {token : "string", regex : '"""', next : "start"},
1573
- {token : "paren.string", regex : '#{', push : "start"},
1574
- {token : "constant.language.escape", regex : stringEscape},
1575
- {defaultToken: "string"}
1576
- ]
1577
- }, {
1578
- stateName: "qstring",
1579
- token : "string", regex : "'", next : [
1580
- {token : "string", regex : "'", next : "start"},
1581
- {token : "constant.language.escape", regex : stringEscape},
1582
- {defaultToken: "string"}
1583
- ]
1584
- }, {
1585
- stateName: "qqstring",
1586
- token : "string.start", regex : '"', next : [
1587
- {token : "string.end", regex : '"', next : "start"},
1588
- {token : "paren.string", regex : '#{', push : "start"},
1589
- {token : "constant.language.escape", regex : stringEscape},
1590
- {defaultToken: "string"}
1591
- ]
1592
- }, {
1593
- stateName: "js",
1594
- token : "string", regex : "`", next : [
1595
- {token : "string", regex : "`", next : "start"},
1596
- {token : "constant.language.escape", regex : stringEscape},
1597
- {defaultToken: "string"}
1598
- ]
1599
- }, {
1600
- regex: "[{}]", onMatch: function(val, state, stack) {
1601
- this.next = "";
1602
- if (val == "{" && stack.length) {
1603
- stack.unshift("start", state);
1604
- return "paren";
1605
- }
1606
- if (val == "}" && stack.length) {
1607
- stack.shift();
1608
- this.next = stack.shift() || "";
1609
- if (this.next.indexOf("string") != -1)
1610
- return "paren.string";
1611
- }
1536
+ ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
1537
+ var oop = require("../lib/oop");
1538
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1539
+ oop.inherits(CoffeeHighlightRules, TextHighlightRules);
1540
+ function CoffeeHighlightRules() {
1541
+ var identifier = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*";
1542
+ var keywords = ("this|throw|then|try|typeof|super|switch|return|break|by|continue|" +
1543
+ "catch|class|in|instanceof|is|isnt|if|else|extends|for|own|" +
1544
+ "finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|" +
1545
+ "or|on|unless|until|and|yes|yield|export|import|default");
1546
+ var langConstant = ("true|false|null|undefined|NaN|Infinity");
1547
+ var illegal = ("case|const|function|var|void|with|enum|implements|" +
1548
+ "interface|let|package|private|protected|public|static");
1549
+ var supportClass = ("Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|" +
1550
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" +
1551
+ "SyntaxError|TypeError|URIError|" +
1552
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
1553
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray");
1554
+ var supportFunction = ("Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|" +
1555
+ "encodeURIComponent|decodeURI|decodeURIComponent|String|");
1556
+ var variableLanguage = ("window|arguments|prototype|document");
1557
+ var keywordMapper = this.createKeywordMapper({
1558
+ "keyword": keywords,
1559
+ "constant.language": langConstant,
1560
+ "invalid.illegal": illegal,
1561
+ "language.support.class": supportClass,
1562
+ "language.support.function": supportFunction,
1563
+ "variable.language": variableLanguage
1564
+ }, "identifier");
1565
+ var functionRule = {
1566
+ token: ["paren.lparen", "variable.parameter", "paren.rparen", "text", "storage.type"],
1567
+ regex: /(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()"'\/])*?)(\))(\s*))?([\-=]>)/.source
1568
+ };
1569
+ var stringEscape = /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;
1570
+ this.$rules = {
1571
+ start: [
1572
+ {
1573
+ token: "constant.numeric",
1574
+ regex: "(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"
1575
+ }, {
1576
+ stateName: "qdoc",
1577
+ token: "string", regex: "'''", next: [
1578
+ { token: "string", regex: "'''", next: "start" },
1579
+ { token: "constant.language.escape", regex: stringEscape },
1580
+ { defaultToken: "string" }
1581
+ ]
1582
+ }, {
1583
+ stateName: "qqdoc",
1584
+ token: "string",
1585
+ regex: '"""',
1586
+ next: [
1587
+ { token: "string", regex: '"""', next: "start" },
1588
+ { token: "paren.string", regex: '#{', push: "start" },
1589
+ { token: "constant.language.escape", regex: stringEscape },
1590
+ { defaultToken: "string" }
1591
+ ]
1592
+ }, {
1593
+ stateName: "qstring",
1594
+ token: "string", regex: "'", next: [
1595
+ { token: "string", regex: "'", next: "start" },
1596
+ { token: "constant.language.escape", regex: stringEscape },
1597
+ { defaultToken: "string" }
1598
+ ]
1599
+ }, {
1600
+ stateName: "qqstring",
1601
+ token: "string.start", regex: '"', next: [
1602
+ { token: "string.end", regex: '"', next: "start" },
1603
+ { token: "paren.string", regex: '#{', push: "start" },
1604
+ { token: "constant.language.escape", regex: stringEscape },
1605
+ { defaultToken: "string" }
1606
+ ]
1607
+ }, {
1608
+ stateName: "js",
1609
+ token: "string", regex: "`", next: [
1610
+ { token: "string", regex: "`", next: "start" },
1611
+ { token: "constant.language.escape", regex: stringEscape },
1612
+ { defaultToken: "string" }
1613
+ ]
1614
+ }, {
1615
+ regex: "[{}]", onMatch: function (val, state, stack) {
1616
+ this.next = "";
1617
+ if (val == "{" && stack.length) {
1618
+ stack.unshift("start", state);
1612
1619
  return "paren";
1613
1620
  }
1614
- }, {
1615
- token : "string.regex",
1616
- regex : "///",
1617
- next : "heregex"
1618
- }, {
1619
- token : "string.regex",
1620
- regex : /(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/
1621
- }, {
1622
- token : "comment",
1623
- regex : "###(?!#)",
1624
- next : "comment"
1625
- }, {
1626
- token : "comment",
1627
- regex : "#.*"
1628
- }, {
1629
- token : ["punctuation.operator", "text", "identifier"],
1630
- regex : "(\\.)(\\s*)(" + illegal + ")"
1631
- }, {
1632
- token : "punctuation.operator",
1633
- regex : "\\.{1,3}"
1634
- }, {
1635
- token : ["keyword", "text", "language.support.class",
1636
- "text", "keyword", "text", "language.support.class"],
1637
- regex : "(class)(\\s+)(" + identifier + ")(?:(\\s+)(extends)(\\s+)(" + identifier + "))?"
1638
- }, {
1639
- token : ["entity.name.function", "text", "keyword.operator", "text"].concat(functionRule.token),
1640
- regex : "(" + identifier + ")(\\s*)([=:])(\\s*)" + functionRule.regex
1641
- },
1642
- functionRule,
1643
- {
1644
- token : "variable",
1645
- regex : "@(?:" + identifier + ")?"
1646
- }, {
1647
- token: keywordMapper,
1648
- regex : identifier
1649
- }, {
1650
- token : "punctuation.operator",
1651
- regex : "\\,|\\."
1652
- }, {
1653
- token : "storage.type",
1654
- regex : "[\\-=]>"
1655
- }, {
1656
- token : "keyword.operator",
1657
- regex : "(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"
1658
- }, {
1659
- token : "paren.lparen",
1660
- regex : "[({[]"
1661
- }, {
1662
- token : "paren.rparen",
1663
- regex : "[\\]})]"
1664
- }, {
1665
- token : "text",
1666
- regex : "\\s+"
1667
- }],
1668
-
1669
-
1670
- heregex : [{
1671
- token : "string.regex",
1672
- regex : '.*?///[imgy]{0,4}',
1673
- next : "start"
1621
+ if (val == "}" && stack.length) {
1622
+ stack.shift();
1623
+ this.next = stack.shift() || "";
1624
+ if (this.next.indexOf("string") != -1)
1625
+ return "paren.string";
1626
+ }
1627
+ return "paren";
1628
+ }
1629
+ }, {
1630
+ token: "string.regex",
1631
+ regex: "///",
1632
+ next: "heregex"
1674
1633
  }, {
1675
- token : "comment.regex",
1676
- regex : "\\s+(?:#.*)?"
1634
+ token: "string.regex",
1635
+ regex: /(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/
1677
1636
  }, {
1678
- token : "string.regex",
1679
- regex : "\\S+"
1637
+ token: "comment",
1638
+ regex: "###(?!#)",
1639
+ next: "comment"
1640
+ }, {
1641
+ token: "comment",
1642
+ regex: "#.*"
1643
+ }, {
1644
+ token: ["punctuation.operator", "text", "identifier"],
1645
+ regex: "(\\.)(\\s*)(" + illegal + ")"
1646
+ }, {
1647
+ token: "punctuation.operator",
1648
+ regex: "\\.{1,3}"
1649
+ }, {
1650
+ token: ["keyword", "text", "language.support.class",
1651
+ "text", "keyword", "text", "language.support.class"],
1652
+ regex: "(class)(\\s+)(" + identifier + ")(?:(\\s+)(extends)(\\s+)(" + identifier + "))?"
1653
+ }, {
1654
+ token: ["entity.name.function", "text", "keyword.operator", "text"].concat(functionRule.token),
1655
+ regex: "(" + identifier + ")(\\s*)([=:])(\\s*)" + functionRule.regex
1656
+ },
1657
+ functionRule,
1658
+ {
1659
+ token: "variable",
1660
+ regex: "@(?:" + identifier + ")?"
1661
+ }, {
1662
+ token: keywordMapper,
1663
+ regex: identifier
1664
+ }, {
1665
+ token: "punctuation.operator",
1666
+ regex: "\\,|\\."
1667
+ }, {
1668
+ token: "storage.type",
1669
+ regex: "[\\-=]>"
1670
+ }, {
1671
+ token: "keyword.operator",
1672
+ regex: "(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"
1673
+ }, {
1674
+ token: "paren.lparen",
1675
+ regex: "[({[]"
1676
+ }, {
1677
+ token: "paren.rparen",
1678
+ regex: "[\\]})]"
1679
+ }, {
1680
+ token: "text",
1681
+ regex: "\\s+"
1682
+ }
1683
+ ],
1684
+ heregex: [{
1685
+ token: "string.regex",
1686
+ regex: '.*?///[imgy]{0,4}',
1687
+ next: "start"
1688
+ }, {
1689
+ token: "comment.regex",
1690
+ regex: "\\s+(?:#.*)?"
1691
+ }, {
1692
+ token: "string.regex",
1693
+ regex: "\\S+"
1680
1694
  }],
1681
-
1682
- comment : [{
1683
- token : "comment",
1684
- regex : '###',
1685
- next : "start"
1695
+ comment: [{
1696
+ token: "comment",
1697
+ regex: '###',
1698
+ next: "start"
1686
1699
  }, {
1687
- defaultToken : "comment"
1700
+ defaultToken: "comment"
1688
1701
  }]
1689
- };
1690
- this.normalizeRules();
1691
- }
1702
+ };
1703
+ this.normalizeRules();
1704
+ }
1705
+ exports.CoffeeHighlightRules = CoffeeHighlightRules;
1692
1706
 
1693
- exports.CoffeeHighlightRules = CoffeeHighlightRules;
1694
1707
  });
1695
1708
 
1696
- ace.define("ace/mode/jade_highlight_rules",[], function(require, exports, module) {
1709
+ ace.define("ace/mode/jade_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/scss_highlight_rules","ace/mode/less_highlight_rules","ace/mode/coffee_highlight_rules","ace/mode/javascript_highlight_rules"], function(require, exports, module){/*
1710
+ THIS FILE WAS AUTOGENERATED BY mode_highlight_rules.tmpl.js (UUID: C5B73B98-5F2A-42E3-9F0E-028A74A9FE4B)
1711
+ */
1697
1712
  "use strict";
1698
-
1699
1713
  var oop = require("../lib/oop");
1700
1714
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1701
1715
  var MarkdownHighlightRules = require("./markdown_highlight_rules").MarkdownHighlightRules;
@@ -1703,17 +1717,14 @@ var SassHighlightRules = require("./scss_highlight_rules").ScssHighlightRules;
1703
1717
  var LessHighlightRules = require("./less_highlight_rules").LessHighlightRules;
1704
1718
  var CoffeeHighlightRules = require("./coffee_highlight_rules").CoffeeHighlightRules;
1705
1719
  var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
1706
-
1707
1720
  function mixin_embed(tag, prefix) {
1708
- return {
1709
- token : "entity.name.function.jade",
1710
- regex : "^\\s*\\:" + tag,
1711
- next : prefix + "start"
1721
+ return {
1722
+ token: "entity.name.function.jade",
1723
+ regex: "^\\s*\\:" + tag,
1724
+ next: prefix + "start"
1712
1725
  };
1713
1726
  }
1714
-
1715
- var JadeHighlightRules = function() {
1716
-
1727
+ var JadeHighlightRules = function () {
1717
1728
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
1718
1729
  "u[0-9a-fA-F]{4}|" + // unicode
1719
1730
  "[0-2][0-7]{0,2}|" + // oct
@@ -1721,248 +1732,238 @@ var JadeHighlightRules = function() {
1721
1732
  "37[0-7]?|" + // oct
1722
1733
  "[4-7][0-7]?|" + //oct
1723
1734
  ".)";
1724
-
1725
- this.$rules =
1735
+ this.$rules =
1726
1736
  {
1727
- "start": [
1728
- {
1729
- token: "keyword.control.import.include.jade",
1730
- regex: "\\s*\\binclude\\b"
1731
- },
1732
- {
1733
- token: "keyword.other.doctype.jade",
1734
- regex: "^!!!\\s*(?:[a-zA-Z0-9-_]+)?"
1735
- },
1736
- {
1737
- onMatch: function(value, currentState, stack) {
1738
- stack.unshift(this.next, value.length - 2, currentState);
1739
- return "comment";
1740
- },
1741
- regex: /^\s*\/\//,
1742
- next: "comment_block"
1743
- },
1744
- mixin_embed("markdown", "markdown-"),
1745
- mixin_embed("sass", "sass-"),
1746
- mixin_embed("less", "less-"),
1747
- mixin_embed("coffee", "coffee-"),
1748
- {
1749
- token: [ "storage.type.function.jade",
1750
- "entity.name.function.jade",
1751
- "punctuation.definition.parameters.begin.jade",
1752
- "variable.parameter.function.jade",
1753
- "punctuation.definition.parameters.end.jade"
1737
+ "start": [
1738
+ {
1739
+ token: "keyword.control.import.include.jade",
1740
+ regex: "\\s*\\binclude\\b"
1741
+ },
1742
+ {
1743
+ token: "keyword.other.doctype.jade",
1744
+ regex: "^!!!\\s*(?:[a-zA-Z0-9-_]+)?"
1745
+ },
1746
+ {
1747
+ onMatch: function (value, currentState, stack) {
1748
+ stack.unshift(this.next, value.length - 2, currentState);
1749
+ return "comment";
1750
+ },
1751
+ regex: /^\s*\/\//,
1752
+ next: "comment_block"
1753
+ },
1754
+ mixin_embed("markdown", "markdown-"),
1755
+ mixin_embed("sass", "sass-"),
1756
+ mixin_embed("less", "less-"),
1757
+ mixin_embed("coffee", "coffee-"),
1758
+ {
1759
+ token: ["storage.type.function.jade",
1760
+ "entity.name.function.jade",
1761
+ "punctuation.definition.parameters.begin.jade",
1762
+ "variable.parameter.function.jade",
1763
+ "punctuation.definition.parameters.end.jade"
1754
1764
  ],
1755
- regex: "^(\\s*mixin)( [\\w\\-]+)(\\s*\\()(.*?)(\\))"
1756
- },
1757
- {
1758
- token: [ "storage.type.function.jade", "entity.name.function.jade"],
1759
- regex: "^(\\s*mixin)( [\\w\\-]+)"
1760
- },
1761
- {
1762
- token: "source.js.embedded.jade",
1763
- regex: "^\\s*(?:-|=|!=)",
1764
- next: "js-start"
1765
- },
1766
- {
1767
- token: "string.interpolated.jade",
1768
- regex: "[#!]\\{[^\\}]+\\}"
1769
- },
1770
- {
1771
- token: "meta.tag.any.jade",
1772
- regex: /^\s*(?!\w+:)(?:[\w-]+|(?=\.|#)])/,
1773
- next: "tag_single"
1774
- },
1775
- {
1776
- token: "suport.type.attribute.id.jade",
1777
- regex: "#\\w+"
1778
- },
1779
- {
1780
- token: "suport.type.attribute.class.jade",
1781
- regex: "\\.\\w+"
1782
- },
1783
- {
1784
- token: "punctuation",
1785
- regex: "\\s*(?:\\()",
1786
- next: "tag_attributes"
1787
- }
1788
- ],
1789
- "comment_block": [
1790
- {regex: /^\s*(?:\/\/)?/, onMatch: function(value, currentState, stack) {
1791
- if (value.length <= stack[1]) {
1792
- if (value.slice(-1) == "/") {
1793
- stack[1] = value.length - 2;
1794
- this.next = "";
1795
- return "comment";
1765
+ regex: "^(\\s*mixin)( [\\w\\-]+)(\\s*\\()(.*?)(\\))"
1766
+ },
1767
+ {
1768
+ token: ["storage.type.function.jade", "entity.name.function.jade"],
1769
+ regex: "^(\\s*mixin)( [\\w\\-]+)"
1770
+ },
1771
+ {
1772
+ token: "source.js.embedded.jade",
1773
+ regex: "^\\s*(?:-|=|!=)",
1774
+ next: "js-start"
1775
+ },
1776
+ {
1777
+ token: "string.interpolated.jade",
1778
+ regex: "[#!]\\{[^\\}]+\\}"
1779
+ },
1780
+ {
1781
+ token: "meta.tag.any.jade",
1782
+ regex: /^\s*(?!\w+:)(?:[\w-]+|(?=\.|#)])/,
1783
+ next: "tag_single"
1784
+ },
1785
+ {
1786
+ token: "suport.type.attribute.id.jade",
1787
+ regex: "#\\w+"
1788
+ },
1789
+ {
1790
+ token: "suport.type.attribute.class.jade",
1791
+ regex: "\\.\\w+"
1792
+ },
1793
+ {
1794
+ token: "punctuation",
1795
+ regex: "\\s*(?:\\()",
1796
+ next: "tag_attributes"
1796
1797
  }
1797
- stack.shift();
1798
- stack.shift();
1799
- this.next = stack.shift();
1800
- return "text";
1801
- } else {
1802
- this.next = "";
1803
- return "comment";
1804
- }
1805
- }, next: "start"},
1806
- {defaultToken: "comment"}
1807
- ],
1808
- "tag_single": [
1809
- {
1810
- token: "entity.other.attribute-name.class.jade",
1811
- regex: "\\.[\\w-]+"
1812
- },
1813
- {
1814
- token: "entity.other.attribute-name.id.jade",
1815
- regex: "#[\\w-]+"
1816
- },
1817
- {
1818
- token: ["text", "punctuation"],
1819
- regex: "($)|((?!\\.|#|=|-))",
1820
- next: "start"
1821
- }
1822
- ],
1823
- "tag_attributes": [
1824
- {
1825
- token : "string",
1826
- regex : "'(?=.)",
1827
- next : "qstring"
1828
- },
1829
- {
1830
- token : "string",
1831
- regex : '"(?=.)',
1832
- next : "qqstring"
1833
- },
1834
- {
1835
- token: ["entity.other.attribute-name.jade", "punctuation"],
1836
- regex: "([a-zA-Z:\\.-]+)(=)?",
1837
- next: "attribute_strings"
1838
- },
1839
- {
1840
- token: "punctuation",
1841
- regex: "\\)",
1842
- next: "start"
1843
- }
1844
- ],
1845
- "attribute_strings": [
1846
- {
1847
- token : "string",
1848
- regex : "'(?=.)",
1849
- next : "qstring"
1850
- },
1851
- {
1852
- token : "string",
1853
- regex : '"(?=.)',
1854
- next : "qqstring"
1855
- },
1856
- {
1857
- token : "string",
1858
- regex : '(?=\\S)',
1859
- next : "tag_attributes"
1860
- }
1861
- ],
1862
- "qqstring" : [
1863
- {
1864
- token : "constant.language.escape",
1865
- regex : escapedRe
1866
- }, {
1867
- token : "string",
1868
- regex : '[^"\\\\]+'
1869
- }, {
1870
- token : "string",
1871
- regex : "\\\\$",
1872
- next : "qqstring"
1873
- }, {
1874
- token : "string",
1875
- regex : '"|$',
1876
- next : "tag_attributes"
1877
- }
1878
- ],
1879
- "qstring" : [
1880
- {
1881
- token : "constant.language.escape",
1882
- regex : escapedRe
1883
- }, {
1884
- token : "string",
1885
- regex : "[^'\\\\]+"
1886
- }, {
1887
- token : "string",
1888
- regex : "\\\\$",
1889
- next : "qstring"
1890
- }, {
1891
- token : "string",
1892
- regex : "'|$",
1893
- next : "tag_attributes"
1894
- }
1895
- ]
1896
- };
1897
-
1798
+ ],
1799
+ "comment_block": [
1800
+ { regex: /^\s*(?:\/\/)?/, onMatch: function (value, currentState, stack) {
1801
+ if (value.length <= stack[1]) {
1802
+ if (value.slice(-1) == "/") {
1803
+ stack[1] = value.length - 2;
1804
+ this.next = "";
1805
+ return "comment";
1806
+ }
1807
+ stack.shift();
1808
+ stack.shift();
1809
+ this.next = stack.shift();
1810
+ return "text";
1811
+ }
1812
+ else {
1813
+ this.next = "";
1814
+ return "comment";
1815
+ }
1816
+ }, next: "start" },
1817
+ { defaultToken: "comment" }
1818
+ ],
1819
+ "tag_single": [
1820
+ {
1821
+ token: "entity.other.attribute-name.class.jade",
1822
+ regex: "\\.[\\w-]+"
1823
+ },
1824
+ {
1825
+ token: "entity.other.attribute-name.id.jade",
1826
+ regex: "#[\\w-]+"
1827
+ },
1828
+ {
1829
+ token: ["text", "punctuation"],
1830
+ regex: "($)|((?!\\.|#|=|-))",
1831
+ next: "start"
1832
+ }
1833
+ ],
1834
+ "tag_attributes": [
1835
+ {
1836
+ token: "string",
1837
+ regex: "'(?=.)",
1838
+ next: "qstring"
1839
+ },
1840
+ {
1841
+ token: "string",
1842
+ regex: '"(?=.)',
1843
+ next: "qqstring"
1844
+ },
1845
+ {
1846
+ token: ["entity.other.attribute-name.jade", "punctuation"],
1847
+ regex: "([a-zA-Z:\\.-]+)(=)?",
1848
+ next: "attribute_strings"
1849
+ },
1850
+ {
1851
+ token: "punctuation",
1852
+ regex: "\\)",
1853
+ next: "start"
1854
+ }
1855
+ ],
1856
+ "attribute_strings": [
1857
+ {
1858
+ token: "string",
1859
+ regex: "'(?=.)",
1860
+ next: "qstring"
1861
+ },
1862
+ {
1863
+ token: "string",
1864
+ regex: '"(?=.)',
1865
+ next: "qqstring"
1866
+ },
1867
+ {
1868
+ token: "string",
1869
+ regex: '(?=\\S)',
1870
+ next: "tag_attributes"
1871
+ }
1872
+ ],
1873
+ "qqstring": [
1874
+ {
1875
+ token: "constant.language.escape",
1876
+ regex: escapedRe
1877
+ }, {
1878
+ token: "string",
1879
+ regex: '[^"\\\\]+'
1880
+ }, {
1881
+ token: "string",
1882
+ regex: "\\\\$",
1883
+ next: "qqstring"
1884
+ }, {
1885
+ token: "string",
1886
+ regex: '"|$',
1887
+ next: "tag_attributes"
1888
+ }
1889
+ ],
1890
+ "qstring": [
1891
+ {
1892
+ token: "constant.language.escape",
1893
+ regex: escapedRe
1894
+ }, {
1895
+ token: "string",
1896
+ regex: "[^'\\\\]+"
1897
+ }, {
1898
+ token: "string",
1899
+ regex: "\\\\$",
1900
+ next: "qstring"
1901
+ }, {
1902
+ token: "string",
1903
+ regex: "'|$",
1904
+ next: "tag_attributes"
1905
+ }
1906
+ ]
1907
+ };
1898
1908
  this.embedRules(JavaScriptHighlightRules, "js-", [{
1899
- token: "text",
1900
- regex: ".$",
1901
- next: "start"
1902
- }]);
1909
+ token: "text",
1910
+ regex: ".$",
1911
+ next: "start"
1912
+ }]);
1903
1913
  };
1904
-
1905
1914
  oop.inherits(JadeHighlightRules, TextHighlightRules);
1906
-
1907
1915
  exports.JadeHighlightRules = JadeHighlightRules;
1908
- });
1909
1916
 
1910
- ace.define("ace/mode/folding/coffee",[], function(require, exports, module) {
1911
- "use strict";
1917
+ });
1912
1918
 
1919
+ ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module){"use strict";
1913
1920
  var oop = require("../../lib/oop");
1914
1921
  var BaseFoldMode = require("./fold_mode").FoldMode;
1915
1922
  var Range = require("../../range").Range;
1916
-
1917
- var FoldMode = exports.FoldMode = function() {};
1923
+ var FoldMode = exports.FoldMode = function () { };
1918
1924
  oop.inherits(FoldMode, BaseFoldMode);
1919
-
1920
- (function() {
1921
-
1922
- this.getFoldWidgetRange = function(session, foldStyle, row) {
1923
- var range = this.indentationBlock(session, row);
1924
- if (range)
1925
- return range;
1926
-
1925
+ (function () {
1926
+ this.commentBlock = function (session, row) {
1927
1927
  var re = /\S/;
1928
1928
  var line = session.getLine(row);
1929
1929
  var startLevel = line.search(re);
1930
1930
  if (startLevel == -1 || line[startLevel] != "#")
1931
1931
  return;
1932
-
1933
1932
  var startColumn = line.length;
1934
1933
  var maxRow = session.getLength();
1935
1934
  var startRow = row;
1936
1935
  var endRow = row;
1937
-
1938
1936
  while (++row < maxRow) {
1939
1937
  line = session.getLine(row);
1940
1938
  var level = line.search(re);
1941
-
1942
1939
  if (level == -1)
1943
1940
  continue;
1944
-
1945
1941
  if (line[level] != "#")
1946
1942
  break;
1947
-
1948
1943
  endRow = row;
1949
1944
  }
1950
-
1951
1945
  if (endRow > startRow) {
1952
1946
  var endColumn = session.getLine(endRow).length;
1953
1947
  return new Range(startRow, startColumn, endRow, endColumn);
1954
1948
  }
1955
1949
  };
1956
- this.getFoldWidget = function(session, foldStyle, row) {
1950
+ this.getFoldWidgetRange = function (session, foldStyle, row) {
1951
+ var range = this.indentationBlock(session, row);
1952
+ if (range)
1953
+ return range;
1954
+ range = this.commentBlock(session, row);
1955
+ if (range)
1956
+ return range;
1957
+ };
1958
+ this.getFoldWidget = function (session, foldStyle, row) {
1957
1959
  var line = session.getLine(row);
1958
1960
  var indent = line.search(/\S/);
1959
1961
  var next = session.getLine(row + 1);
1960
1962
  var prev = session.getLine(row - 1);
1961
1963
  var prevIndent = prev.search(/\S/);
1962
1964
  var nextIndent = next.search(/\S/);
1963
-
1964
1965
  if (indent == -1) {
1965
- session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
1966
+ session.foldWidgets[row - 1] = prevIndent != -1 && prevIndent < nextIndent ? "start" : "";
1966
1967
  return "";
1967
1968
  }
1968
1969
  if (prevIndent == -1) {
@@ -1971,50 +1972,44 @@ oop.inherits(FoldMode, BaseFoldMode);
1971
1972
  session.foldWidgets[row + 1] = "";
1972
1973
  return "start";
1973
1974
  }
1974
- } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
1975
+ }
1976
+ else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
1975
1977
  if (session.getLine(row - 2).search(/\S/) == -1) {
1976
1978
  session.foldWidgets[row - 1] = "start";
1977
1979
  session.foldWidgets[row + 1] = "";
1978
1980
  return "";
1979
1981
  }
1980
1982
  }
1981
-
1982
- if (prevIndent!= -1 && prevIndent < indent)
1983
+ if (prevIndent != -1 && prevIndent < indent)
1983
1984
  session.foldWidgets[row - 1] = "start";
1984
1985
  else
1985
1986
  session.foldWidgets[row - 1] = "";
1986
-
1987
1987
  if (indent < nextIndent)
1988
1988
  return "start";
1989
1989
  else
1990
1990
  return "";
1991
1991
  };
1992
-
1993
1992
  }).call(FoldMode.prototype);
1994
1993
 
1995
1994
  });
1996
1995
 
1997
- ace.define("ace/mode/jade",[], function(require, exports, module) {
1998
- "use strict";
1999
-
1996
+ ace.define("ace/mode/jade",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jade_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module){"use strict";
2000
1997
  var oop = require("../lib/oop");
2001
1998
  var TextMode = require("./text").Mode;
2002
1999
  var JadeHighlightRules = require("./jade_highlight_rules").JadeHighlightRules;
2003
2000
  var FoldMode = require("./folding/coffee").FoldMode;
2004
-
2005
- var Mode = function() {
2001
+ var Mode = function () {
2006
2002
  this.HighlightRules = JadeHighlightRules;
2007
2003
  this.foldingRules = new FoldMode();
2008
2004
  this.$behaviour = this.$defaultBehaviour;
2009
2005
  };
2010
2006
  oop.inherits(Mode, TextMode);
2011
-
2012
- (function() {
2013
- this.lineCommentStart = "//";
2007
+ (function () {
2008
+ this.lineCommentStart = "//";
2014
2009
  this.$id = "ace/mode/jade";
2015
2010
  }).call(Mode.prototype);
2016
-
2017
2011
  exports.Mode = Mode;
2012
+
2018
2013
  }); (function() {
2019
2014
  ace.require(["ace/mode/jade"], function(m) {
2020
2015
  if (typeof module == "object" && typeof exports == "object" && module) {