@openui5/sap.ui.codeeditor 1.132.1 → 1.134.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 (452) hide show
  1. package/.reuse/dep5 +2 -9
  2. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  3. package/THIRDPARTY.txt +45 -78
  4. package/package.json +2 -2
  5. package/src/sap/ui/codeeditor/.library +2 -2
  6. package/src/sap/ui/codeeditor/CodeEditor.js +4 -4
  7. package/src/sap/ui/codeeditor/js/ace/ace.js +6564 -6162
  8. package/src/sap/ui/codeeditor/js/ace/css/ace.css +55 -23
  9. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-1.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-2.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/main-10.svg +4 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/main-11.svg +5 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/main-12.svg +4 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/main-24.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/main-25.svg +1 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/main-26.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +8 -6
  29. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +4 -6
  30. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +8 -3
  31. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +5 -3
  32. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor.css +221 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor_dark.css +224 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/theme/github_light_default.css +164 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +2 -2
  36. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +1 -6
  38. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +4 -2
  39. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +24 -6
  41. package/src/sap/ui/codeeditor/js/ace/ext-error_marker.js +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +198 -87
  43. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +8 -5
  44. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +180 -79
  45. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +7 -3
  47. package/src/sap/ui/codeeditor/js/ace/ext-options.js +12 -5
  48. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +202 -116
  49. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +14 -12
  51. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +12 -5
  52. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +0 -0
  53. package/src/sap/ui/codeeditor/js/ace/ext-split.js +2 -1
  54. package/src/sap/ui/codeeditor/js/ace/ext-static_highlight.js +0 -0
  55. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +0 -0
  56. package/src/sap/ui/codeeditor/js/ace/ext-textarea.js +476 -3
  57. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +6 -2
  58. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +0 -0
  59. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +13 -6
  60. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +748 -373
  61. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +0 -0
  64. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +3 -3
  65. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +0 -0
  66. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +6 -6
  67. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +3 -3
  68. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +3 -3
  69. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +0 -0
  70. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +14 -14
  71. package/src/sap/ui/codeeditor/js/ace/mode-assembly_arm32.js +185 -0
  72. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +0 -0
  73. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +377 -317
  74. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +0 -0
  75. package/src/sap/ui/codeeditor/js/ace/mode-basic.js +201 -0
  76. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +0 -0
  77. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +1 -1
  78. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +13 -13
  79. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +0 -0
  80. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +13 -13
  81. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +3 -3
  82. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +0 -0
  83. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +377 -317
  84. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +6 -6
  85. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +9 -9
  86. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +75 -78
  87. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +22 -22
  88. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +0 -0
  89. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +0 -0
  90. package/src/sap/ui/codeeditor/js/ace/mode-css.js +6 -3
  91. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +377 -317
  92. package/src/sap/ui/codeeditor/js/ace/mode-d.js +12 -12
  93. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +17 -17
  94. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +0 -0
  95. package/src/sap/ui/codeeditor/js/ace/mode-django.js +377 -317
  96. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +3 -3
  97. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +6 -6
  98. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +18 -18
  99. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +4 -4
  100. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +4 -4
  101. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +402 -342
  102. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +0 -0
  103. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +0 -0
  104. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +15 -15
  105. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +7 -7
  106. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +0 -0
  107. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +12 -12
  108. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +0 -0
  109. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +54 -57
  110. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +4 -4
  111. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +3 -3
  112. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +1 -1
  113. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +13 -13
  114. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +371 -65
  115. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +10 -10
  116. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +0 -0
  117. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +381 -75
  118. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +84 -87
  119. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +379 -319
  120. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +0 -0
  121. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +1 -1
  122. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +10 -10
  123. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +0 -0
  124. package/src/sap/ui/codeeditor/js/ace/mode-html.js +377 -317
  125. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +472 -412
  126. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +484 -424
  127. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +0 -0
  128. package/src/sap/ui/codeeditor/js/ace/mode-io.js +0 -0
  129. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +2 -2
  130. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +67 -70
  131. package/src/sap/ui/codeeditor/js/ace/mode-java.js +383 -77
  132. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +371 -65
  133. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +7 -7
  134. package/src/sap/ui/codeeditor/js/ace/mode-json.js +8 -8
  135. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +8 -8
  136. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +4 -5
  137. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +67 -70
  138. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +0 -0
  139. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +960 -89
  140. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +0 -0
  141. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +0 -0
  142. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +0 -0
  143. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +381 -321
  144. package/src/sap/ui/codeeditor/js/ace/mode-less.js +12 -9
  145. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +385 -325
  146. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +2 -2
  147. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +0 -0
  148. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +0 -0
  149. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +6 -9
  150. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +0 -0
  151. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +5 -5
  152. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +382 -322
  153. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +0 -0
  154. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +3 -3
  155. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +474 -414
  156. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +53 -56
  157. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +1 -1
  158. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +0 -0
  159. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +0 -0
  160. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +1 -1
  161. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +0 -0
  162. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +7 -7
  163. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +7 -7
  164. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +16 -16
  165. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +0 -0
  166. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +379 -319
  167. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +15 -15
  168. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +7 -7
  169. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +10 -10
  170. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +0 -0
  171. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +6 -6
  172. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +98 -104
  173. package/src/sap/ui/codeeditor/js/ace/mode-php.js +797 -616
  174. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +797 -616
  175. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +0 -0
  176. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +0 -0
  177. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +3 -3
  178. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +6 -6
  179. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +0 -0
  180. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +0 -0
  181. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +0 -0
  182. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +18 -18
  183. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +7 -4
  184. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +0 -0
  185. package/src/sap/ui/codeeditor/js/ace/mode-python.js +17 -17
  186. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +5 -5
  187. package/src/sap/ui/codeeditor/js/ace/mode-r.js +13 -13
  188. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +8 -8
  189. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +386 -326
  190. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +6 -6
  191. package/src/sap/ui/codeeditor/js/ace/mode-red.js +0 -0
  192. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +32 -32
  193. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +390 -330
  194. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +0 -0
  195. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +25 -25
  196. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +39 -32
  197. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +13 -13
  198. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +14 -11
  199. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +14 -14
  200. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +381 -75
  201. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +2 -2
  202. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +10 -10
  203. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +14 -11
  204. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +3 -3
  205. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +371 -65
  206. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +521 -461
  207. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +377 -317
  208. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +0 -0
  209. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +377 -317
  210. package/src/sap/ui/codeeditor/js/ace/mode-space.js +0 -0
  211. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +0 -0
  212. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +12 -6
  213. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +5 -5
  214. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +10 -7
  215. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +132 -75
  216. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +5 -4
  217. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +7 -7
  218. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +0 -0
  219. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +6 -6
  220. package/src/sap/ui/codeeditor/js/ace/mode-text.js +0 -0
  221. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +0 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +0 -0
  223. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +492 -182
  224. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +0 -0
  225. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +379 -319
  226. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +371 -65
  227. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +0 -0
  228. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +0 -0
  229. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +387 -327
  230. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +1 -1
  231. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +4 -4
  232. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +377 -317
  233. package/src/sap/ui/codeeditor/js/ace/mode-vue.js +3834 -0
  234. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +382 -76
  235. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +18 -10
  236. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +4 -5
  237. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +5 -5
  238. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +2 -2
  239. package/src/sap/ui/codeeditor/js/ace/mode-zig.js +585 -0
  240. package/src/sap/ui/codeeditor/js/ace/snippets/abap.js +0 -0
  241. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +0 -0
  242. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +0 -0
  243. package/src/sap/ui/codeeditor/js/ace/snippets/ada.js +0 -0
  244. package/src/sap/ui/codeeditor/js/ace/snippets/apache_conf.js +0 -0
  245. package/src/sap/ui/codeeditor/js/ace/snippets/applescript.js +0 -0
  246. package/src/sap/ui/codeeditor/js/ace/snippets/asciidoc.js +0 -0
  247. package/src/sap/ui/codeeditor/js/ace/snippets/asl.js +0 -0
  248. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_arm32.js +9 -0
  249. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_x86.js +0 -0
  250. package/src/sap/ui/codeeditor/js/ace/snippets/autohotkey.js +0 -0
  251. package/src/sap/ui/codeeditor/js/ace/snippets/basic.js +9 -0
  252. package/src/sap/ui/codeeditor/js/ace/snippets/batchfile.js +0 -0
  253. package/src/sap/ui/codeeditor/js/ace/snippets/c9search.js +0 -0
  254. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +0 -0
  255. package/src/sap/ui/codeeditor/js/ace/snippets/cirru.js +0 -0
  256. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +0 -0
  257. package/src/sap/ui/codeeditor/js/ace/snippets/cobol.js +0 -0
  258. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +0 -0
  259. package/src/sap/ui/codeeditor/js/ace/snippets/coldfusion.js +0 -0
  260. package/src/sap/ui/codeeditor/js/ace/snippets/csharp.js +0 -0
  261. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +0 -0
  262. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +0 -0
  263. package/src/sap/ui/codeeditor/js/ace/snippets/csound_score.js +0 -0
  264. package/src/sap/ui/codeeditor/js/ace/snippets/csp.js +0 -0
  265. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +0 -0
  266. package/src/sap/ui/codeeditor/js/ace/snippets/curly.js +0 -0
  267. package/src/sap/ui/codeeditor/js/ace/snippets/d.js +0 -0
  268. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +0 -0
  269. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +0 -0
  270. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +0 -0
  271. package/src/sap/ui/codeeditor/js/ace/snippets/dockerfile.js +0 -0
  272. package/src/sap/ui/codeeditor/js/ace/snippets/dot.js +0 -0
  273. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +0 -0
  274. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +0 -0
  275. package/src/sap/ui/codeeditor/js/ace/snippets/eiffel.js +0 -0
  276. package/src/sap/ui/codeeditor/js/ace/snippets/ejs.js +0 -0
  277. package/src/sap/ui/codeeditor/js/ace/snippets/elixir.js +0 -0
  278. package/src/sap/ui/codeeditor/js/ace/snippets/elm.js +0 -0
  279. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +0 -0
  280. package/src/sap/ui/codeeditor/js/ace/snippets/forth.js +0 -0
  281. package/src/sap/ui/codeeditor/js/ace/snippets/fortran.js +0 -0
  282. package/src/sap/ui/codeeditor/js/ace/snippets/fsharp.js +0 -0
  283. package/src/sap/ui/codeeditor/js/ace/snippets/ftl.js +0 -0
  284. package/src/sap/ui/codeeditor/js/ace/snippets/gcode.js +0 -0
  285. package/src/sap/ui/codeeditor/js/ace/snippets/gherkin.js +0 -0
  286. package/src/sap/ui/codeeditor/js/ace/snippets/gitignore.js +0 -0
  287. package/src/sap/ui/codeeditor/js/ace/snippets/glsl.js +0 -0
  288. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +0 -0
  289. package/src/sap/ui/codeeditor/js/ace/snippets/golang.js +0 -0
  290. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +0 -0
  291. package/src/sap/ui/codeeditor/js/ace/snippets/groovy.js +0 -0
  292. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +0 -0
  293. package/src/sap/ui/codeeditor/js/ace/snippets/handlebars.js +0 -0
  294. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +0 -0
  295. package/src/sap/ui/codeeditor/js/ace/snippets/haskell_cabal.js +0 -0
  296. package/src/sap/ui/codeeditor/js/ace/snippets/haxe.js +0 -0
  297. package/src/sap/ui/codeeditor/js/ace/snippets/hjson.js +0 -0
  298. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +0 -0
  299. package/src/sap/ui/codeeditor/js/ace/snippets/html_elixir.js +0 -0
  300. package/src/sap/ui/codeeditor/js/ace/snippets/html_ruby.js +0 -0
  301. package/src/sap/ui/codeeditor/js/ace/snippets/ini.js +0 -0
  302. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +0 -0
  303. package/src/sap/ui/codeeditor/js/ace/snippets/jack.js +0 -0
  304. package/src/sap/ui/codeeditor/js/ace/snippets/jade.js +0 -0
  305. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +0 -0
  306. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +0 -0
  307. package/src/sap/ui/codeeditor/js/ace/snippets/json.js +0 -0
  308. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +0 -0
  309. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +0 -0
  310. package/src/sap/ui/codeeditor/js/ace/snippets/jssm.js +0 -0
  311. package/src/sap/ui/codeeditor/js/ace/snippets/jsx.js +0 -0
  312. package/src/sap/ui/codeeditor/js/ace/snippets/julia.js +0 -0
  313. package/src/sap/ui/codeeditor/js/ace/snippets/kotlin.js +0 -0
  314. package/src/sap/ui/codeeditor/js/ace/snippets/latex.js +0 -0
  315. package/src/sap/ui/codeeditor/js/ace/snippets/less.js +0 -0
  316. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +0 -0
  317. package/src/sap/ui/codeeditor/js/ace/snippets/lisp.js +0 -0
  318. package/src/sap/ui/codeeditor/js/ace/snippets/livescript.js +0 -0
  319. package/src/sap/ui/codeeditor/js/ace/snippets/logiql.js +0 -0
  320. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +0 -0
  321. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +0 -0
  322. package/src/sap/ui/codeeditor/js/ace/snippets/luapage.js +0 -0
  323. package/src/sap/ui/codeeditor/js/ace/snippets/lucene.js +0 -0
  324. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +0 -0
  325. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +0 -0
  326. package/src/sap/ui/codeeditor/js/ace/snippets/mask.js +0 -0
  327. package/src/sap/ui/codeeditor/js/ace/snippets/matlab.js +0 -0
  328. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +0 -0
  329. package/src/sap/ui/codeeditor/js/ace/snippets/mel.js +0 -0
  330. package/src/sap/ui/codeeditor/js/ace/snippets/mixal.js +0 -0
  331. package/src/sap/ui/codeeditor/js/ace/snippets/mushcode.js +0 -0
  332. package/src/sap/ui/codeeditor/js/ace/snippets/mysql.js +0 -0
  333. package/src/sap/ui/codeeditor/js/ace/snippets/nix.js +0 -0
  334. package/src/sap/ui/codeeditor/js/ace/snippets/nsis.js +0 -0
  335. package/src/sap/ui/codeeditor/js/ace/snippets/objectivec.js +0 -0
  336. package/src/sap/ui/codeeditor/js/ace/snippets/ocaml.js +0 -0
  337. package/src/sap/ui/codeeditor/js/ace/snippets/pascal.js +0 -0
  338. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +0 -0
  339. package/src/sap/ui/codeeditor/js/ace/snippets/pgsql.js +0 -0
  340. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +0 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/php_laravel_blade.js +0 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/pig.js +0 -0
  343. package/src/sap/ui/codeeditor/js/ace/snippets/plain_text.js +0 -0
  344. package/src/sap/ui/codeeditor/js/ace/snippets/powershell.js +0 -0
  345. package/src/sap/ui/codeeditor/js/ace/snippets/praat.js +0 -0
  346. package/src/sap/ui/codeeditor/js/ace/snippets/prolog.js +0 -0
  347. package/src/sap/ui/codeeditor/js/ace/snippets/properties.js +0 -0
  348. package/src/sap/ui/codeeditor/js/ace/snippets/protobuf.js +0 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/puppet.js +0 -0
  350. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +0 -0
  351. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +0 -0
  352. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +0 -0
  353. package/src/sap/ui/codeeditor/js/ace/snippets/rdoc.js +0 -0
  354. package/src/sap/ui/codeeditor/js/ace/snippets/red.js +0 -0
  355. package/src/sap/ui/codeeditor/js/ace/snippets/redshift.js +0 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/rhtml.js +0 -0
  357. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +0 -0
  358. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +0 -0
  359. package/src/sap/ui/codeeditor/js/ace/snippets/rust.js +0 -0
  360. package/src/sap/ui/codeeditor/js/ace/snippets/sass.js +0 -0
  361. package/src/sap/ui/codeeditor/js/ace/snippets/scad.js +0 -0
  362. package/src/sap/ui/codeeditor/js/ace/snippets/scala.js +0 -0
  363. package/src/sap/ui/codeeditor/js/ace/snippets/scheme.js +0 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/scss.js +0 -0
  365. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +0 -0
  366. package/src/sap/ui/codeeditor/js/ace/snippets/sjs.js +0 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/slim.js +0 -0
  368. package/src/sap/ui/codeeditor/js/ace/snippets/smarty.js +0 -0
  369. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +0 -0
  370. package/src/sap/ui/codeeditor/js/ace/snippets/soy_template.js +0 -0
  371. package/src/sap/ui/codeeditor/js/ace/snippets/space.js +0 -0
  372. package/src/sap/ui/codeeditor/js/ace/snippets/sparql.js +0 -0
  373. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +0 -0
  374. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +0 -0
  375. package/src/sap/ui/codeeditor/js/ace/snippets/stylus.js +0 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/svg.js +0 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/swift.js +0 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +0 -0
  379. package/src/sap/ui/codeeditor/js/ace/snippets/terraform.js +0 -0
  380. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +0 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/text.js +0 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +0 -0
  383. package/src/sap/ui/codeeditor/js/ace/snippets/toml.js +0 -0
  384. package/src/sap/ui/codeeditor/js/ace/snippets/tsx.js +0 -0
  385. package/src/sap/ui/codeeditor/js/ace/snippets/turtle.js +0 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/twig.js +0 -0
  387. package/src/sap/ui/codeeditor/js/ace/snippets/typescript.js +0 -0
  388. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +0 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/vbscript.js +0 -0
  390. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +0 -0
  391. package/src/sap/ui/codeeditor/js/ace/snippets/verilog.js +0 -0
  392. package/src/sap/ui/codeeditor/js/ace/snippets/vhdl.js +0 -0
  393. package/src/sap/ui/codeeditor/js/ace/snippets/vue.js +9 -0
  394. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +0 -0
  395. package/src/sap/ui/codeeditor/js/ace/snippets/xml.js +0 -0
  396. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +0 -0
  397. package/src/sap/ui/codeeditor/js/ace/snippets/yaml.js +0 -0
  398. package/src/sap/ui/codeeditor/js/ace/snippets/zig.js +9 -0
  399. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +0 -0
  400. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +0 -0
  401. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +0 -0
  402. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor.js +18 -0
  403. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor_dark.js +18 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +0 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +0 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +0 -0
  407. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +0 -0
  408. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +0 -0
  409. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +0 -0
  410. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +0 -0
  411. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +0 -0
  412. package/src/sap/ui/codeeditor/js/ace/theme-github.js +0 -0
  413. package/src/sap/ui/codeeditor/js/ace/theme-github_light_default.js +18 -0
  414. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +0 -0
  415. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +0 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +0 -0
  417. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +0 -0
  418. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +0 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +0 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +0 -0
  421. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +0 -0
  422. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +0 -0
  423. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +0 -0
  424. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +0 -0
  425. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +0 -0
  426. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +1 -1
  427. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +0 -0
  428. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +0 -0
  429. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +0 -0
  430. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +0 -0
  431. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +0 -0
  432. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +0 -0
  433. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +0 -0
  434. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +0 -0
  435. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +0 -0
  436. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +0 -0
  437. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +0 -0
  438. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +0 -0
  439. package/src/sap/ui/codeeditor/js/ace/worker-base.js +3 -13
  440. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +3 -13
  441. package/src/sap/ui/codeeditor/js/ace/worker-css.js +3 -13
  442. package/src/sap/ui/codeeditor/js/ace/worker-html.js +3 -13
  443. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +3 -13
  444. package/src/sap/ui/codeeditor/js/ace/worker-json.js +3 -13
  445. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +3 -13
  446. package/src/sap/ui/codeeditor/js/ace/worker-php.js +3 -13
  447. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +8 -15
  448. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +3 -13
  449. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +6 -16
  450. package/src/sap/ui/codeeditor/library.js +2 -2
  451. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  452. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -22,7 +22,7 @@ var JsDocCommentHighlightRules = function () {
22
22
  ]
23
23
  }, {
24
24
  token: ["rparen.doc", "text.doc", "variable.parameter.doc", "lparen.doc", "variable.parameter.doc", "rparen.doc"],
25
- regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.]+)(\])))/,
25
+ regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,
26
26
  next: "pop"
27
27
  }, {
28
28
  token: "rparen.doc",
@@ -82,7 +82,7 @@ var JsDocCommentHighlightRules = function () {
82
82
  },
83
83
  JsDocCommentHighlightRules.getTagRule(),
84
84
  {
85
- defaultToken: "comment.doc",
85
+ defaultToken: "comment.doc.body",
86
86
  caseInsensitive: true
87
87
  }
88
88
  ],
@@ -105,14 +105,14 @@ JsDocCommentHighlightRules.getTagRule = function (start) {
105
105
  };
106
106
  JsDocCommentHighlightRules.getStartRule = function (start) {
107
107
  return {
108
- token: "comment.doc",
109
- regex: "\\/\\*(?=\\*)",
108
+ token: "comment.doc", // doc comment
109
+ regex: /\/\*\*(?!\/)/,
110
110
  next: start
111
111
  };
112
112
  };
113
113
  JsDocCommentHighlightRules.getEndRule = function (start) {
114
114
  return {
115
- token: "comment.doc",
115
+ token: "comment.doc", // closing comment
116
116
  regex: "\\*\\/",
117
117
  next: start
118
118
  };
@@ -127,7 +127,7 @@ var DocCommentHighlightRules = require("./jsdoc_comment_highlight_rules").JsDocC
127
127
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
128
128
  var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
129
129
  var JavaScriptHighlightRules = function (options) {
130
- var keywordMapper = this.createKeywordMapper({
130
+ var keywords = {
131
131
  "variable.language": "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|" + // Constructors
132
132
  "Namespace|QName|XML|XMLList|" + // E4X
133
133
  "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
@@ -137,9 +137,9 @@ var JavaScriptHighlightRules = function (options) {
137
137
  "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
138
138
  "isNaN|parseFloat|parseInt|" +
139
139
  "JSON|Math|" + // Other
140
- "this|arguments|prototype|window|document",
140
+ "this|arguments|prototype|window|document", // Pseudo
141
141
  "keyword": "const|yield|import|get|set|async|await|" +
142
- "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
142
+ "break|case|catch|continue|default|delete|do|else|finally|for|" +
143
143
  "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
144
144
  "__parent__|__count__|escape|unescape|with|__proto__|" +
145
145
  "class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor",
@@ -147,7 +147,8 @@ var JavaScriptHighlightRules = function (options) {
147
147
  "constant.language": "null|Infinity|NaN|undefined",
148
148
  "support.function": "alert",
149
149
  "constant.language.boolean": "true|false"
150
- }, "identifier");
150
+ };
151
+ var keywordMapper = this.createKeywordMapper(keywords, "identifier");
151
152
  var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
152
153
  var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
153
154
  "u[0-9a-fA-F]{4}|" + // unicode
@@ -156,10 +157,16 @@ var JavaScriptHighlightRules = function (options) {
156
157
  "3[0-7][0-7]?|" + // oct
157
158
  "[4-7][0-7]?|" + //oct
158
159
  ".)";
160
+ var anonymousFunctionRe = "(function)(\\s*)(\\*?)";
161
+ var functionCallStartRule = {
162
+ token: ["identifier", "text", "paren.lparen"],
163
+ regex: "(\\b(?!" + Object.values(keywords).join("|") + "\\b)" + identifierRe + ")(\\s*)(\\()"
164
+ };
159
165
  this.$rules = {
160
166
  "no_regex": [
161
167
  DocCommentHighlightRules.getStartRule("doc-start"),
162
168
  comments("no_regex"),
169
+ functionCallStartRule,
163
170
  {
164
171
  token: "string",
165
172
  regex: "'(?=.)",
@@ -169,58 +176,36 @@ var JavaScriptHighlightRules = function (options) {
169
176
  regex: '"(?=.)',
170
177
  next: "qqstring"
171
178
  }, {
172
- token: "constant.numeric",
179
+ token: "constant.numeric", // hexadecimal, octal and binary
173
180
  regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
174
181
  }, {
175
- token: "constant.numeric",
182
+ token: "constant.numeric", // decimal integers and floats
176
183
  regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
177
- }, {
178
- token: [
179
- "storage.type", "punctuation.operator", "support.function",
180
- "punctuation.operator", "entity.name.function", "text", "keyword.operator"
181
- ],
182
- regex: "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe + ")(\\s*)(=)",
183
- next: "function_arguments"
184
- }, {
185
- token: [
186
- "storage.type", "punctuation.operator", "entity.name.function", "text",
187
- "keyword.operator", "text", "storage.type", "text", "paren.lparen"
188
- ],
189
- regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
190
- next: "function_arguments"
191
184
  }, {
192
185
  token: [
193
186
  "entity.name.function", "text", "keyword.operator", "text", "storage.type",
194
- "text", "paren.lparen"
195
- ],
196
- regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
197
- next: "function_arguments"
198
- }, {
199
- token: [
200
- "storage.type", "punctuation.operator", "entity.name.function", "text",
201
- "keyword.operator", "text",
202
- "storage.type", "text", "entity.name.function", "text", "paren.lparen"
187
+ "text", "storage.type", "text", "paren.lparen"
203
188
  ],
204
- regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s+)(\\w+)(\\s*)(\\()",
189
+ regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)" + anonymousFunctionRe + "(\\s*)(\\()",
205
190
  next: "function_arguments"
206
191
  }, {
207
192
  token: [
208
- "storage.type", "text", "entity.name.function", "text", "paren.lparen"
193
+ "storage.type", "text", "storage.type", "text", "text", "entity.name.function", "text", "paren.lparen"
209
194
  ],
210
- regex: "(function\\*?)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
195
+ regex: "(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(" + identifierRe + ")(\\s*)(\\()",
211
196
  next: "function_arguments"
212
197
  }, {
213
198
  token: [
214
199
  "entity.name.function", "text", "punctuation.operator",
215
- "text", "storage.type", "text", "paren.lparen"
200
+ "text", "storage.type", "text", "storage.type", "text", "paren.lparen"
216
201
  ],
217
- regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)(function\\*?)(\\s*)(\\()",
202
+ regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)" + anonymousFunctionRe + "(\\s*)(\\()",
218
203
  next: "function_arguments"
219
204
  }, {
220
205
  token: [
221
- "text", "text", "storage.type", "text", "paren.lparen"
206
+ "text", "text", "storage.type", "text", "storage.type", "text", "paren.lparen"
222
207
  ],
223
- regex: "(:)(\\s*)(function\\*?)(\\s*)(\\()",
208
+ regex: "(:)(\\s*)" + anonymousFunctionRe + "(\\s*)(\\()",
224
209
  next: "function_arguments"
225
210
  }, {
226
211
  token: "keyword",
@@ -234,7 +219,7 @@ var JavaScriptHighlightRules = function (options) {
234
219
  regex: /that\b/
235
220
  }, {
236
221
  token: ["storage.type", "punctuation.operator", "support.function.firebug"],
237
- regex: /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
222
+ regex: /(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/
238
223
  }, {
239
224
  token: keywordMapper,
240
225
  regex: identifierRe
@@ -269,17 +254,27 @@ var JavaScriptHighlightRules = function (options) {
269
254
  property: [{
270
255
  token: "text",
271
256
  regex: "\\s+"
257
+ }, {
258
+ token: "keyword.operator",
259
+ regex: /=/
260
+ }, {
261
+ token: [
262
+ "storage.type", "text", "storage.type", "text", "paren.lparen"
263
+ ],
264
+ regex: anonymousFunctionRe + "(\\s*)(\\()",
265
+ next: "function_arguments"
272
266
  }, {
273
267
  token: [
274
- "storage.type", "punctuation.operator", "entity.name.function", "text",
275
- "keyword.operator", "text",
276
- "storage.type", "text", "entity.name.function", "text", "paren.lparen"
268
+ "storage.type", "text", "storage.type", "text", "text", "entity.name.function", "text", "paren.lparen"
277
269
  ],
278
- regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(?:(\\s+)(\\w+))?(\\s*)(\\()",
270
+ regex: "(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",
279
271
  next: "function_arguments"
280
272
  }, {
281
273
  token: "punctuation.operator",
282
274
  regex: /[.](?![.])/
275
+ }, {
276
+ token: "support.function",
277
+ regex: "prototype"
283
278
  }, {
284
279
  token: "support.function",
285
280
  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(?=\()/
@@ -392,10 +387,10 @@ var JavaScriptHighlightRules = function (options) {
392
387
  token: "constant.language",
393
388
  regex: "null|Infinity|NaN|undefined"
394
389
  }, {
395
- token: "constant.numeric",
390
+ token: "constant.numeric", // hexadecimal, octal and binary
396
391
  regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
397
392
  }, {
398
- token: "constant.numeric",
393
+ token: "constant.numeric", // decimal integers and floats
399
394
  regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
400
395
  }, {
401
396
  token: "punctuation.operator",
@@ -504,7 +499,7 @@ var JavaScriptHighlightRules = function (options) {
504
499
  regex: "(" + identifierRe + ")(\\s*)(?=\\=>)"
505
500
  }, {
506
501
  token: "paren.lparen",
507
- regex: "(\\()(?=.+\\s*=>)",
502
+ regex: "(\\()(?=[^\\(]+\\s*=>)",
508
503
  next: "function_arguments"
509
504
  }, {
510
505
  token: "variable.language",
@@ -562,7 +557,7 @@ function JSX() {
562
557
  value: val.substr(offset)
563
558
  }];
564
559
  },
565
- regex: "</?" + tagRegex + "",
560
+ regex: "</?(?:" + tagRegex + "|(?=>))",
566
561
  next: "jsxAttributes",
567
562
  nextState: "jsx"
568
563
  };
@@ -575,8 +570,7 @@ function JSX() {
575
570
  this.$rules.jsx = [
576
571
  jsxJsRule,
577
572
  jsxTag,
578
- { include: "reference" },
579
- { defaultToken: "string" }
573
+ { include: "reference" }, { defaultToken: "string.xml" }
580
574
  ];
581
575
  this.$rules.jsxAttributes = [{
582
576
  token: "meta.tag.punctuation.tag-close.xml",
@@ -636,7 +630,7 @@ function JSX() {
636
630
  function comments(next) {
637
631
  return [
638
632
  {
639
- token: "comment",
633
+ token: "comment", // multi line comment
640
634
  regex: /\/\*/,
641
635
  next: [
642
636
  DocCommentHighlightRules.getTagRule(),
@@ -687,6 +681,293 @@ exports.MatchingBraceOutdent = MatchingBraceOutdent;
687
681
 
688
682
  });
689
683
 
684
+ ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"], function(require, exports, module){"use strict";
685
+ var oop = require("../../lib/oop");
686
+ var Behaviour = require("../behaviour").Behaviour;
687
+ var TokenIterator = require("../../token_iterator").TokenIterator;
688
+ function is(token, type) {
689
+ return token && token.type.lastIndexOf(type + ".xml") > -1;
690
+ }
691
+ var XmlBehaviour = function () {
692
+ this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
693
+ if (text == '"' || text == "'") {
694
+ var quote = text;
695
+ var selected = session.doc.getTextRange(editor.getSelectionRange());
696
+ if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
697
+ return {
698
+ text: quote + selected + quote,
699
+ selection: false
700
+ };
701
+ }
702
+ var cursor = editor.getCursorPosition();
703
+ var line = session.doc.getLine(cursor.row);
704
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
705
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
706
+ var token = iterator.getCurrentToken();
707
+ if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
708
+ return {
709
+ text: "",
710
+ selection: [1, 1]
711
+ };
712
+ }
713
+ if (!token)
714
+ token = iterator.stepBackward();
715
+ if (!token)
716
+ return;
717
+ while (is(token, "tag-whitespace") || is(token, "whitespace")) {
718
+ token = iterator.stepBackward();
719
+ }
720
+ var rightSpace = !rightChar || rightChar.match(/\s/);
721
+ if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {
722
+ return {
723
+ text: quote + quote,
724
+ selection: [1, 1]
725
+ };
726
+ }
727
+ }
728
+ });
729
+ this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
730
+ var selected = session.doc.getTextRange(range);
731
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
732
+ var line = session.doc.getLine(range.start.row);
733
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
734
+ if (rightChar == selected) {
735
+ range.end.column++;
736
+ return range;
737
+ }
738
+ }
739
+ });
740
+ this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
741
+ if (text == '>') {
742
+ var position = editor.getSelectionRange().start;
743
+ var iterator = new TokenIterator(session, position.row, position.column);
744
+ var token = iterator.getCurrentToken() || iterator.stepBackward();
745
+ if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))
746
+ return;
747
+ if (is(token, "reference.attribute-value"))
748
+ return;
749
+ if (is(token, "attribute-value")) {
750
+ var tokenEndColumn = iterator.getCurrentTokenColumn() + token.value.length;
751
+ if (position.column < tokenEndColumn)
752
+ return;
753
+ if (position.column == tokenEndColumn) {
754
+ var nextToken = iterator.stepForward();
755
+ if (nextToken && is(nextToken, "attribute-value"))
756
+ return;
757
+ iterator.stepBackward();
758
+ }
759
+ }
760
+ if (/^\s*>/.test(session.getLine(position.row).slice(position.column)))
761
+ return;
762
+ while (!is(token, "tag-name")) {
763
+ token = iterator.stepBackward();
764
+ if (token.value == "<") {
765
+ token = iterator.stepForward();
766
+ break;
767
+ }
768
+ }
769
+ var tokenRow = iterator.getCurrentTokenRow();
770
+ var tokenColumn = iterator.getCurrentTokenColumn();
771
+ if (is(iterator.stepBackward(), "end-tag-open"))
772
+ return;
773
+ var element = token.value;
774
+ if (tokenRow == position.row)
775
+ element = element.substring(0, position.column - tokenColumn);
776
+ if (this.voidElements && this.voidElements.hasOwnProperty(element.toLowerCase()))
777
+ return;
778
+ return {
779
+ text: ">" + "</" + element + ">",
780
+ selection: [1, 1]
781
+ };
782
+ }
783
+ });
784
+ this.add("autoindent", "insertion", function (state, action, editor, session, text) {
785
+ if (text == "\n") {
786
+ var cursor = editor.getCursorPosition();
787
+ var line = session.getLine(cursor.row);
788
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
789
+ var token = iterator.getCurrentToken();
790
+ if (is(token, "") && token.type.indexOf("tag-close") !== -1) {
791
+ if (token.value == "/>")
792
+ return;
793
+ while (token && token.type.indexOf("tag-name") === -1) {
794
+ token = iterator.stepBackward();
795
+ }
796
+ if (!token) {
797
+ return;
798
+ }
799
+ var tag = token.value;
800
+ var row = iterator.getCurrentTokenRow();
801
+ token = iterator.stepBackward();
802
+ if (!token || token.type.indexOf("end-tag") !== -1) {
803
+ return;
804
+ }
805
+ if (this.voidElements && !this.voidElements[tag] || !this.voidElements) {
806
+ var nextToken = session.getTokenAt(cursor.row, cursor.column + 1);
807
+ var line = session.getLine(row);
808
+ var nextIndent = this.$getIndent(line);
809
+ var indent = nextIndent + session.getTabString();
810
+ if (nextToken && nextToken.value === "</") {
811
+ return {
812
+ text: "\n" + indent + "\n" + nextIndent,
813
+ selection: [1, indent.length, 1, indent.length]
814
+ };
815
+ }
816
+ else {
817
+ return {
818
+ text: "\n" + indent
819
+ };
820
+ }
821
+ }
822
+ }
823
+ }
824
+ });
825
+ };
826
+ oop.inherits(XmlBehaviour, Behaviour);
827
+ exports.XmlBehaviour = XmlBehaviour;
828
+
829
+ });
830
+
831
+ ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"], function(require, exports, module){"use strict";
832
+ var oop = require("../../lib/oop");
833
+ var TokenIterator = require("../../token_iterator").TokenIterator;
834
+ var CstyleBehaviour = require("../behaviour/cstyle").CstyleBehaviour;
835
+ var XmlBehaviour = require("../behaviour/xml").XmlBehaviour;
836
+ var JavaScriptBehaviour = function () {
837
+ var xmlBehaviours = new XmlBehaviour({ closeCurlyBraces: true }).getBehaviours();
838
+ this.addBehaviours(xmlBehaviours);
839
+ this.inherit(CstyleBehaviour);
840
+ this.add("autoclosing-fragment", "insertion", function (state, action, editor, session, text) {
841
+ if (text == '>') {
842
+ var position = editor.getSelectionRange().start;
843
+ var iterator = new TokenIterator(session, position.row, position.column);
844
+ var token = iterator.getCurrentToken() || iterator.stepBackward();
845
+ if (!token)
846
+ return;
847
+ if (token.value == '<') {
848
+ return {
849
+ text: "></>",
850
+ selection: [1, 1]
851
+ };
852
+ }
853
+ }
854
+ });
855
+ };
856
+ oop.inherits(JavaScriptBehaviour, CstyleBehaviour);
857
+ exports.JavaScriptBehaviour = JavaScriptBehaviour;
858
+
859
+ });
860
+
861
+ ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
862
+ var oop = require("../../lib/oop");
863
+ var Range = require("../../range").Range;
864
+ var BaseFoldMode = require("./fold_mode").FoldMode;
865
+ var FoldMode = exports.FoldMode = function (voidElements, optionalEndTags) {
866
+ BaseFoldMode.call(this);
867
+ this.voidElements = voidElements || {};
868
+ this.optionalEndTags = oop.mixin({}, this.voidElements);
869
+ if (optionalEndTags)
870
+ oop.mixin(this.optionalEndTags, optionalEndTags);
871
+ };
872
+ oop.inherits(FoldMode, BaseFoldMode);
873
+ var Tag = function () {
874
+ this.tagName = "";
875
+ this.closing = false;
876
+ this.selfClosing = false;
877
+ this.start = { row: 0, column: 0 };
878
+ this.end = { row: 0, column: 0 };
879
+ };
880
+ function is(token, type) {
881
+ return token.type.lastIndexOf(type + ".xml") > -1;
882
+ }
883
+ (function () {
884
+ this.getFoldWidget = function (session, foldStyle, row) {
885
+ var tag = this._getFirstTagInLine(session, row);
886
+ if (!tag)
887
+ return this.getCommentFoldWidget(session, row);
888
+ if (tag.closing || (!tag.tagName && tag.selfClosing))
889
+ return foldStyle === "markbeginend" ? "end" : "";
890
+ if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
891
+ return "";
892
+ if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
893
+ return "";
894
+ return "start";
895
+ };
896
+ this.getCommentFoldWidget = function (session, row) {
897
+ if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
898
+ return "start";
899
+ return "";
900
+ };
901
+ this._getFirstTagInLine = function (session, row) {
902
+ var tokens = session.getTokens(row);
903
+ var tag = new Tag();
904
+ for (var i = 0; i < tokens.length; i++) {
905
+ var token = tokens[i];
906
+ if (is(token, "tag-open")) {
907
+ tag.end.column = tag.start.column + token.value.length;
908
+ tag.closing = is(token, "end-tag-open");
909
+ token = tokens[++i];
910
+ if (!token)
911
+ return null;
912
+ tag.tagName = token.value;
913
+ if (token.value === "") { //skip empty tag name token for fragment
914
+ token = tokens[++i];
915
+ if (!token)
916
+ return null;
917
+ tag.tagName = token.value;
918
+ }
919
+ tag.end.column += token.value.length;
920
+ for (i++; i < tokens.length; i++) {
921
+ token = tokens[i];
922
+ tag.end.column += token.value.length;
923
+ if (is(token, "tag-close")) {
924
+ tag.selfClosing = token.value == '/>';
925
+ break;
926
+ }
927
+ }
928
+ return tag;
929
+ }
930
+ else if (is(token, "tag-close")) {
931
+ tag.selfClosing = token.value == '/>';
932
+ return tag;
933
+ }
934
+ tag.start.column += token.value.length;
935
+ }
936
+ return null;
937
+ };
938
+ this._findEndTagInLine = function (session, row, tagName, startColumn) {
939
+ var tokens = session.getTokens(row);
940
+ var column = 0;
941
+ for (var i = 0; i < tokens.length; i++) {
942
+ var token = tokens[i];
943
+ column += token.value.length;
944
+ if (column < startColumn - 1)
945
+ continue;
946
+ if (is(token, "end-tag-open")) {
947
+ token = tokens[i + 1];
948
+ if (is(token, "tag-name") && token.value === "") {
949
+ token = tokens[i + 2];
950
+ }
951
+ if (token && token.value == tagName)
952
+ return true;
953
+ }
954
+ }
955
+ return false;
956
+ };
957
+ this.getFoldWidgetRange = function (session, foldStyle, row) {
958
+ var firstTag = this._getFirstTagInLine(session, row);
959
+ if (!firstTag) {
960
+ return this.getCommentFoldWidget(session, row) && session.getCommentFoldRange(row, session.getLine(row).length);
961
+ }
962
+ var tags = session.getMatchingTags({ row: row, column: 0 });
963
+ if (tags) {
964
+ return new Range(tags.openTag.end.row, tags.openTag.end.column, tags.closeTag.start.row, tags.closeTag.start.column);
965
+ }
966
+ };
967
+ }).call(FoldMode.prototype);
968
+
969
+ });
970
+
690
971
  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";
691
972
  var oop = require("../../lib/oop");
692
973
  var Range = require("../../range").Range;
@@ -803,19 +1084,51 @@ oop.inherits(FoldMode, BaseFoldMode);
803
1084
 
804
1085
  });
805
1086
 
806
- ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module){"use strict";
1087
+ ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"], function(require, exports, module){"use strict";
1088
+ var oop = require("../../lib/oop");
1089
+ var XmlFoldMode = require("./xml").FoldMode;
1090
+ var CFoldMode = require("./cstyle").FoldMode;
1091
+ var FoldMode = exports.FoldMode = function (commentRegex) {
1092
+ if (commentRegex) {
1093
+ this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start));
1094
+ this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end));
1095
+ }
1096
+ this.xmlFoldMode = new XmlFoldMode();
1097
+ };
1098
+ oop.inherits(FoldMode, CFoldMode);
1099
+ (function () {
1100
+ this.getFoldWidgetRangeBase = this.getFoldWidgetRange;
1101
+ this.getFoldWidgetBase = this.getFoldWidget;
1102
+ this.getFoldWidget = function (session, foldStyle, row) {
1103
+ var fw = this.getFoldWidgetBase(session, foldStyle, row);
1104
+ if (!fw) {
1105
+ return this.xmlFoldMode.getFoldWidget(session, foldStyle, row);
1106
+ }
1107
+ return fw;
1108
+ };
1109
+ this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {
1110
+ var range = this.getFoldWidgetRangeBase(session, foldStyle, row, forceMultiline);
1111
+ if (range)
1112
+ return range;
1113
+ return this.xmlFoldMode.getFoldWidgetRange(session, foldStyle, row);
1114
+ };
1115
+ }).call(FoldMode.prototype);
1116
+
1117
+ });
1118
+
1119
+ ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"], function(require, exports, module){"use strict";
807
1120
  var oop = require("../lib/oop");
808
1121
  var TextMode = require("./text").Mode;
809
1122
  var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
810
1123
  var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
811
1124
  var WorkerClient = require("../worker/worker_client").WorkerClient;
812
- var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
813
- var CStyleFoldMode = require("./folding/cstyle").FoldMode;
1125
+ var JavaScriptBehaviour = require("./behaviour/javascript").JavaScriptBehaviour;
1126
+ var JavaScriptFoldMode = require("./folding/javascript").FoldMode;
814
1127
  var Mode = function () {
815
1128
  this.HighlightRules = JavaScriptHighlightRules;
816
1129
  this.$outdent = new MatchingBraceOutdent();
817
- this.$behaviour = new CstyleBehaviour();
818
- this.foldingRules = new CStyleFoldMode();
1130
+ this.$behaviour = new JavaScriptBehaviour();
1131
+ this.foldingRules = new JavaScriptFoldMode();
819
1132
  };
820
1133
  oop.inherits(Mode, TextMode);
821
1134
  (function () {
@@ -843,13 +1156,6 @@ oop.inherits(Mode, TextMode);
843
1156
  if (endState == "start" || endState == "no_regex") {
844
1157
  return "";
845
1158
  }
846
- var match = line.match(/^\s*(\/?)\*/);
847
- if (match) {
848
- if (match[1]) {
849
- indent += " ";
850
- }
851
- indent += "* ";
852
- }
853
1159
  }
854
1160
  return indent;
855
1161
  };
@@ -953,7 +1259,7 @@ var CssHighlightRules = function () {
953
1259
  + "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
954
1260
  }],
955
1261
  "comments": [{
956
- token: "comment",
1262
+ token: "comment", // multi line comment
957
1263
  regex: "\\/\\*",
958
1264
  push: [{
959
1265
  token: "comment",
@@ -982,10 +1288,10 @@ var CssHighlightRules = function () {
982
1288
  token: "constant.numeric",
983
1289
  regex: numRe
984
1290
  }, {
985
- token: "constant.numeric",
1291
+ token: "constant.numeric", // hex6 color
986
1292
  regex: "#[a-f0-9]{6}"
987
1293
  }, {
988
- token: "constant.numeric",
1294
+ token: "constant.numeric", // hex3 color
989
1295
  regex: "#[a-f0-9]{3}"
990
1296
  }, {
991
1297
  token: ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
@@ -998,6 +1304,9 @@ var CssHighlightRules = function () {
998
1304
  }, {
999
1305
  token: keywordMapper,
1000
1306
  regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
1307
+ }, {
1308
+ token: "paren.lparen",
1309
+ regex: "\\{"
1001
1310
  }, {
1002
1311
  caseInsensitive: true
1003
1312
  }],
@@ -1609,154 +1918,6 @@ exports.HtmlHighlightRules = HtmlHighlightRules;
1609
1918
 
1610
1919
  });
1611
1920
 
1612
- ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module){"use strict";
1613
- var oop = require("../../lib/oop");
1614
- var Behaviour = require("../behaviour").Behaviour;
1615
- var TokenIterator = require("../../token_iterator").TokenIterator;
1616
- var lang = require("../../lib/lang");
1617
- function is(token, type) {
1618
- return token && token.type.lastIndexOf(type + ".xml") > -1;
1619
- }
1620
- var XmlBehaviour = function () {
1621
- this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
1622
- if (text == '"' || text == "'") {
1623
- var quote = text;
1624
- var selected = session.doc.getTextRange(editor.getSelectionRange());
1625
- if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
1626
- return {
1627
- text: quote + selected + quote,
1628
- selection: false
1629
- };
1630
- }
1631
- var cursor = editor.getCursorPosition();
1632
- var line = session.doc.getLine(cursor.row);
1633
- var rightChar = line.substring(cursor.column, cursor.column + 1);
1634
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
1635
- var token = iterator.getCurrentToken();
1636
- if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
1637
- return {
1638
- text: "",
1639
- selection: [1, 1]
1640
- };
1641
- }
1642
- if (!token)
1643
- token = iterator.stepBackward();
1644
- if (!token)
1645
- return;
1646
- while (is(token, "tag-whitespace") || is(token, "whitespace")) {
1647
- token = iterator.stepBackward();
1648
- }
1649
- var rightSpace = !rightChar || rightChar.match(/\s/);
1650
- if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {
1651
- return {
1652
- text: quote + quote,
1653
- selection: [1, 1]
1654
- };
1655
- }
1656
- }
1657
- });
1658
- this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
1659
- var selected = session.doc.getTextRange(range);
1660
- if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
1661
- var line = session.doc.getLine(range.start.row);
1662
- var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
1663
- if (rightChar == selected) {
1664
- range.end.column++;
1665
- return range;
1666
- }
1667
- }
1668
- });
1669
- this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
1670
- if (text == '>') {
1671
- var position = editor.getSelectionRange().start;
1672
- var iterator = new TokenIterator(session, position.row, position.column);
1673
- var token = iterator.getCurrentToken() || iterator.stepBackward();
1674
- if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))
1675
- return;
1676
- if (is(token, "reference.attribute-value"))
1677
- return;
1678
- if (is(token, "attribute-value")) {
1679
- var tokenEndColumn = iterator.getCurrentTokenColumn() + token.value.length;
1680
- if (position.column < tokenEndColumn)
1681
- return;
1682
- if (position.column == tokenEndColumn) {
1683
- var nextToken = iterator.stepForward();
1684
- if (nextToken && is(nextToken, "attribute-value"))
1685
- return;
1686
- iterator.stepBackward();
1687
- }
1688
- }
1689
- if (/^\s*>/.test(session.getLine(position.row).slice(position.column)))
1690
- return;
1691
- while (!is(token, "tag-name")) {
1692
- token = iterator.stepBackward();
1693
- if (token.value == "<") {
1694
- token = iterator.stepForward();
1695
- break;
1696
- }
1697
- }
1698
- var tokenRow = iterator.getCurrentTokenRow();
1699
- var tokenColumn = iterator.getCurrentTokenColumn();
1700
- if (is(iterator.stepBackward(), "end-tag-open"))
1701
- return;
1702
- var element = token.value;
1703
- if (tokenRow == position.row)
1704
- element = element.substring(0, position.column - tokenColumn);
1705
- if (this.voidElements.hasOwnProperty(element.toLowerCase()))
1706
- return;
1707
- return {
1708
- text: ">" + "</" + element + ">",
1709
- selection: [1, 1]
1710
- };
1711
- }
1712
- });
1713
- this.add("autoindent", "insertion", function (state, action, editor, session, text) {
1714
- if (text == "\n") {
1715
- var cursor = editor.getCursorPosition();
1716
- var line = session.getLine(cursor.row);
1717
- var iterator = new TokenIterator(session, cursor.row, cursor.column);
1718
- var token = iterator.getCurrentToken();
1719
- if (token && token.type.indexOf("tag-close") !== -1) {
1720
- if (token.value == "/>")
1721
- return;
1722
- while (token && token.type.indexOf("tag-name") === -1) {
1723
- token = iterator.stepBackward();
1724
- }
1725
- if (!token) {
1726
- return;
1727
- }
1728
- var tag = token.value;
1729
- var row = iterator.getCurrentTokenRow();
1730
- token = iterator.stepBackward();
1731
- if (!token || token.type.indexOf("end-tag") !== -1) {
1732
- return;
1733
- }
1734
- if (this.voidElements && !this.voidElements[tag]) {
1735
- var nextToken = session.getTokenAt(cursor.row, cursor.column + 1);
1736
- var line = session.getLine(row);
1737
- var nextIndent = this.$getIndent(line);
1738
- var indent = nextIndent + session.getTabString();
1739
- if (nextToken && nextToken.value === "</") {
1740
- return {
1741
- text: "\n" + indent + "\n" + nextIndent,
1742
- selection: [1, indent.length, 1, indent.length]
1743
- };
1744
- }
1745
- else {
1746
- return {
1747
- text: "\n" + indent
1748
- };
1749
- }
1750
- }
1751
- }
1752
- }
1753
- });
1754
- };
1755
- oop.inherits(XmlBehaviour, Behaviour);
1756
- exports.XmlBehaviour = XmlBehaviour;
1757
-
1758
- });
1759
-
1760
1921
  ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
1761
1922
  var oop = require("../../lib/oop");
1762
1923
  var BaseFoldMode = require("./fold_mode").FoldMode;
@@ -1796,107 +1957,6 @@ oop.inherits(FoldMode, BaseFoldMode);
1796
1957
 
1797
1958
  });
1798
1959
 
1799
- ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
1800
- var oop = require("../../lib/oop");
1801
- var Range = require("../../range").Range;
1802
- var BaseFoldMode = require("./fold_mode").FoldMode;
1803
- var FoldMode = exports.FoldMode = function (voidElements, optionalEndTags) {
1804
- BaseFoldMode.call(this);
1805
- this.voidElements = voidElements || {};
1806
- this.optionalEndTags = oop.mixin({}, this.voidElements);
1807
- if (optionalEndTags)
1808
- oop.mixin(this.optionalEndTags, optionalEndTags);
1809
- };
1810
- oop.inherits(FoldMode, BaseFoldMode);
1811
- var Tag = function () {
1812
- this.tagName = "";
1813
- this.closing = false;
1814
- this.selfClosing = false;
1815
- this.start = { row: 0, column: 0 };
1816
- this.end = { row: 0, column: 0 };
1817
- };
1818
- function is(token, type) {
1819
- return token.type.lastIndexOf(type + ".xml") > -1;
1820
- }
1821
- (function () {
1822
- this.getFoldWidget = function (session, foldStyle, row) {
1823
- var tag = this._getFirstTagInLine(session, row);
1824
- if (!tag)
1825
- return this.getCommentFoldWidget(session, row);
1826
- if (tag.closing || (!tag.tagName && tag.selfClosing))
1827
- return foldStyle === "markbeginend" ? "end" : "";
1828
- if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
1829
- return "";
1830
- if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
1831
- return "";
1832
- return "start";
1833
- };
1834
- this.getCommentFoldWidget = function (session, row) {
1835
- if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
1836
- return "start";
1837
- return "";
1838
- };
1839
- this._getFirstTagInLine = function (session, row) {
1840
- var tokens = session.getTokens(row);
1841
- var tag = new Tag();
1842
- for (var i = 0; i < tokens.length; i++) {
1843
- var token = tokens[i];
1844
- if (is(token, "tag-open")) {
1845
- tag.end.column = tag.start.column + token.value.length;
1846
- tag.closing = is(token, "end-tag-open");
1847
- token = tokens[++i];
1848
- if (!token)
1849
- return null;
1850
- tag.tagName = token.value;
1851
- tag.end.column += token.value.length;
1852
- for (i++; i < tokens.length; i++) {
1853
- token = tokens[i];
1854
- tag.end.column += token.value.length;
1855
- if (is(token, "tag-close")) {
1856
- tag.selfClosing = token.value == '/>';
1857
- break;
1858
- }
1859
- }
1860
- return tag;
1861
- }
1862
- else if (is(token, "tag-close")) {
1863
- tag.selfClosing = token.value == '/>';
1864
- return tag;
1865
- }
1866
- tag.start.column += token.value.length;
1867
- }
1868
- return null;
1869
- };
1870
- this._findEndTagInLine = function (session, row, tagName, startColumn) {
1871
- var tokens = session.getTokens(row);
1872
- var column = 0;
1873
- for (var i = 0; i < tokens.length; i++) {
1874
- var token = tokens[i];
1875
- column += token.value.length;
1876
- if (column < startColumn)
1877
- continue;
1878
- if (is(token, "end-tag-open")) {
1879
- token = tokens[i + 1];
1880
- if (token && token.value == tagName)
1881
- return true;
1882
- }
1883
- }
1884
- return false;
1885
- };
1886
- this.getFoldWidgetRange = function (session, foldStyle, row) {
1887
- var tags = session.getMatchingTags({ row: row, column: 0 });
1888
- if (tags) {
1889
- return new Range(tags.openTag.end.row, tags.openTag.end.column, tags.closeTag.start.row, tags.closeTag.start.column);
1890
- }
1891
- else {
1892
- return this.getCommentFoldWidget(session, row)
1893
- && session.getCommentFoldRange(row, session.getLine(row).length);
1894
- }
1895
- };
1896
- }).call(FoldMode.prototype);
1897
-
1898
- });
1899
-
1900
1960
  ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"], function(require, exports, module){"use strict";
1901
1961
  var oop = require("../../lib/oop");
1902
1962
  var MixedFoldMode = require("./mixed").FoldMode;
@@ -2321,14 +2381,14 @@ var TexHighlightRules = function (textClass) {
2321
2381
  token: "comment",
2322
2382
  regex: "%.*$"
2323
2383
  }, {
2324
- token: textClass,
2384
+ token: textClass, // non-command
2325
2385
  regex: "\\\\[$&%#\\{\\}]"
2326
2386
  }, {
2327
- token: "keyword",
2387
+ token: "keyword", // command
2328
2388
  regex: "\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",
2329
2389
  next: "nospell"
2330
2390
  }, {
2331
- token: "keyword",
2391
+ token: "keyword", // command
2332
2392
  regex: "\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])"
2333
2393
  }, {
2334
2394
  token: "paren.keyword.operator",
@@ -2347,13 +2407,13 @@ var TexHighlightRules = function (textClass) {
2347
2407
  regex: "%.*$",
2348
2408
  next: "start"
2349
2409
  }, {
2350
- token: "nospell." + textClass,
2410
+ token: "nospell." + textClass, // non-command
2351
2411
  regex: "\\\\[$&%#\\{\\}]"
2352
2412
  }, {
2353
- token: "keyword",
2413
+ token: "keyword", // command
2354
2414
  regex: "\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"
2355
2415
  }, {
2356
- token: "keyword",
2416
+ token: "keyword", // command
2357
2417
  regex: "\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])",
2358
2418
  next: "start"
2359
2419
  }, {
@@ -2443,29 +2503,29 @@ var RHighlightRules = function () {
2443
2503
  regex: "#.*$"
2444
2504
  },
2445
2505
  {
2446
- token: "string",
2506
+ token: "string", // multi line string start
2447
2507
  regex: '["]',
2448
2508
  next: "qqstring"
2449
2509
  },
2450
2510
  {
2451
- token: "string",
2511
+ token: "string", // multi line string start
2452
2512
  regex: "[']",
2453
2513
  next: "qstring"
2454
2514
  },
2455
2515
  {
2456
- token: "constant.numeric",
2516
+ token: "constant.numeric", // hex
2457
2517
  regex: "0[xX][0-9a-fA-F]+[Li]?\\b"
2458
2518
  },
2459
2519
  {
2460
- token: "constant.numeric",
2520
+ token: "constant.numeric", // explicit integer
2461
2521
  regex: "\\d+L\\b"
2462
2522
  },
2463
2523
  {
2464
- token: "constant.numeric",
2524
+ token: "constant.numeric", // number
2465
2525
  regex: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"
2466
2526
  },
2467
2527
  {
2468
- token: "constant.numeric",
2528
+ token: "constant.numeric", // number with leading decimal
2469
2529
  regex: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"
2470
2530
  },
2471
2531
  {
@@ -2494,7 +2554,7 @@ var RHighlightRules = function () {
2494
2554
  regex: "%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"
2495
2555
  },
2496
2556
  {
2497
- token: "keyword.operator",
2557
+ token: "keyword.operator", // infix operators
2498
2558
  regex: "%.*?%"
2499
2559
  },
2500
2560
  {