@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,90 +1,154 @@
1
- ace.define("ace/mode/doc_comment_highlight_rules",[], function(require, exports, module) {
2
- "use strict";
3
-
1
+ 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";
4
2
  var oop = require("../lib/oop");
5
3
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
-
7
- var DocCommentHighlightRules = function() {
4
+ var JsDocCommentHighlightRules = function () {
8
5
  this.$rules = {
9
- "start" : [ {
10
- token : "comment.doc.tag",
11
- regex : "@[\\w\\d_]+" // TODO: fix email addresses
12
- },
13
- DocCommentHighlightRules.getTagRule(),
14
- {
15
- defaultToken : "comment.doc",
16
- caseInsensitive: true
17
- }]
6
+ "start": [
7
+ {
8
+ token: ["comment.doc.tag", "comment.doc.text", "lparen.doc"],
9
+ regex: "(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",
10
+ push: [
11
+ {
12
+ token: "lparen.doc",
13
+ regex: "{",
14
+ push: [
15
+ {
16
+ include: "doc-syntax"
17
+ }, {
18
+ token: "rparen.doc",
19
+ regex: "}|(?=$)",
20
+ next: "pop"
21
+ }
22
+ ]
23
+ }, {
24
+ token: ["rparen.doc", "text.doc", "variable.parameter.doc", "lparen.doc", "variable.parameter.doc", "rparen.doc"],
25
+ regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.]+)(\])))/,
26
+ next: "pop"
27
+ }, {
28
+ token: "rparen.doc",
29
+ regex: "}|(?=$)",
30
+ next: "pop"
31
+ }, {
32
+ include: "doc-syntax"
33
+ }, {
34
+ defaultToken: "text.doc"
35
+ }
36
+ ]
37
+ }, {
38
+ token: ["comment.doc.tag", "text.doc", "lparen.doc"],
39
+ regex: "(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|"
40
+ + "implements|external|exception|throws|enum|define|extends))(\\s*)({)",
41
+ push: [
42
+ {
43
+ token: "lparen.doc",
44
+ regex: "{",
45
+ push: [
46
+ {
47
+ include: "doc-syntax"
48
+ }, {
49
+ token: "rparen.doc",
50
+ regex: "}|(?=$)",
51
+ next: "pop"
52
+ }
53
+ ]
54
+ }, {
55
+ token: "rparen.doc",
56
+ regex: "}|(?=$)",
57
+ next: "pop"
58
+ }, {
59
+ include: "doc-syntax"
60
+ }, {
61
+ defaultToken: "text.doc"
62
+ }
63
+ ]
64
+ }, {
65
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
66
+ regex: "(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|"
67
+ + "requires|param|implements|function|extends|typedef|mixes|constructor|var|"
68
+ + "memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|"
69
+ + "throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#\.:\/~\"\\-]*)?"
70
+ }, {
71
+ token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
72
+ regex: "(@method)(\\s+)(\\w[\\w\.\\(\\)]*)"
73
+ }, {
74
+ token: "comment.doc.tag",
75
+ regex: "@access\\s+(?:private|public|protected)"
76
+ }, {
77
+ token: "comment.doc.tag",
78
+ regex: "@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"
79
+ }, {
80
+ token: "comment.doc.tag",
81
+ regex: "@\\w+(?=\\s|$)"
82
+ },
83
+ JsDocCommentHighlightRules.getTagRule(),
84
+ {
85
+ defaultToken: "comment.doc",
86
+ caseInsensitive: true
87
+ }
88
+ ],
89
+ "doc-syntax": [{
90
+ token: "operator.doc",
91
+ regex: /[|:]/
92
+ }, {
93
+ token: "paren.doc",
94
+ regex: /[\[\]]/
95
+ }]
18
96
  };
97
+ this.normalizeRules();
19
98
  };
20
-
21
- oop.inherits(DocCommentHighlightRules, TextHighlightRules);
22
-
23
- DocCommentHighlightRules.getTagRule = function(start) {
99
+ oop.inherits(JsDocCommentHighlightRules, TextHighlightRules);
100
+ JsDocCommentHighlightRules.getTagRule = function (start) {
24
101
  return {
25
- token : "comment.doc.tag.storage.type",
26
- regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
102
+ token: "comment.doc.tag.storage.type",
103
+ regex: "\\b(?:TODO|FIXME|XXX|HACK)\\b"
27
104
  };
28
105
  };
29
-
30
- DocCommentHighlightRules.getStartRule = function(start) {
106
+ JsDocCommentHighlightRules.getStartRule = function (start) {
31
107
  return {
32
- token : "comment.doc", // doc comment
33
- regex : "\\/\\*(?=\\*)",
34
- next : start
108
+ token: "comment.doc",
109
+ regex: "\\/\\*(?=\\*)",
110
+ next: start
35
111
  };
36
112
  };
37
-
38
- DocCommentHighlightRules.getEndRule = function (start) {
113
+ JsDocCommentHighlightRules.getEndRule = function (start) {
39
114
  return {
40
- token : "comment.doc", // closing comment
41
- regex : "\\*\\/",
42
- next : start
115
+ token: "comment.doc",
116
+ regex: "\\*\\/",
117
+ next: start
43
118
  };
44
119
  };
45
-
46
-
47
- exports.DocCommentHighlightRules = DocCommentHighlightRules;
120
+ exports.JsDocCommentHighlightRules = JsDocCommentHighlightRules;
48
121
 
49
122
  });
50
123
 
51
- ace.define("ace/mode/javascript_highlight_rules",[], function(require, exports, module) {
52
- "use strict";
53
-
124
+ 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";
54
125
  var oop = require("../lib/oop");
55
- var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
126
+ var DocCommentHighlightRules = require("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules;
56
127
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
57
128
  var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
58
-
59
- var JavaScriptHighlightRules = function(options) {
129
+ var JavaScriptHighlightRules = function (options) {
60
130
  var keywordMapper = this.createKeywordMapper({
61
- "variable.language":
62
- "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
63
- "Namespace|QName|XML|XMLList|" + // E4X
64
- "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
65
- "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
66
- "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
67
- "SyntaxError|TypeError|URIError|" +
131
+ "variable.language": "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|" + // Constructors
132
+ "Namespace|QName|XML|XMLList|" + // E4X
133
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
134
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
135
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
136
+ "SyntaxError|TypeError|URIError|" +
68
137
  "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
69
- "isNaN|parseFloat|parseInt|" +
70
- "JSON|Math|" + // Other
71
- "this|arguments|prototype|window|document" , // Pseudo
72
- "keyword":
73
- "const|yield|import|get|set|async|await|" +
138
+ "isNaN|parseFloat|parseInt|" +
139
+ "JSON|Math|" + // Other
140
+ "this|arguments|prototype|window|document",
141
+ "keyword": "const|yield|import|get|set|async|await|" +
74
142
  "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
75
143
  "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
76
144
  "__parent__|__count__|escape|unescape|with|__proto__|" +
77
- "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
78
- "storage.type":
79
- "const|let|var|function",
80
- "constant.language":
81
- "null|Infinity|NaN|undefined",
82
- "support.function":
83
- "alert",
145
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor",
146
+ "storage.type": "const|let|var|function",
147
+ "constant.language": "null|Infinity|NaN|undefined",
148
+ "support.function": "alert",
84
149
  "constant.language.boolean": "true|false"
85
150
  }, "identifier");
86
151
  var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
87
-
88
152
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
89
153
  "u[0-9a-fA-F]{4}|" + // unicode
90
154
  "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
@@ -92,143 +156,142 @@ var JavaScriptHighlightRules = function(options) {
92
156
  "3[0-7][0-7]?|" + // oct
93
157
  "[4-7][0-7]?|" + //oct
94
158
  ".)";
95
-
96
159
  this.$rules = {
97
- "no_regex" : [
160
+ "no_regex": [
98
161
  DocCommentHighlightRules.getStartRule("doc-start"),
99
162
  comments("no_regex"),
100
163
  {
101
- token : "string",
102
- regex : "'(?=.)",
103
- next : "qstring"
164
+ token: "string",
165
+ regex: "'(?=.)",
166
+ next: "qstring"
104
167
  }, {
105
- token : "string",
106
- regex : '"(?=.)',
107
- next : "qqstring"
168
+ token: "string",
169
+ regex: '"(?=.)',
170
+ next: "qqstring"
108
171
  }, {
109
- token : "constant.numeric", // hexadecimal, octal and binary
110
- regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
172
+ token: "constant.numeric",
173
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
111
174
  }, {
112
- token : "constant.numeric", // decimal integers and floats
113
- regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
175
+ token: "constant.numeric",
176
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
114
177
  }, {
115
- token : [
178
+ token: [
116
179
  "storage.type", "punctuation.operator", "support.function",
117
- "punctuation.operator", "entity.name.function", "text","keyword.operator"
180
+ "punctuation.operator", "entity.name.function", "text", "keyword.operator"
118
181
  ],
119
- regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
182
+ regex: "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe + ")(\\s*)(=)",
120
183
  next: "function_arguments"
121
184
  }, {
122
- token : [
185
+ token: [
123
186
  "storage.type", "punctuation.operator", "entity.name.function", "text",
124
187
  "keyword.operator", "text", "storage.type", "text", "paren.lparen"
125
188
  ],
126
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
189
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
127
190
  next: "function_arguments"
128
191
  }, {
129
- token : [
192
+ token: [
130
193
  "entity.name.function", "text", "keyword.operator", "text", "storage.type",
131
194
  "text", "paren.lparen"
132
195
  ],
133
- regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
196
+ regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
134
197
  next: "function_arguments"
135
198
  }, {
136
- token : [
199
+ token: [
137
200
  "storage.type", "punctuation.operator", "entity.name.function", "text",
138
201
  "keyword.operator", "text",
139
202
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
140
203
  ],
141
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
204
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s+)(\\w+)(\\s*)(\\()",
142
205
  next: "function_arguments"
143
206
  }, {
144
- token : [
207
+ token: [
145
208
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
146
209
  ],
147
- regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
210
+ regex: "(function\\*?)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
148
211
  next: "function_arguments"
149
212
  }, {
150
- token : [
213
+ token: [
151
214
  "entity.name.function", "text", "punctuation.operator",
152
215
  "text", "storage.type", "text", "paren.lparen"
153
216
  ],
154
- regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
217
+ regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)(function\\*?)(\\s*)(\\()",
155
218
  next: "function_arguments"
156
219
  }, {
157
- token : [
220
+ token: [
158
221
  "text", "text", "storage.type", "text", "paren.lparen"
159
222
  ],
160
- regex : "(:)(\\s*)(function)(\\s*)(\\()",
223
+ regex: "(:)(\\s*)(function\\*?)(\\s*)(\\()",
161
224
  next: "function_arguments"
162
225
  }, {
163
- token : "keyword",
164
- regex : "from(?=\\s*('|\"))"
226
+ token: "keyword",
227
+ regex: "from(?=\\s*('|\"))"
165
228
  }, {
166
- token : "keyword",
167
- regex : "(?:" + kwBeforeRe + ")\\b",
168
- next : "start"
229
+ token: "keyword",
230
+ regex: "(?:" + kwBeforeRe + ")\\b",
231
+ next: "start"
169
232
  }, {
170
- token : ["support.constant"],
171
- regex : /that\b/
233
+ token: "support.constant",
234
+ regex: /that\b/
172
235
  }, {
173
- token : ["storage.type", "punctuation.operator", "support.function.firebug"],
174
- regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
236
+ token: ["storage.type", "punctuation.operator", "support.function.firebug"],
237
+ regex: /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
175
238
  }, {
176
- token : keywordMapper,
177
- regex : identifierRe
239
+ token: keywordMapper,
240
+ regex: identifierRe
178
241
  }, {
179
- token : "punctuation.operator",
180
- regex : /[.](?![.])/,
181
- next : "property"
242
+ token: "punctuation.operator",
243
+ regex: /[.](?![.])/,
244
+ next: "property"
182
245
  }, {
183
- token : "storage.type",
184
- regex : /=>/,
185
- next : "start"
246
+ token: "storage.type",
247
+ regex: /=>/,
248
+ next: "start"
186
249
  }, {
187
- token : "keyword.operator",
188
- regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
189
- next : "start"
250
+ token: "keyword.operator",
251
+ regex: /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
252
+ next: "start"
190
253
  }, {
191
- token : "punctuation.operator",
192
- regex : /[?:,;.]/,
193
- next : "start"
254
+ token: "punctuation.operator",
255
+ regex: /[?:,;.]/,
256
+ next: "start"
194
257
  }, {
195
- token : "paren.lparen",
196
- regex : /[\[({]/,
197
- next : "start"
258
+ token: "paren.lparen",
259
+ regex: /[\[({]/,
260
+ next: "start"
198
261
  }, {
199
- token : "paren.rparen",
200
- regex : /[\])}]/
262
+ token: "paren.rparen",
263
+ regex: /[\])}]/
201
264
  }, {
202
265
  token: "comment",
203
266
  regex: /^#!.*$/
204
267
  }
205
268
  ],
206
269
  property: [{
207
- token : "text",
208
- regex : "\\s+"
270
+ token: "text",
271
+ regex: "\\s+"
209
272
  }, {
210
- token : [
273
+ token: [
211
274
  "storage.type", "punctuation.operator", "entity.name.function", "text",
212
275
  "keyword.operator", "text",
213
276
  "storage.type", "text", "entity.name.function", "text", "paren.lparen"
214
277
  ],
215
- regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
278
+ regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(?:(\\s+)(\\w+))?(\\s*)(\\()",
216
279
  next: "function_arguments"
217
280
  }, {
218
- token : "punctuation.operator",
219
- regex : /[.](?![.])/
281
+ token: "punctuation.operator",
282
+ regex: /[.](?![.])/
220
283
  }, {
221
- token : "support.function",
222
- 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(?=\()/
284
+ token: "support.function",
285
+ 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(?=\()/
223
286
  }, {
224
- token : "support.function.dom",
225
- 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(?=\()/
287
+ token: "support.function.dom",
288
+ 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(?=\()/
226
289
  }, {
227
- token : "support.constant",
228
- 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/
290
+ token: "support.constant",
291
+ 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/
229
292
  }, {
230
- token : "identifier",
231
- regex : identifierRe
293
+ token: "identifier",
294
+ regex: identifierRe
232
295
  }, {
233
296
  regex: "",
234
297
  token: "empty",
@@ -243,9 +306,9 @@ var JavaScriptHighlightRules = function(options) {
243
306
  regex: "\\/",
244
307
  next: "regex"
245
308
  }, {
246
- token : "text",
247
- regex : "\\s+|^$",
248
- next : "start"
309
+ token: "text",
310
+ regex: "\\s+|^$",
311
+ next: "start"
249
312
  }, {
250
313
  token: "empty",
251
314
  regex: "",
@@ -261,13 +324,13 @@ var JavaScriptHighlightRules = function(options) {
261
324
  regex: "/[sxngimy]*",
262
325
  next: "no_regex"
263
326
  }, {
264
- token : "invalid",
327
+ token: "invalid",
265
328
  regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
266
329
  }, {
267
- token : "constant.language.escape",
330
+ token: "constant.language.escape",
268
331
  regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
269
332
  }, {
270
- token : "constant.language.delimiter",
333
+ token: "constant.language.delimiter",
271
334
  regex: /\|/
272
335
  }, {
273
336
  token: "constant.language.escape",
@@ -300,13 +363,67 @@ var JavaScriptHighlightRules = function(options) {
300
363
  defaultToken: "string.regexp.charachterclass"
301
364
  }
302
365
  ],
366
+ "default_parameter": [
367
+ {
368
+ token: "string",
369
+ regex: "'(?=.)",
370
+ push: [
371
+ {
372
+ token: "string",
373
+ regex: "'|$",
374
+ next: "pop"
375
+ }, {
376
+ include: "qstring"
377
+ }
378
+ ]
379
+ }, {
380
+ token: "string",
381
+ regex: '"(?=.)',
382
+ push: [
383
+ {
384
+ token: "string",
385
+ regex: '"|$',
386
+ next: "pop"
387
+ }, {
388
+ include: "qqstring"
389
+ }
390
+ ]
391
+ }, {
392
+ token: "constant.language",
393
+ regex: "null|Infinity|NaN|undefined"
394
+ }, {
395
+ token: "constant.numeric",
396
+ regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
397
+ }, {
398
+ token: "constant.numeric",
399
+ regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
400
+ }, {
401
+ token: "punctuation.operator",
402
+ regex: ",",
403
+ next: "function_arguments"
404
+ }, {
405
+ token: "text",
406
+ regex: "\\s+"
407
+ }, {
408
+ token: "punctuation.operator",
409
+ regex: "$"
410
+ }, {
411
+ token: "empty",
412
+ regex: "",
413
+ next: "no_regex"
414
+ }
415
+ ],
303
416
  "function_arguments": [
417
+ comments("function_arguments"),
304
418
  {
305
419
  token: "variable.parameter",
306
420
  regex: identifierRe
307
421
  }, {
308
422
  token: "punctuation.operator",
309
- regex: "[, ]+"
423
+ regex: ","
424
+ }, {
425
+ token: "text",
426
+ regex: "\\s+"
310
427
  }, {
311
428
  token: "punctuation.operator",
312
429
  regex: "$"
@@ -316,44 +433,42 @@ var JavaScriptHighlightRules = function(options) {
316
433
  next: "no_regex"
317
434
  }
318
435
  ],
319
- "qqstring" : [
436
+ "qqstring": [
320
437
  {
321
- token : "constant.language.escape",
322
- regex : escapedRe
438
+ token: "constant.language.escape",
439
+ regex: escapedRe
323
440
  }, {
324
- token : "string",
325
- regex : "\\\\$",
326
- consumeLineEnd : true
441
+ token: "string",
442
+ regex: "\\\\$",
443
+ consumeLineEnd: true
327
444
  }, {
328
- token : "string",
329
- regex : '"|$',
330
- next : "no_regex"
445
+ token: "string",
446
+ regex: '"|$',
447
+ next: "no_regex"
331
448
  }, {
332
449
  defaultToken: "string"
333
450
  }
334
451
  ],
335
- "qstring" : [
452
+ "qstring": [
336
453
  {
337
- token : "constant.language.escape",
338
- regex : escapedRe
454
+ token: "constant.language.escape",
455
+ regex: escapedRe
339
456
  }, {
340
- token : "string",
341
- regex : "\\\\$",
342
- consumeLineEnd : true
457
+ token: "string",
458
+ regex: "\\\\$",
459
+ consumeLineEnd: true
343
460
  }, {
344
- token : "string",
345
- regex : "'|$",
346
- next : "no_regex"
461
+ token: "string",
462
+ regex: "'|$",
463
+ next: "no_regex"
347
464
  }, {
348
465
  defaultToken: "string"
349
466
  }
350
467
  ]
351
468
  };
352
-
353
-
354
469
  if (!options || !options.noES6) {
355
470
  this.$rules.no_regex.unshift({
356
- regex: "[{}]", onMatch: function(val, state, stack) {
471
+ regex: "[{}]", onMatch: function (val, state, stack) {
357
472
  this.next = val == "{" ? this.nextState : "";
358
473
  if (val == "{" && stack.length) {
359
474
  stack.unshift("start", state);
@@ -368,40 +483,60 @@ var JavaScriptHighlightRules = function(options) {
368
483
  },
369
484
  nextState: "start"
370
485
  }, {
371
- token : "string.quasi.start",
372
- regex : /`/,
373
- push : [{
374
- token : "constant.language.escape",
375
- regex : escapedRe
376
- }, {
377
- token : "paren.quasi.start",
378
- regex : /\${/,
379
- push : "start"
380
- }, {
381
- token : "string.quasi.end",
382
- regex : /`/,
383
- next : "pop"
384
- }, {
385
- defaultToken: "string.quasi"
386
- }]
486
+ token: "string.quasi.start",
487
+ regex: /`/,
488
+ push: [{
489
+ token: "constant.language.escape",
490
+ regex: escapedRe
491
+ }, {
492
+ token: "paren.quasi.start",
493
+ regex: /\${/,
494
+ push: "start"
495
+ }, {
496
+ token: "string.quasi.end",
497
+ regex: /`/,
498
+ next: "pop"
499
+ }, {
500
+ defaultToken: "string.quasi"
501
+ }]
502
+ }, {
503
+ token: ["variable.parameter", "text"],
504
+ regex: "(" + identifierRe + ")(\\s*)(?=\\=>)"
505
+ }, {
506
+ token: "paren.lparen",
507
+ regex: "(\\()(?=.+\\s*=>)",
508
+ next: "function_arguments"
509
+ }, {
510
+ token: "variable.language",
511
+ regex: "(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"
512
+ });
513
+ this.$rules["function_arguments"].unshift({
514
+ token: "keyword.operator",
515
+ regex: "=",
516
+ next: "default_parameter"
517
+ }, {
518
+ token: "keyword.operator",
519
+ regex: "\\.{3}"
520
+ });
521
+ this.$rules["property"].unshift({
522
+ token: "support.function",
523
+ regex: "(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|"
524
+ + "finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"
525
+ }, {
526
+ token: "constant.language",
527
+ regex: "(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"
387
528
  });
388
-
389
529
  if (!options || options.jsx != false)
390
530
  JSX.call(this);
391
531
  }
392
-
393
- this.embedRules(DocCommentHighlightRules, "doc-",
394
- [ DocCommentHighlightRules.getEndRule("no_regex") ]);
395
-
532
+ this.embedRules(DocCommentHighlightRules, "doc-", [DocCommentHighlightRules.getEndRule("no_regex")]);
396
533
  this.normalizeRules();
397
534
  };
398
-
399
535
  oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
400
-
401
536
  function JSX() {
402
537
  var tagRegex = identifierRe.replace("\\d", "\\d\\-");
403
538
  var jsxTag = {
404
- onMatch : function(val, state, stack) {
539
+ onMatch: function (val, state, stack) {
405
540
  var offset = val.charAt(1) == "/" ? 2 : 1;
406
541
  if (offset == 1) {
407
542
  if (state != this.nextState)
@@ -409,7 +544,8 @@ function JSX() {
409
544
  else
410
545
  stack.unshift(this.next);
411
546
  stack[2]++;
412
- } else if (offset == 2) {
547
+ }
548
+ else if (offset == 2) {
413
549
  if (state == this.nextState) {
414
550
  stack[1]--;
415
551
  if (!stack[1] || stack[1] < 0) {
@@ -419,14 +555,14 @@ function JSX() {
419
555
  }
420
556
  }
421
557
  return [{
422
- type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
423
- value: val.slice(0, offset)
424
- }, {
425
- type: "meta.tag.tag-name.xml",
426
- value: val.substr(offset)
427
- }];
558
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
559
+ value: val.slice(0, offset)
560
+ }, {
561
+ type: "meta.tag.tag-name.xml",
562
+ value: val.substr(offset)
563
+ }];
428
564
  },
429
- regex : "</?" + tagRegex + "",
565
+ regex: "</?" + tagRegex + "",
430
566
  next: "jsxAttributes",
431
567
  nextState: "jsx"
432
568
  };
@@ -439,107 +575,102 @@ function JSX() {
439
575
  this.$rules.jsx = [
440
576
  jsxJsRule,
441
577
  jsxTag,
442
- {include : "reference"},
443
- {defaultToken: "string"}
578
+ { include: "reference" },
579
+ { defaultToken: "string" }
444
580
  ];
445
581
  this.$rules.jsxAttributes = [{
446
- token : "meta.tag.punctuation.tag-close.xml",
447
- regex : "/?>",
448
- onMatch : function(value, currentState, stack) {
449
- if (currentState == stack[0])
450
- stack.shift();
451
- if (value.length == 2) {
452
- if (stack[0] == this.nextState)
453
- stack[1]--;
454
- if (!stack[1] || stack[1] < 0) {
455
- stack.splice(0, 2);
582
+ token: "meta.tag.punctuation.tag-close.xml",
583
+ regex: "/?>",
584
+ onMatch: function (value, currentState, stack) {
585
+ if (currentState == stack[0])
586
+ stack.shift();
587
+ if (value.length == 2) {
588
+ if (stack[0] == this.nextState)
589
+ stack[1]--;
590
+ if (!stack[1] || stack[1] < 0) {
591
+ stack.splice(0, 2);
592
+ }
456
593
  }
457
- }
458
- this.next = stack[0] || "start";
459
- return [{type: this.token, value: value}];
594
+ this.next = stack[0] || "start";
595
+ return [{ type: this.token, value: value }];
596
+ },
597
+ nextState: "jsx"
460
598
  },
461
- nextState: "jsx"
462
- },
463
- jsxJsRule,
464
- comments("jsxAttributes"),
465
- {
466
- token : "entity.other.attribute-name.xml",
467
- regex : tagRegex
468
- }, {
469
- token : "keyword.operator.attribute-equals.xml",
470
- regex : "="
471
- }, {
472
- token : "text.tag-whitespace.xml",
473
- regex : "\\s+"
474
- }, {
475
- token : "string.attribute-value.xml",
476
- regex : "'",
477
- stateName : "jsx_attr_q",
478
- push : [
479
- {token : "string.attribute-value.xml", regex: "'", next: "pop"},
480
- {include : "reference"},
481
- {defaultToken : "string.attribute-value.xml"}
482
- ]
483
- }, {
484
- token : "string.attribute-value.xml",
485
- regex : '"',
486
- stateName : "jsx_attr_qq",
487
- push : [
488
- {token : "string.attribute-value.xml", regex: '"', next: "pop"},
489
- {include : "reference"},
490
- {defaultToken : "string.attribute-value.xml"}
491
- ]
492
- },
493
- jsxTag
599
+ jsxJsRule,
600
+ comments("jsxAttributes"),
601
+ {
602
+ token: "entity.other.attribute-name.xml",
603
+ regex: tagRegex
604
+ }, {
605
+ token: "keyword.operator.attribute-equals.xml",
606
+ regex: "="
607
+ }, {
608
+ token: "text.tag-whitespace.xml",
609
+ regex: "\\s+"
610
+ }, {
611
+ token: "string.attribute-value.xml",
612
+ regex: "'",
613
+ stateName: "jsx_attr_q",
614
+ push: [
615
+ { token: "string.attribute-value.xml", regex: "'", next: "pop" },
616
+ { include: "reference" },
617
+ { defaultToken: "string.attribute-value.xml" }
618
+ ]
619
+ }, {
620
+ token: "string.attribute-value.xml",
621
+ regex: '"',
622
+ stateName: "jsx_attr_qq",
623
+ push: [
624
+ { token: "string.attribute-value.xml", regex: '"', next: "pop" },
625
+ { include: "reference" },
626
+ { defaultToken: "string.attribute-value.xml" }
627
+ ]
628
+ },
629
+ jsxTag
494
630
  ];
495
631
  this.$rules.reference = [{
496
- token : "constant.language.escape.reference.xml",
497
- regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
498
- }];
632
+ token: "constant.language.escape.reference.xml",
633
+ regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
634
+ }];
499
635
  }
500
-
501
636
  function comments(next) {
502
637
  return [
503
638
  {
504
- token : "comment", // multi line comment
505
- regex : /\/\*/,
639
+ token: "comment",
640
+ regex: /\/\*/,
506
641
  next: [
507
642
  DocCommentHighlightRules.getTagRule(),
508
- {token : "comment", regex : "\\*\\/", next : next || "pop"},
509
- {defaultToken : "comment", caseInsensitive: true}
643
+ { token: "comment", regex: "\\*\\/", next: next || "pop" },
644
+ { defaultToken: "comment", caseInsensitive: true }
510
645
  ]
511
646
  }, {
512
- token : "comment",
513
- regex : "\\/\\/",
647
+ token: "comment",
648
+ regex: "\\/\\/",
514
649
  next: [
515
650
  DocCommentHighlightRules.getTagRule(),
516
- {token : "comment", regex : "$|^", next : next || "pop"},
517
- {defaultToken : "comment", caseInsensitive: true}
651
+ { token: "comment", regex: "$|^", next: next || "pop" },
652
+ { defaultToken: "comment", caseInsensitive: true }
518
653
  ]
519
654
  }
520
655
  ];
521
656
  }
522
657
  exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
523
- });
524
658
 
525
- ace.define("ace/mode/css_highlight_rules",[], function(require, exports, module) {
526
- "use strict";
659
+ });
527
660
 
661
+ 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";
528
662
  var oop = require("../lib/oop");
529
663
  var lang = require("../lib/lang");
530
664
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
531
665
  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";
532
666
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
533
- 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";
667
+ 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";
534
668
  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";
535
669
  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";
536
-
537
670
  var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
538
671
  var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
539
- 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";
540
-
541
- var CssHighlightRules = function() {
542
-
672
+ 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";
673
+ var CssHighlightRules = function () {
543
674
  var keywordMapper = this.createKeywordMapper({
544
675
  "support.function": supportFunction,
545
676
  "support.constant": supportConstant,
@@ -547,481 +678,435 @@ var CssHighlightRules = function() {
547
678
  "support.constant.color": supportConstantColor,
548
679
  "support.constant.fonts": supportConstantFonts
549
680
  }, "text", true);
550
-
551
681
  this.$rules = {
552
- "start" : [{
553
- include : ["strings", "url", "comments"]
554
- }, {
555
- token: "paren.lparen",
556
- regex: "\\{",
557
- next: "ruleset"
558
- }, {
559
- token: "paren.rparen",
560
- regex: "\\}"
561
- }, {
562
- token: "string",
563
- regex: "@(?!viewport)",
564
- next: "media"
565
- }, {
566
- token: "keyword",
567
- regex: "#[a-z0-9-_]+"
568
- }, {
569
- token: "keyword",
570
- regex: "%"
571
- }, {
572
- token: "variable",
573
- regex: "\\.[a-z0-9-_]+"
574
- }, {
575
- token: "string",
576
- regex: ":[a-z0-9-_]+"
577
- }, {
578
- token : "constant.numeric",
579
- regex : numRe
580
- }, {
581
- token: "constant",
582
- regex: "[a-z0-9-_]+"
583
- }, {
584
- caseInsensitive: true
585
- }],
586
-
682
+ "start": [{
683
+ include: ["strings", "url", "comments"]
684
+ }, {
685
+ token: "paren.lparen",
686
+ regex: "\\{",
687
+ next: "ruleset"
688
+ }, {
689
+ token: "paren.rparen",
690
+ regex: "\\}"
691
+ }, {
692
+ token: "string",
693
+ regex: "@(?!viewport)",
694
+ next: "media"
695
+ }, {
696
+ token: "keyword",
697
+ regex: "#[a-z0-9-_]+"
698
+ }, {
699
+ token: "keyword",
700
+ regex: "%"
701
+ }, {
702
+ token: "variable",
703
+ regex: "\\.[a-z0-9-_]+"
704
+ }, {
705
+ token: "string",
706
+ regex: ":[a-z0-9-_]+"
707
+ }, {
708
+ token: "constant.numeric",
709
+ regex: numRe
710
+ }, {
711
+ token: "constant",
712
+ regex: "[a-z0-9-_]+"
713
+ }, {
714
+ caseInsensitive: true
715
+ }],
587
716
  "media": [{
588
- include : ["strings", "url", "comments"]
589
- }, {
590
- token: "paren.lparen",
591
- regex: "\\{",
592
- next: "start"
593
- }, {
594
- token: "paren.rparen",
595
- regex: "\\}",
596
- next: "start"
597
- }, {
598
- token: "string",
599
- regex: ";",
600
- next: "start"
601
- }, {
602
- token: "keyword",
603
- regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
604
- + "|page|font|keyframes|viewport|counter-style|font-feature-values"
605
- + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
606
- }],
607
-
608
- "comments" : [{
609
- token: "comment", // multi line comment
610
- regex: "\\/\\*",
611
- push: [{
612
- token : "comment",
613
- regex : "\\*\\/",
614
- next : "pop"
717
+ include: ["strings", "url", "comments"]
718
+ }, {
719
+ token: "paren.lparen",
720
+ regex: "\\{",
721
+ next: "start"
722
+ }, {
723
+ token: "paren.rparen",
724
+ regex: "\\}",
725
+ next: "start"
726
+ }, {
727
+ token: "string",
728
+ regex: ";",
729
+ next: "start"
730
+ }, {
731
+ token: "keyword",
732
+ regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
733
+ + "|page|font|keyframes|viewport|counter-style|font-feature-values"
734
+ + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
735
+ }],
736
+ "comments": [{
737
+ token: "comment",
738
+ regex: "\\/\\*",
739
+ push: [{
740
+ token: "comment",
741
+ regex: "\\*\\/",
742
+ next: "pop"
743
+ }, {
744
+ defaultToken: "comment"
745
+ }]
746
+ }],
747
+ "ruleset": [{
748
+ regex: "-(webkit|ms|moz|o)-",
749
+ token: "text"
615
750
  }, {
616
- defaultToken : "comment"
617
- }]
618
- }],
619
-
620
- "ruleset" : [{
621
- regex : "-(webkit|ms|moz|o)-",
622
- token : "text"
623
- }, {
624
- token : "punctuation.operator",
625
- regex : "[:;]"
626
- }, {
627
- token : "paren.rparen",
628
- regex : "\\}",
629
- next : "start"
630
- }, {
631
- include : ["strings", "url", "comments"]
632
- }, {
633
- token : ["constant.numeric", "keyword"],
634
- 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|%)"
635
- }, {
636
- token : "constant.numeric",
637
- regex : numRe
638
- }, {
639
- token : "constant.numeric", // hex6 color
640
- regex : "#[a-f0-9]{6}"
641
- }, {
642
- token : "constant.numeric", // hex3 color
643
- regex : "#[a-f0-9]{3}"
644
- }, {
645
- token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
646
- regex : pseudoElements
647
- }, {
648
- token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
649
- regex : pseudoClasses
650
- }, {
651
- include: "url"
652
- }, {
653
- token : keywordMapper,
654
- regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
655
- }, {
656
- caseInsensitive: true
657
- }],
658
-
659
- url: [{
660
- token : "support.function",
661
- regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
662
- push: [{
663
- token : "support.function",
664
- regex : "\\)",
665
- next : "pop"
751
+ token: "punctuation.operator",
752
+ regex: "[:;]"
666
753
  }, {
667
- defaultToken: "string"
668
- }]
669
- }],
670
-
671
- strings: [{
672
- token : "string.start",
673
- regex : "'",
674
- push : [{
675
- token : "string.end",
676
- regex : "'|$",
677
- next: "pop"
754
+ token: "paren.rparen",
755
+ regex: "\\}",
756
+ next: "start"
678
757
  }, {
679
- include : "escapes"
758
+ include: ["strings", "url", "comments"]
680
759
  }, {
681
- token : "constant.language.escape",
682
- regex : /\\$/,
683
- consumeLineEnd: true
760
+ token: ["constant.numeric", "keyword"],
761
+ 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|%)"
684
762
  }, {
685
- defaultToken: "string"
686
- }]
687
- }, {
688
- token : "string.start",
689
- regex : '"',
690
- push : [{
691
- token : "string.end",
692
- regex : '"|$',
693
- next: "pop"
763
+ token: "constant.numeric",
764
+ regex: numRe
694
765
  }, {
695
- include : "escapes"
766
+ token: "constant.numeric",
767
+ regex: "#[a-f0-9]{6}"
696
768
  }, {
697
- token : "constant.language.escape",
698
- regex : /\\$/,
699
- consumeLineEnd: true
769
+ token: "constant.numeric",
770
+ regex: "#[a-f0-9]{3}"
700
771
  }, {
701
- defaultToken: "string"
702
- }]
703
- }],
772
+ token: ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
773
+ regex: pseudoElements
774
+ }, {
775
+ token: ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
776
+ regex: pseudoClasses
777
+ }, {
778
+ include: "url"
779
+ }, {
780
+ token: keywordMapper,
781
+ regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
782
+ }, {
783
+ caseInsensitive: true
784
+ }],
785
+ url: [{
786
+ token: "support.function",
787
+ regex: "(?:url(:?-prefix)?|domain|regexp)\\(",
788
+ push: [{
789
+ token: "support.function",
790
+ regex: "\\)",
791
+ next: "pop"
792
+ }, {
793
+ defaultToken: "string"
794
+ }]
795
+ }],
796
+ strings: [{
797
+ token: "string.start",
798
+ regex: "'",
799
+ push: [{
800
+ token: "string.end",
801
+ regex: "'|$",
802
+ next: "pop"
803
+ }, {
804
+ include: "escapes"
805
+ }, {
806
+ token: "constant.language.escape",
807
+ regex: /\\$/,
808
+ consumeLineEnd: true
809
+ }, {
810
+ defaultToken: "string"
811
+ }]
812
+ }, {
813
+ token: "string.start",
814
+ regex: '"',
815
+ push: [{
816
+ token: "string.end",
817
+ regex: '"|$',
818
+ next: "pop"
819
+ }, {
820
+ include: "escapes"
821
+ }, {
822
+ token: "constant.language.escape",
823
+ regex: /\\$/,
824
+ consumeLineEnd: true
825
+ }, {
826
+ defaultToken: "string"
827
+ }]
828
+ }],
704
829
  escapes: [{
705
- token : "constant.language.escape",
706
- regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
707
- }]
708
-
830
+ token: "constant.language.escape",
831
+ regex: /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
832
+ }]
709
833
  };
710
-
711
834
  this.normalizeRules();
712
835
  };
713
-
714
836
  oop.inherits(CssHighlightRules, TextHighlightRules);
715
-
716
837
  exports.CssHighlightRules = CssHighlightRules;
717
838
 
718
839
  });
719
840
 
720
- ace.define("ace/mode/xml_highlight_rules",[], function(require, exports, module) {
721
- "use strict";
722
-
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,241 +1114,196 @@ 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/mask_highlight_rules",[], function(require, exports, module) {
1193
- "use strict";
1262
+ });
1194
1263
 
1264
+ ace.define("ace/mode/mask_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/css_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/html_highlight_rules"], function(require, exports, module){"use strict";
1195
1265
  exports.MaskHighlightRules = MaskHighlightRules;
1196
-
1197
1266
  var oop = require("../lib/oop");
1198
1267
  var lang = require("../lib/lang");
1199
- var TextRules = require("./text_highlight_rules").TextHighlightRules;
1200
- var JSRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
1201
- var CssRules = require("./css_highlight_rules").CssHighlightRules;
1202
- var MDRules = require("./markdown_highlight_rules").MarkdownHighlightRules;
1203
- var HTMLRules = require("./html_highlight_rules").HtmlHighlightRules;
1204
-
1205
- var token_TAG = "keyword.support.constant.language",
1206
- token_COMPO = "support.function.markup.bold",
1207
- token_KEYWORD = "keyword",
1208
- token_LANG = "constant.language",
1209
- token_UTIL = "keyword.control.markup.italic",
1210
- token_ATTR = "support.variable.class",
1211
- token_PUNKT = "keyword.operator",
1212
- token_ITALIC = "markup.italic",
1213
- token_BOLD = "markup.bold",
1214
- token_LPARE = "paren.lparen",
1215
- token_RPARE = "paren.rparen";
1216
-
1217
- var const_FUNCTIONS,
1218
- const_KEYWORDS,
1219
- const_CONST,
1220
- const_TAGS;
1221
- (function(){
1222
- const_FUNCTIONS = lang.arrayToMap(
1223
- ("log").split("|")
1224
- );
1225
- const_CONST = lang.arrayToMap(
1226
- (":dualbind|:bind|:import|slot|event|style|html|markdown|md").split("|")
1227
- );
1228
- const_KEYWORDS = lang.arrayToMap(
1229
- ("debugger|define|var|if|each|for|of|else|switch|case|with|visible|+if|+each|+for|+switch|+with|+visible|include|import").split("|")
1230
- );
1231
- const_TAGS = lang.arrayToMap(
1232
- ("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|" +
1233
- "big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|" +
1234
- "command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|" +
1235
- "figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|" +
1236
- "header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|" +
1237
- "link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|" +
1238
- "option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|" +
1239
- "small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|" +
1240
- "textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp").split("|")
1241
- );
1268
+ var TextRules = require("./text_highlight_rules").TextHighlightRules;
1269
+ var JSRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
1270
+ var CssRules = require("./css_highlight_rules").CssHighlightRules;
1271
+ var MDRules = require("./markdown_highlight_rules").MarkdownHighlightRules;
1272
+ var HTMLRules = require("./html_highlight_rules").HtmlHighlightRules;
1273
+ var token_TAG = "keyword.support.constant.language", token_COMPO = "support.function.markup.bold", token_KEYWORD = "keyword", token_LANG = "constant.language", token_UTIL = "keyword.control.markup.italic", token_ATTR = "support.variable.class", token_PUNKT = "keyword.operator", token_ITALIC = "markup.italic", token_BOLD = "markup.bold", token_LPARE = "paren.lparen", token_RPARE = "paren.rparen";
1274
+ var const_FUNCTIONS, const_KEYWORDS, const_CONST, const_TAGS;
1275
+ (function () {
1276
+ const_FUNCTIONS = lang.arrayToMap(("log").split("|"));
1277
+ const_CONST = lang.arrayToMap((":dualbind|:bind|:import|slot|event|style|html|markdown|md").split("|"));
1278
+ const_KEYWORDS = lang.arrayToMap(("debugger|define|var|if|each|for|of|else|switch|case|with|visible|+if|+each|+for|+switch|+with|+visible|include|import").split("|"));
1279
+ const_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("|"));
1242
1288
  }());
1243
-
1244
- function MaskHighlightRules () {
1245
-
1289
+ function MaskHighlightRules() {
1246
1290
  this.$rules = {
1247
- "start" : [
1291
+ "start": [
1248
1292
  Token("comment", "\\/\\/.*$"),
1249
1293
  Token("comment", "\\/\\*", [
1250
1294
  Token("comment", ".*?\\*\\/", "start"),
1251
1295
  Token("comment", ".+")
1252
1296
  ]),
1253
-
1254
1297
  Blocks.string("'''"),
1255
1298
  Blocks.string('"""'),
1256
1299
  Blocks.string('"'),
1257
1300
  Blocks.string("'"),
1258
-
1259
1301
  Blocks.syntax(/(markdown|md)\b/, "md-multiline", "multiline"),
1260
1302
  Blocks.syntax(/html\b/, "html-multiline", "multiline"),
1261
1303
  Blocks.syntax(/(slot|event)\b/, "js-block", "block"),
1262
1304
  Blocks.syntax(/style\b/, "css-block", "block"),
1263
1305
  Blocks.syntax(/var\b/, "js-statement", "attr"),
1264
-
1265
1306
  Blocks.tag(),
1266
-
1267
1307
  Token(token_LPARE, "[[({>]"),
1268
1308
  Token(token_RPARE, "[\\])};]", "start"),
1269
1309
  {
@@ -1272,24 +1312,15 @@ function MaskHighlightRules () {
1272
1312
  ]
1273
1313
  };
1274
1314
  var rules = this;
1275
-
1276
1315
  addJavaScript("interpolation", /\]/, token_RPARE + "." + token_ITALIC);
1277
1316
  addJavaScript("statement", /\)|}|;/);
1278
1317
  addJavaScript("block", /\}/);
1279
1318
  addCss();
1280
1319
  addMarkdown();
1281
1320
  addHtml();
1282
-
1283
1321
  function addJavaScript(name, escape, closeType) {
1284
- var prfx = "js-" + name + "-",
1285
- rootTokens = name === "block" ? ["start"] : ["start", "no_regex"];
1286
- add(
1287
- JSRules
1288
- , prfx
1289
- , escape
1290
- , rootTokens
1291
- , closeType
1292
- );
1322
+ var prfx = "js-" + name + "-", rootTokens = name === "block" ? ["start"] : ["start", "no_regex"];
1323
+ add(JSRules, prfx, escape, rootTokens, closeType);
1293
1324
  }
1294
1325
  function addCss() {
1295
1326
  add(CssRules, "css-block-", /\}/);
@@ -1302,7 +1333,7 @@ function MaskHighlightRules () {
1302
1333
  }
1303
1334
  function add(Rules, strPrfx, rgxEnd, rootTokens, closeType) {
1304
1335
  var next = "pop";
1305
- var tokens = rootTokens || [ "start" ];
1336
+ var tokens = rootTokens || ["start"];
1306
1337
  if (tokens.length === 0) {
1307
1338
  tokens = null;
1308
1339
  }
@@ -1312,47 +1343,34 @@ function MaskHighlightRules () {
1312
1343
  Token("empty", "", "start")
1313
1344
  ];
1314
1345
  }
1315
- rules.embedRules(
1316
- Rules
1317
- , strPrfx
1318
- , [ Token(closeType || token_RPARE, rgxEnd, next) ]
1319
- , tokens
1320
- , tokens == null ? true : false
1321
- );
1346
+ rules.embedRules(Rules, strPrfx, [Token(closeType || token_RPARE, rgxEnd, next)], tokens, tokens == null ? true : false);
1322
1347
  }
1323
-
1324
1348
  this.normalizeRules();
1325
1349
  }
1326
1350
  oop.inherits(MaskHighlightRules, TextRules);
1327
-
1328
1351
  var Blocks = {
1329
- string: function(str, next){
1330
- var token = Token(
1331
- "string.start"
1332
- , str
1333
- , [
1334
- Token(token_LPARE + "." + token_ITALIC, /~\[/, Blocks.interpolation()),
1335
- Token("string.end", str, "pop"),
1336
- {
1337
- defaultToken: "string"
1338
- }
1339
- ]
1340
- , next
1341
- );
1342
- if (str.length === 1){
1352
+ string: function (str, next) {
1353
+ var token = Token("string.start", str, [
1354
+ Token(token_LPARE + "." + token_ITALIC, /~\[/, Blocks.interpolation()),
1355
+ Token("string.end", str, "pop"),
1356
+ {
1357
+ defaultToken: "string"
1358
+ }
1359
+ ], next);
1360
+ if (str.length === 1) {
1343
1361
  var escaped = Token("string.escape", "\\\\" + str);
1344
1362
  token.push.unshift(escaped);
1345
1363
  }
1346
1364
  return token;
1347
1365
  },
1348
- interpolation: function(){
1366
+ interpolation: function () {
1349
1367
  return [
1350
1368
  Token(token_UTIL, /\s*\w*\s*:/),
1351
1369
  "js-interpolation-start"
1352
1370
  ];
1353
1371
  },
1354
1372
  tagHead: function (rgx) {
1355
- return Token(token_ATTR, rgx, [
1373
+ return Token(token_ATTR, rgx, [
1356
1374
  Token(token_ATTR, /[\w\-_]+/),
1357
1375
  Token(token_LPARE + "." + token_ITALIC, /~\[/, Blocks.interpolation()),
1358
1376
  Blocks.goUp()
@@ -1361,7 +1379,7 @@ var Blocks = {
1361
1379
  tag: function () {
1362
1380
  return {
1363
1381
  token: 'tag',
1364
- onMatch : function(value) {
1382
+ onMatch: function (value) {
1365
1383
  if (void 0 !== const_KEYWORDS[value])
1366
1384
  return token_KEYWORD;
1367
1385
  if (void 0 !== const_CONST[value])
@@ -1370,51 +1388,49 @@ var Blocks = {
1370
1388
  return "support.function";
1371
1389
  if (void 0 !== const_TAGS[value.toLowerCase()])
1372
1390
  return token_TAG;
1373
-
1374
1391
  return token_COMPO;
1375
1392
  },
1376
- regex : /([@\w\-_:+]+)|((^|\s)(?=\s*(\.|#)))/,
1393
+ regex: /([@\w\-_:+]+)|((^|\s)(?=\s*(\.|#)))/,
1377
1394
  push: [
1378
- Blocks.tagHead(/\./) ,
1379
- Blocks.tagHead(/#/) ,
1395
+ Blocks.tagHead(/\./),
1396
+ Blocks.tagHead(/#/),
1380
1397
  Blocks.expression(),
1381
1398
  Blocks.attribute(),
1382
-
1383
1399
  Token(token_LPARE, /[;>{]/, "pop")
1384
1400
  ]
1385
1401
  };
1386
1402
  },
1387
- syntax: function(rgx, next, type){
1403
+ syntax: function (rgx, next, type) {
1388
1404
  return {
1389
1405
  token: token_LANG,
1390
- regex : rgx,
1406
+ regex: rgx,
1391
1407
  push: ({
1392
1408
  "attr": [
1393
1409
  next + "-start",
1394
1410
  Token(token_PUNKT, /;/, "start")
1395
1411
  ],
1396
1412
  "multiline": [
1397
- Blocks.tagHead(/\./) ,
1398
- Blocks.tagHead(/#/) ,
1413
+ Blocks.tagHead(/\./),
1414
+ Blocks.tagHead(/#/),
1399
1415
  Blocks.attribute(),
1400
1416
  Blocks.expression(),
1401
1417
  Token(token_LPARE, /[>\{]/),
1402
1418
  Token(token_PUNKT, /;/, "start"),
1403
- Token(token_LPARE, /'''|"""/, [ next + "-start" ])
1419
+ Token(token_LPARE, /'''|"""/, [next + "-start"])
1404
1420
  ],
1405
1421
  "block": [
1406
- Blocks.tagHead(/\./) ,
1407
- Blocks.tagHead(/#/) ,
1422
+ Blocks.tagHead(/\./),
1423
+ Blocks.tagHead(/#/),
1408
1424
  Blocks.attribute(),
1409
1425
  Blocks.expression(),
1410
- Token(token_LPARE, /\{/, [ next + "-start" ])
1426
+ Token(token_LPARE, /\{/, [next + "-start"])
1411
1427
  ]
1412
1428
  })[type]
1413
1429
  };
1414
1430
  },
1415
- attribute: function(){
1416
- return Token(function(value){
1417
- return /^x\-/.test(value)
1431
+ attribute: function () {
1432
+ return Token(function (value) {
1433
+ return /^x\-/.test(value)
1418
1434
  ? token_ATTR + "." + token_BOLD
1419
1435
  : token_ATTR;
1420
1436
  }, /[\w_-]+/, [
@@ -1427,21 +1443,19 @@ var Blocks = {
1427
1443
  Blocks.goUp()
1428
1444
  ]);
1429
1445
  },
1430
- expression: function(){
1431
- return Token(token_LPARE, /\(/, [ "js-statement-start" ]);
1446
+ expression: function () {
1447
+ return Token(token_LPARE, /\(/, ["js-statement-start"]);
1432
1448
  },
1433
- word: function(){
1449
+ word: function () {
1434
1450
  return Token("string", /[\w-_]+/);
1435
1451
  },
1436
- goUp: function(){
1452
+ goUp: function () {
1437
1453
  return Token("text", "", "pop");
1438
1454
  },
1439
- goStart: function(){
1455
+ goStart: function () {
1440
1456
  return Token("text", "", "start");
1441
1457
  }
1442
1458
  };
1443
-
1444
-
1445
1459
  function Token(token, rgx, mix) {
1446
1460
  var push, next, onMatch;
1447
1461
  if (arguments.length === 4) {
@@ -1456,7 +1470,7 @@ function Token(token, rgx, mix) {
1456
1470
  }
1457
1471
  if (typeof token === "function") {
1458
1472
  onMatch = token;
1459
- token = "empty";
1473
+ token = "empty";
1460
1474
  }
1461
1475
  return {
1462
1476
  token: token,
@@ -1469,58 +1483,42 @@ function Token(token, rgx, mix) {
1469
1483
 
1470
1484
  });
1471
1485
 
1472
- ace.define("ace/mode/matching_brace_outdent",[], function(require, exports, module) {
1473
- "use strict";
1474
-
1486
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module){"use strict";
1475
1487
  var Range = require("../range").Range;
1476
-
1477
- var MatchingBraceOutdent = function() {};
1478
-
1479
- (function() {
1480
-
1481
- this.checkOutdent = function(line, input) {
1482
- if (! /^\s+$/.test(line))
1488
+ var MatchingBraceOutdent = function () { };
1489
+ (function () {
1490
+ this.checkOutdent = function (line, input) {
1491
+ if (!/^\s+$/.test(line))
1483
1492
  return false;
1484
-
1485
1493
  return /^\s*\}/.test(input);
1486
1494
  };
1487
-
1488
- this.autoOutdent = function(doc, row) {
1495
+ this.autoOutdent = function (doc, row) {
1489
1496
  var line = doc.getLine(row);
1490
1497
  var match = line.match(/^(\s*\})/);
1491
-
1492
- if (!match) return 0;
1493
-
1498
+ if (!match)
1499
+ return 0;
1494
1500
  var column = match[1].length;
1495
- var openBracePos = doc.findMatchingBracket({row: row, column: column});
1496
-
1497
- if (!openBracePos || openBracePos.row == row) return 0;
1498
-
1501
+ var openBracePos = doc.findMatchingBracket({ row: row, column: column });
1502
+ if (!openBracePos || openBracePos.row == row)
1503
+ return 0;
1499
1504
  var indent = this.$getIndent(doc.getLine(openBracePos.row));
1500
- doc.replace(new Range(row, 0, row, column-1), indent);
1505
+ doc.replace(new Range(row, 0, row, column - 1), indent);
1501
1506
  };
1502
-
1503
- this.$getIndent = function(line) {
1507
+ this.$getIndent = function (line) {
1504
1508
  return line.match(/^\s*/)[0];
1505
1509
  };
1506
-
1507
1510
  }).call(MatchingBraceOutdent.prototype);
1508
-
1509
1511
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
1510
- });
1511
1512
 
1512
- ace.define("ace/mode/behaviour/css",[], function(require, exports, module) {
1513
- "use strict";
1513
+ });
1514
1514
 
1515
+ ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"], function(require, exports, module){"use strict";
1515
1516
  var oop = require("../../lib/oop");
1516
1517
  var Behaviour = require("../behaviour").Behaviour;
1517
1518
  var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
1518
1519
  var TokenIterator = require("../../token_iterator").TokenIterator;
1519
-
1520
1520
  var CssBehaviour = function () {
1521
-
1522
1521
  this.inherit(CstyleBehaviour);
1523
-
1524
1522
  this.add("colon", "insertion", function (state, action, editor, session, text) {
1525
1523
  if (text === ':' && editor.selection.isEmpty()) {
1526
1524
  var cursor = editor.getCursorPosition();
@@ -1534,20 +1532,19 @@ var CssBehaviour = function () {
1534
1532
  var rightChar = line.substring(cursor.column, cursor.column + 1);
1535
1533
  if (rightChar === ':') {
1536
1534
  return {
1537
- text: '',
1538
- selection: [1, 1]
1535
+ text: '',
1536
+ selection: [1, 1]
1539
1537
  };
1540
1538
  }
1541
1539
  if (/^(\s+[^;]|\s*$)/.test(line.substring(cursor.column))) {
1542
1540
  return {
1543
- text: ':;',
1544
- selection: [1, 1]
1541
+ text: ':;',
1542
+ selection: [1, 1]
1545
1543
  };
1546
1544
  }
1547
1545
  }
1548
1546
  }
1549
1547
  });
1550
-
1551
1548
  this.add("colon", "deletion", function (state, action, editor, session, range) {
1552
1549
  var selected = session.doc.getTextRange(range);
1553
1550
  if (!range.isMultiLine() && selected === ':') {
@@ -1561,13 +1558,12 @@ var CssBehaviour = function () {
1561
1558
  var line = session.doc.getLine(range.start.row);
1562
1559
  var rightChar = line.substring(range.end.column, range.end.column + 1);
1563
1560
  if (rightChar === ';') {
1564
- range.end.column ++;
1561
+ range.end.column++;
1565
1562
  return range;
1566
1563
  }
1567
1564
  }
1568
1565
  }
1569
1566
  });
1570
-
1571
1567
  this.add("semicolon", "insertion", function (state, action, editor, session, text) {
1572
1568
  if (text === ';' && editor.selection.isEmpty()) {
1573
1569
  var cursor = editor.getCursorPosition();
@@ -1575,18 +1571,16 @@ var CssBehaviour = function () {
1575
1571
  var rightChar = line.substring(cursor.column, cursor.column + 1);
1576
1572
  if (rightChar === ';') {
1577
1573
  return {
1578
- text: '',
1579
- selection: [1, 1]
1574
+ text: '',
1575
+ selection: [1, 1]
1580
1576
  };
1581
1577
  }
1582
1578
  }
1583
1579
  });
1584
-
1585
1580
  this.add("!important", "insertion", function (state, action, editor, session, text) {
1586
1581
  if (text === '!' && editor.selection.isEmpty()) {
1587
1582
  var cursor = editor.getCursorPosition();
1588
1583
  var line = session.doc.getLine(cursor.row);
1589
-
1590
1584
  if (/^\s*(;|}|$)/.test(line.substring(cursor.column))) {
1591
1585
  return {
1592
1586
  text: '!important',
@@ -1595,96 +1589,71 @@ var CssBehaviour = function () {
1595
1589
  }
1596
1590
  }
1597
1591
  });
1598
-
1599
1592
  };
1600
1593
  oop.inherits(CssBehaviour, CstyleBehaviour);
1601
-
1602
1594
  exports.CssBehaviour = CssBehaviour;
1603
- });
1604
1595
 
1605
- ace.define("ace/mode/folding/cstyle",[], function(require, exports, module) {
1606
- "use strict";
1596
+ });
1607
1597
 
1598
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
1608
1599
  var oop = require("../../lib/oop");
1609
1600
  var Range = require("../../range").Range;
1610
1601
  var BaseFoldMode = require("./fold_mode").FoldMode;
1611
-
1612
- var FoldMode = exports.FoldMode = function(commentRegex) {
1602
+ var FoldMode = exports.FoldMode = function (commentRegex) {
1613
1603
  if (commentRegex) {
1614
- this.foldingStartMarker = new RegExp(
1615
- this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
1616
- );
1617
- this.foldingStopMarker = new RegExp(
1618
- this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
1619
- );
1604
+ this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start));
1605
+ this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end));
1620
1606
  }
1621
1607
  };
1622
1608
  oop.inherits(FoldMode, BaseFoldMode);
1623
-
1624
- (function() {
1625
-
1609
+ (function () {
1626
1610
  this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
1627
1611
  this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
1628
- this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
1612
+ this.singleLineBlockCommentRe = /^\s*(\/\*).*\*\/\s*$/;
1629
1613
  this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
1630
1614
  this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
1631
1615
  this._getFoldWidgetBase = this.getFoldWidget;
1632
- this.getFoldWidget = function(session, foldStyle, row) {
1616
+ this.getFoldWidget = function (session, foldStyle, row) {
1633
1617
  var line = session.getLine(row);
1634
-
1635
1618
  if (this.singleLineBlockCommentRe.test(line)) {
1636
1619
  if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
1637
1620
  return "";
1638
1621
  }
1639
-
1640
1622
  var fw = this._getFoldWidgetBase(session, foldStyle, row);
1641
-
1642
1623
  if (!fw && this.startRegionRe.test(line))
1643
1624
  return "start"; // lineCommentRegionStart
1644
-
1645
1625
  return fw;
1646
1626
  };
1647
-
1648
- this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
1627
+ this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {
1649
1628
  var line = session.getLine(row);
1650
-
1651
1629
  if (this.startRegionRe.test(line))
1652
1630
  return this.getCommentRegionBlock(session, line, row);
1653
-
1654
1631
  var match = line.match(this.foldingStartMarker);
1655
1632
  if (match) {
1656
1633
  var i = match.index;
1657
-
1658
1634
  if (match[1])
1659
1635
  return this.openingBracketBlock(session, match[1], row, i);
1660
-
1661
1636
  var range = session.getCommentFoldRange(row, i + match[0].length, 1);
1662
-
1663
1637
  if (range && !range.isMultiLine()) {
1664
1638
  if (forceMultiline) {
1665
1639
  range = this.getSectionRange(session, row);
1666
- } else if (foldStyle != "all")
1640
+ }
1641
+ else if (foldStyle != "all")
1667
1642
  range = null;
1668
1643
  }
1669
-
1670
1644
  return range;
1671
1645
  }
1672
-
1673
1646
  if (foldStyle === "markbegin")
1674
1647
  return;
1675
-
1676
1648
  var match = line.match(this.foldingStopMarker);
1677
1649
  if (match) {
1678
1650
  var i = match.index + match[0].length;
1679
-
1680
1651
  if (match[1])
1681
1652
  return this.closingBracketBlock(session, match[1], row, i);
1682
-
1683
1653
  return session.getCommentFoldRange(row, i, -1);
1684
1654
  }
1685
1655
  };
1686
-
1687
- this.getSectionRange = function(session, row) {
1656
+ this.getSectionRange = function (session, row) {
1688
1657
  var line = session.getLine(row);
1689
1658
  var startIndent = line.search(/\S/);
1690
1659
  var startRow = row;
@@ -1697,100 +1666,88 @@ oop.inherits(FoldMode, BaseFoldMode);
1697
1666
  var indent = line.search(/\S/);
1698
1667
  if (indent === -1)
1699
1668
  continue;
1700
- if (startIndent > indent)
1669
+ if (startIndent > indent)
1701
1670
  break;
1702
1671
  var subRange = this.getFoldWidgetRange(session, "all", row);
1703
-
1704
1672
  if (subRange) {
1705
1673
  if (subRange.start.row <= startRow) {
1706
1674
  break;
1707
- } else if (subRange.isMultiLine()) {
1675
+ }
1676
+ else if (subRange.isMultiLine()) {
1708
1677
  row = subRange.end.row;
1709
- } else if (startIndent == indent) {
1678
+ }
1679
+ else if (startIndent == indent) {
1710
1680
  break;
1711
1681
  }
1712
1682
  }
1713
1683
  endRow = row;
1714
1684
  }
1715
-
1716
1685
  return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
1717
1686
  };
1718
- this.getCommentRegionBlock = function(session, line, row) {
1687
+ this.getCommentRegionBlock = function (session, line, row) {
1719
1688
  var startColumn = line.search(/\s*$/);
1720
1689
  var maxRow = session.getLength();
1721
1690
  var startRow = row;
1722
-
1723
1691
  var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
1724
1692
  var depth = 1;
1725
1693
  while (++row < maxRow) {
1726
1694
  line = session.getLine(row);
1727
1695
  var m = re.exec(line);
1728
- if (!m) continue;
1729
- if (m[1]) depth--;
1730
- else depth++;
1731
-
1732
- if (!depth) break;
1696
+ if (!m)
1697
+ continue;
1698
+ if (m[1])
1699
+ depth--;
1700
+ else
1701
+ depth++;
1702
+ if (!depth)
1703
+ break;
1733
1704
  }
1734
-
1735
1705
  var endRow = row;
1736
1706
  if (endRow > startRow) {
1737
1707
  return new Range(startRow, startColumn, endRow, line.length);
1738
1708
  }
1739
1709
  };
1740
-
1741
1710
  }).call(FoldMode.prototype);
1742
1711
 
1743
1712
  });
1744
1713
 
1745
- ace.define("ace/mode/mask",[], function(require, exports, module) {
1746
- "use strict";
1747
-
1714
+ ace.define("ace/mode/mask",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mask_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"], function(require, exports, module){"use strict";
1748
1715
  var oop = require("../lib/oop");
1749
1716
  var TextMode = require("./text").Mode;
1750
1717
  var MaskHighlightRules = require("./mask_highlight_rules").MaskHighlightRules;
1751
1718
  var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
1752
1719
  var CssBehaviour = require("./behaviour/css").CssBehaviour;
1753
1720
  var CStyleFoldMode = require("./folding/cstyle").FoldMode;
1754
-
1755
- var Mode = function() {
1721
+ var Mode = function () {
1756
1722
  this.HighlightRules = MaskHighlightRules;
1757
1723
  this.$outdent = new MatchingBraceOutdent();
1758
1724
  this.$behaviour = new CssBehaviour();
1759
1725
  this.foldingRules = new CStyleFoldMode();
1760
1726
  };
1761
1727
  oop.inherits(Mode, TextMode);
1762
-
1763
- (function() {
1764
-
1728
+ (function () {
1765
1729
  this.lineCommentStart = "//";
1766
- this.blockComment = {start: "/*", end: "*/"};
1767
-
1768
- this.getNextLineIndent = function(state, line, tab) {
1730
+ this.blockComment = { start: "/*", end: "*/" };
1731
+ this.getNextLineIndent = function (state, line, tab) {
1769
1732
  var indent = this.$getIndent(line);
1770
1733
  var tokens = this.getTokenizer().getLineTokens(line, state).tokens;
1771
- if (tokens.length && tokens[tokens.length-1].type == "comment") {
1734
+ if (tokens.length && tokens[tokens.length - 1].type == "comment") {
1772
1735
  return indent;
1773
1736
  }
1774
-
1775
1737
  var match = line.match(/^.*\{\s*$/);
1776
1738
  if (match) {
1777
1739
  indent += tab;
1778
1740
  }
1779
-
1780
1741
  return indent;
1781
1742
  };
1782
-
1783
- this.checkOutdent = function(state, line, input) {
1743
+ this.checkOutdent = function (state, line, input) {
1784
1744
  return this.$outdent.checkOutdent(line, input);
1785
1745
  };
1786
-
1787
- this.autoOutdent = function(state, doc, row) {
1746
+ this.autoOutdent = function (state, doc, row) {
1788
1747
  this.$outdent.autoOutdent(doc, row);
1789
1748
  };
1790
-
1791
1749
  this.$id = "ace/mode/mask";
1792
1750
  }).call(Mode.prototype);
1793
-
1794
1751
  exports.Mode = Mode;
1795
1752
 
1796
1753
  }); (function() {