@openui5/sap.ui.codeeditor 1.94.0 → 1.97.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 (540) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +6 -6
  5. package/src/sap/ui/codeeditor/CodeEditor.js +41 -15
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +1705 -1669
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +1025 -0
  8. package/src/sap/ui/codeeditor/js/ace/css/ambiance-1.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/ambiance-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/chrome-1.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/clouds-1.png +0 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-1.png +0 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/cobalt-1.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-1.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/dawn-1.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/dracula-1.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-1.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/eclipse-1.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/github-1.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/gob-1.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/gruvbox-1.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-1.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/iplastic-1.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/iplastic-2.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/kr_theme-1.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/main-1.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
  29. package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
  30. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  31. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/main-2.png +0 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/main-3.png +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/css/main-4.png +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/css/main-5.png +0 -0
  38. package/src/sap/ui/codeeditor/js/ace/css/main-6.png +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/css/main-7.png +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/css/merbivore-1.png +0 -0
  43. package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-1.png +0 -0
  44. package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-1.png +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/css/monokai-1.png +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/css/one_dark-1.png +0 -0
  47. package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-1.png +0 -0
  48. package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-1.png +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/css/solarized_light-1.png +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/css/sqlserver-1.png +0 -0
  51. package/src/sap/ui/codeeditor/js/ace/css/terminal-1.png +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/css/textmate-1.png +0 -0
  53. package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +168 -0
  54. package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +146 -0
  55. package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +119 -0
  56. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +87 -0
  57. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +88 -0
  58. package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +104 -0
  59. package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +110 -0
  60. package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +100 -0
  61. package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +119 -0
  62. package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +134 -0
  63. package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +88 -0
  64. package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +95 -0
  65. package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +103 -0
  66. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +73 -0
  67. package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +88 -0
  68. package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +113 -0
  69. package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +113 -0
  70. package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +96 -0
  71. package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +52 -0
  72. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +87 -0
  73. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +88 -0
  74. package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +99 -0
  75. package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +97 -0
  76. package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +85 -0
  77. package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +123 -0
  78. package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +100 -0
  79. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +80 -0
  80. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +83 -0
  81. package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +129 -0
  82. package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +105 -0
  83. package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +119 -0
  84. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +100 -0
  85. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +100 -0
  86. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +98 -0
  87. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +113 -0
  88. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +100 -0
  89. package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +100 -0
  90. package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +86 -0
  91. package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +80 -0
  92. package/src/sap/ui/codeeditor/js/ace/css/tomorrow-1.png +0 -0
  93. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-1.png +0 -0
  94. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-1.png +0 -0
  95. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-1.png +0 -0
  96. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-1.png +0 -0
  97. package/src/sap/ui/codeeditor/js/ace/css/twilight-1.png +0 -0
  98. package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-1.png +0 -0
  99. package/src/sap/ui/codeeditor/js/ace/css/xcode-1.png +0 -0
  100. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +17 -10
  101. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +238 -0
  102. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +1 -1
  103. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +343 -238
  104. package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +85 -0
  105. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +26 -11
  106. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +435 -272
  107. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +2 -2
  108. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +22 -11
  109. package/src/sap/ui/codeeditor/js/ace/ext-options.js +85 -35
  110. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +510 -299
  111. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +1 -3
  112. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +2 -2
  113. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +89 -39
  114. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +1 -2
  115. package/src/sap/ui/codeeditor/js/ace/ext-split.js +2 -2
  116. package/src/sap/ui/codeeditor/js/ace/ext-static_highlight.js +3 -229
  117. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +3 -3
  118. package/src/sap/ui/codeeditor/js/ace/ext-textarea.js +3 -563
  119. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +4 -2
  120. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +1 -1
  121. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +29 -30
  122. package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +2 -5
  123. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +718 -184
  124. package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +262 -0
  125. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +3 -3
  126. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +6 -3
  127. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +4 -3
  128. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +2 -2
  129. package/src/sap/ui/codeeditor/js/ace/mode-alda.js +311 -0
  130. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +3 -3
  131. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +4 -4
  132. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +3 -3
  133. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +2 -2
  134. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +3 -3
  135. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +21 -20
  136. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +3 -3
  137. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +6 -4
  138. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +3 -3
  139. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +4 -4
  140. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +7 -6
  141. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +5 -5
  142. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +4 -3
  143. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +2 -2
  144. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +5 -4
  145. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +22 -19
  146. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +4 -4
  147. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +6 -6
  148. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +178 -61
  149. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +162 -51
  150. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +34 -25
  151. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +2 -2
  152. package/src/sap/ui/codeeditor/js/ace/mode-css.js +7 -6
  153. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +22 -19
  154. package/src/sap/ui/codeeditor/js/ace/mode-d.js +5 -5
  155. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +10 -8
  156. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +4 -3
  157. package/src/sap/ui/codeeditor/js/ace/mode-django.js +22 -18
  158. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +6 -5
  159. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +5 -5
  160. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +7 -6
  161. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +4 -3
  162. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +2 -2
  163. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +692 -184
  164. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +3 -3
  165. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +3 -3
  166. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +4 -3
  167. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +3 -3
  168. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +3 -3
  169. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +5 -5
  170. package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +4 -3
  171. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +7 -7
  172. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +2 -2
  173. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +2 -4
  174. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +2 -2
  175. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +9 -8
  176. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +259 -99
  177. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +5 -5
  178. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +4 -3
  179. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +8 -7
  180. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +428 -113
  181. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +23 -20
  182. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +4 -3
  183. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +3 -3
  184. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +5 -5
  185. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +3 -3
  186. package/src/sap/ui/codeeditor/js/ace/mode-html.js +20 -17
  187. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +25 -22
  188. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +693 -185
  189. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +3 -3
  190. package/src/sap/ui/codeeditor/js/ace/mode-io.js +5 -10
  191. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +4 -4
  192. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +13 -13
  193. package/src/sap/ui/codeeditor/js/ace/mode-java.js +11 -9
  194. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +6 -5
  195. package/src/sap/ui/codeeditor/js/ace/mode-json.js +7 -4
  196. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +360 -0
  197. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +6 -5
  198. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +12 -11
  199. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +3 -3
  200. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +5 -5
  201. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +3 -3
  202. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +5 -3
  203. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +3 -3
  204. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +2708 -0
  205. package/src/sap/ui/codeeditor/js/ace/mode-less.js +7 -7
  206. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +24 -20
  207. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +2 -2
  208. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +2 -2
  209. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +4 -4
  210. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +3 -3
  211. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +5 -4
  212. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +4 -3
  213. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +26 -22
  214. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +78 -10
  215. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +5 -4
  216. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +30 -24
  217. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +12 -12
  218. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +2 -2
  219. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +4 -3
  220. package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +592 -0
  221. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +3 -3
  222. package/src/sap/ui/codeeditor/js/ace/{mode-mipsassembler.js → mode-mips.js} +99 -31
  223. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +2 -2
  224. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +3 -3
  225. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +3 -3
  226. package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +13 -12
  227. package/src/sap/ui/codeeditor/js/ace/mode-nim.js +10 -9
  228. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +9 -8
  229. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +4 -4
  230. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +2698 -0
  231. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +6 -6
  232. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +3 -3
  233. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +3 -3
  234. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +5 -4
  235. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +9 -9
  236. package/src/sap/ui/codeeditor/js/ace/mode-php.js +513 -302
  237. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +515 -304
  238. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +3 -3
  239. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +1 -1
  240. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +4 -4
  241. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +4 -4
  242. package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +489 -0
  243. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +3 -3
  244. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +2 -2
  245. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +9 -8
  246. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +12 -13
  247. package/src/sap/ui/codeeditor/js/ace/mode-python.js +6 -5
  248. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +381 -0
  249. package/src/sap/ui/codeeditor/js/ace/mode-r.js +5 -4
  250. package/src/sap/ui/codeeditor/js/ace/{mode-perl6.js → mode-raku.js} +13 -13
  251. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +25 -21
  252. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +4 -4
  253. package/src/sap/ui/codeeditor/js/ace/mode-red.js +4 -4
  254. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +4 -4
  255. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +24 -21
  256. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +3 -2
  257. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +672 -167
  258. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +9 -8
  259. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +5 -5
  260. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +5 -5
  261. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +8 -7
  262. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +3 -3
  263. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +364 -0
  264. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +7 -7
  265. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +4 -3
  266. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +8 -7
  267. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +745 -146
  268. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +22 -19
  269. package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +507 -0
  270. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +3 -2
  271. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +22 -19
  272. package/src/sap/ui/codeeditor/js/ace/mode-space.js +3 -3
  273. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +3 -3
  274. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +163 -2
  275. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +7 -6
  276. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +4 -4
  277. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +13 -12
  278. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +10 -4
  279. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +8 -4
  280. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +18 -15
  281. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +4 -3
  282. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +4 -3
  283. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +3 -3
  284. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +9 -8
  285. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +3 -3
  286. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +22 -19
  287. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +8 -7
  288. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +5 -4
  289. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +445 -16
  290. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +24 -20
  291. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +2 -2
  292. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +7 -8
  293. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +22 -19
  294. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +9 -7
  295. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +4 -4
  296. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +6 -5
  297. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +4 -4
  298. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +539 -0
  299. package/src/sap/ui/codeeditor/js/ace/snippets/abap.js +1 -7
  300. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +2 -3
  301. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +2 -3
  302. package/src/sap/ui/codeeditor/js/ace/snippets/ada.js +1 -7
  303. package/src/sap/ui/codeeditor/js/ace/snippets/alda.js +9 -0
  304. package/src/sap/ui/codeeditor/js/ace/snippets/apache_conf.js +1 -7
  305. package/src/sap/ui/codeeditor/js/ace/snippets/apex.js +2 -7
  306. package/src/sap/ui/codeeditor/js/ace/snippets/applescript.js +1 -7
  307. package/src/sap/ui/codeeditor/js/ace/snippets/aql.js +2 -7
  308. package/src/sap/ui/codeeditor/js/ace/snippets/asciidoc.js +1 -7
  309. package/src/sap/ui/codeeditor/js/ace/snippets/asl.js +1 -6
  310. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_x86.js +1 -7
  311. package/src/sap/ui/codeeditor/js/ace/snippets/autohotkey.js +1 -7
  312. package/src/sap/ui/codeeditor/js/ace/snippets/batchfile.js +1 -7
  313. package/src/sap/ui/codeeditor/js/ace/snippets/c9search.js +1 -7
  314. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +2 -3
  315. package/src/sap/ui/codeeditor/js/ace/snippets/cirru.js +1 -7
  316. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +2 -3
  317. package/src/sap/ui/codeeditor/js/ace/snippets/cobol.js +1 -7
  318. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +2 -3
  319. package/src/sap/ui/codeeditor/js/ace/snippets/coldfusion.js +1 -7
  320. package/src/sap/ui/codeeditor/js/ace/snippets/crystal.js +2 -7
  321. package/src/sap/ui/codeeditor/js/ace/snippets/csharp.js +1 -7
  322. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +2 -3
  323. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +2 -3
  324. package/src/sap/ui/codeeditor/js/ace/snippets/csound_score.js +1 -7
  325. package/src/sap/ui/codeeditor/js/ace/snippets/csp.js +1 -7
  326. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +2 -3
  327. package/src/sap/ui/codeeditor/js/ace/snippets/curly.js +1 -7
  328. package/src/sap/ui/codeeditor/js/ace/snippets/d.js +1 -7
  329. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +2 -3
  330. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +2 -3
  331. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +2 -3
  332. package/src/sap/ui/codeeditor/js/ace/snippets/dockerfile.js +1 -7
  333. package/src/sap/ui/codeeditor/js/ace/snippets/dot.js +1 -7
  334. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +2 -3
  335. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +2 -3
  336. package/src/sap/ui/codeeditor/js/ace/snippets/eiffel.js +1 -7
  337. package/src/sap/ui/codeeditor/js/ace/snippets/ejs.js +1 -7
  338. package/src/sap/ui/codeeditor/js/ace/snippets/elixir.js +1 -7
  339. package/src/sap/ui/codeeditor/js/ace/snippets/elm.js +1 -7
  340. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +2 -3
  341. package/src/sap/ui/codeeditor/js/ace/snippets/forth.js +1 -7
  342. package/src/sap/ui/codeeditor/js/ace/snippets/fortran.js +1 -7
  343. package/src/sap/ui/codeeditor/js/ace/snippets/fsharp.js +1 -7
  344. package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +2 -2
  345. package/src/sap/ui/codeeditor/js/ace/snippets/ftl.js +1 -7
  346. package/src/sap/ui/codeeditor/js/ace/snippets/gcode.js +1 -7
  347. package/src/sap/ui/codeeditor/js/ace/snippets/gherkin.js +1 -7
  348. package/src/sap/ui/codeeditor/js/ace/snippets/gitignore.js +1 -7
  349. package/src/sap/ui/codeeditor/js/ace/snippets/glsl.js +1 -7
  350. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +1695 -26
  351. package/src/sap/ui/codeeditor/js/ace/snippets/golang.js +1 -7
  352. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +2 -3
  353. package/src/sap/ui/codeeditor/js/ace/snippets/groovy.js +1 -7
  354. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +2 -3
  355. package/src/sap/ui/codeeditor/js/ace/snippets/handlebars.js +1 -7
  356. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +2 -3
  357. package/src/sap/ui/codeeditor/js/ace/snippets/haskell_cabal.js +1 -7
  358. package/src/sap/ui/codeeditor/js/ace/snippets/haxe.js +1 -7
  359. package/src/sap/ui/codeeditor/js/ace/snippets/hjson.js +1 -7
  360. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +4 -7
  361. package/src/sap/ui/codeeditor/js/ace/snippets/html_elixir.js +1 -7
  362. package/src/sap/ui/codeeditor/js/ace/snippets/html_ruby.js +1 -7
  363. package/src/sap/ui/codeeditor/js/ace/snippets/ini.js +1 -7
  364. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +2 -3
  365. package/src/sap/ui/codeeditor/js/ace/snippets/jack.js +1 -7
  366. package/src/sap/ui/codeeditor/js/ace/snippets/jade.js +1 -7
  367. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +2 -3
  368. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +2 -3
  369. package/src/sap/ui/codeeditor/js/ace/snippets/json.js +1 -7
  370. package/src/sap/ui/codeeditor/js/ace/snippets/json5.js +9 -0
  371. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +2 -3
  372. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +2 -3
  373. package/src/sap/ui/codeeditor/js/ace/snippets/jssm.js +1 -7
  374. package/src/sap/ui/codeeditor/js/ace/snippets/jsx.js +1 -7
  375. package/src/sap/ui/codeeditor/js/ace/snippets/julia.js +1 -7
  376. package/src/sap/ui/codeeditor/js/ace/snippets/kotlin.js +1 -7
  377. package/src/sap/ui/codeeditor/js/ace/snippets/latex.js +1 -7
  378. package/src/sap/ui/codeeditor/js/ace/snippets/latte.js +9 -0
  379. package/src/sap/ui/codeeditor/js/ace/snippets/less.js +1 -7
  380. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +884 -4
  381. package/src/sap/ui/codeeditor/js/ace/snippets/lisp.js +1 -7
  382. package/src/sap/ui/codeeditor/js/ace/snippets/livescript.js +1 -7
  383. package/src/sap/ui/codeeditor/js/ace/snippets/logiql.js +1 -7
  384. package/src/sap/ui/codeeditor/js/ace/snippets/logtalk.js +2 -7
  385. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +2 -3
  386. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +2 -3
  387. package/src/sap/ui/codeeditor/js/ace/snippets/luapage.js +1 -7
  388. package/src/sap/ui/codeeditor/js/ace/snippets/lucene.js +1 -7
  389. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +2 -3
  390. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +2 -3
  391. package/src/sap/ui/codeeditor/js/ace/snippets/mask.js +1 -7
  392. package/src/sap/ui/codeeditor/js/ace/snippets/matlab.js +1 -7
  393. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +2 -3
  394. package/src/sap/ui/codeeditor/js/ace/snippets/mediawiki.js +9 -0
  395. package/src/sap/ui/codeeditor/js/ace/snippets/mel.js +1 -7
  396. package/src/sap/ui/codeeditor/js/ace/snippets/mips.js +9 -0
  397. package/src/sap/ui/codeeditor/js/ace/snippets/mixal.js +1 -7
  398. package/src/sap/ui/codeeditor/js/ace/snippets/mushcode.js +1 -7
  399. package/src/sap/ui/codeeditor/js/ace/snippets/mysql.js +1 -7
  400. package/src/sap/ui/codeeditor/js/ace/snippets/nginx.js +2 -7
  401. package/src/sap/ui/codeeditor/js/ace/snippets/nim.js +2 -7
  402. package/src/sap/ui/codeeditor/js/ace/snippets/nix.js +1 -7
  403. package/src/sap/ui/codeeditor/js/ace/snippets/nsis.js +1 -7
  404. package/src/sap/ui/codeeditor/js/ace/snippets/nunjucks.js +9 -0
  405. package/src/sap/ui/codeeditor/js/ace/snippets/objectivec.js +1 -7
  406. package/src/sap/ui/codeeditor/js/ace/snippets/ocaml.js +1 -7
  407. package/src/sap/ui/codeeditor/js/ace/snippets/pascal.js +1 -7
  408. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +2 -3
  409. package/src/sap/ui/codeeditor/js/ace/snippets/pgsql.js +1 -7
  410. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +2 -3
  411. package/src/sap/ui/codeeditor/js/ace/snippets/php_laravel_blade.js +1 -7
  412. package/src/sap/ui/codeeditor/js/ace/snippets/pig.js +1 -7
  413. package/src/sap/ui/codeeditor/js/ace/snippets/plain_text.js +1 -7
  414. package/src/sap/ui/codeeditor/js/ace/snippets/powershell.js +1 -7
  415. package/src/sap/ui/codeeditor/js/ace/snippets/praat.js +1 -7
  416. package/src/sap/ui/codeeditor/js/ace/snippets/prisma.js +9 -0
  417. package/src/sap/ui/codeeditor/js/ace/snippets/prolog.js +1 -7
  418. package/src/sap/ui/codeeditor/js/ace/snippets/properties.js +1 -7
  419. package/src/sap/ui/codeeditor/js/ace/snippets/protobuf.js +1 -7
  420. package/src/sap/ui/codeeditor/js/ace/snippets/puppet.js +1 -7
  421. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +2 -3
  422. package/src/sap/ui/codeeditor/js/ace/snippets/qml.js +9 -0
  423. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +2 -3
  424. package/src/sap/ui/codeeditor/js/ace/snippets/raku.js +9 -0
  425. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +2 -3
  426. package/src/sap/ui/codeeditor/js/ace/snippets/rdoc.js +1 -7
  427. package/src/sap/ui/codeeditor/js/ace/snippets/red.js +1 -7
  428. package/src/sap/ui/codeeditor/js/ace/snippets/redshift.js +1 -7
  429. package/src/sap/ui/codeeditor/js/ace/snippets/rhtml.js +1 -7
  430. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +2 -3
  431. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +2 -3
  432. package/src/sap/ui/codeeditor/js/ace/snippets/rust.js +1 -7
  433. package/src/sap/ui/codeeditor/js/ace/snippets/sass.js +1 -7
  434. package/src/sap/ui/codeeditor/js/ace/snippets/scad.js +1 -7
  435. package/src/sap/ui/codeeditor/js/ace/snippets/scala.js +1 -7
  436. package/src/sap/ui/codeeditor/js/ace/snippets/scheme.js +1 -7
  437. package/src/sap/ui/codeeditor/js/ace/snippets/scrypt.js +9 -0
  438. package/src/sap/ui/codeeditor/js/ace/snippets/scss.js +1 -7
  439. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +2 -3
  440. package/src/sap/ui/codeeditor/js/ace/snippets/sjs.js +1 -7
  441. package/src/sap/ui/codeeditor/js/ace/snippets/slim.js +1 -7
  442. package/src/sap/ui/codeeditor/js/ace/snippets/smarty.js +1 -7
  443. package/src/sap/ui/codeeditor/js/ace/snippets/smithy.js +9 -0
  444. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +2 -3
  445. package/src/sap/ui/codeeditor/js/ace/snippets/soy_template.js +1 -7
  446. package/src/sap/ui/codeeditor/js/ace/snippets/space.js +1 -7
  447. package/src/sap/ui/codeeditor/js/ace/snippets/sparql.js +1 -7
  448. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +2 -3
  449. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +2 -3
  450. package/src/sap/ui/codeeditor/js/ace/snippets/stylus.js +1 -7
  451. package/src/sap/ui/codeeditor/js/ace/snippets/svg.js +1 -7
  452. package/src/sap/ui/codeeditor/js/ace/snippets/swift.js +1 -7
  453. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +2 -3
  454. package/src/sap/ui/codeeditor/js/ace/snippets/terraform.js +1 -7
  455. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +2 -3
  456. package/src/sap/ui/codeeditor/js/ace/snippets/text.js +1 -7
  457. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +2 -3
  458. package/src/sap/ui/codeeditor/js/ace/snippets/toml.js +1 -7
  459. package/src/sap/ui/codeeditor/js/ace/snippets/tsx.js +1 -7
  460. package/src/sap/ui/codeeditor/js/ace/snippets/turtle.js +1 -7
  461. package/src/sap/ui/codeeditor/js/ace/snippets/twig.js +1 -7
  462. package/src/sap/ui/codeeditor/js/ace/snippets/typescript.js +1 -7
  463. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +2 -3
  464. package/src/sap/ui/codeeditor/js/ace/snippets/vbscript.js +1 -7
  465. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +2 -3
  466. package/src/sap/ui/codeeditor/js/ace/snippets/verilog.js +1 -7
  467. package/src/sap/ui/codeeditor/js/ace/snippets/vhdl.js +1 -7
  468. package/src/sap/ui/codeeditor/js/ace/snippets/visualforce.js +2 -7
  469. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +2 -3
  470. package/src/sap/ui/codeeditor/js/ace/snippets/xml.js +1 -7
  471. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +2 -3
  472. package/src/sap/ui/codeeditor/js/ace/snippets/yaml.js +1 -7
  473. package/src/sap/ui/codeeditor/js/ace/snippets/zeek.js +9 -0
  474. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -4
  475. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +3 -3
  476. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +2 -2
  477. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +2 -2
  478. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +2 -2
  479. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +2 -2
  480. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +2 -2
  481. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +2 -2
  482. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +2 -2
  483. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +2 -2
  484. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +2 -2
  485. package/src/sap/ui/codeeditor/js/ace/theme-github.js +2 -2
  486. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +2 -2
  487. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +2 -2
  488. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +2 -2
  489. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +2 -2
  490. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +2 -2
  491. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +2 -2
  492. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +2 -2
  493. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +2 -2
  494. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +2 -2
  495. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +2 -2
  496. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +2 -2
  497. package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +102 -0
  498. package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +139 -0
  499. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +2 -2
  500. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +2 -2
  501. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +2 -2
  502. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +2 -2
  503. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +2 -2
  504. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +2 -2
  505. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +2 -2
  506. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +2 -2
  507. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +2 -2
  508. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +2 -2
  509. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +2 -2
  510. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +5 -5
  511. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +2 -2
  512. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +2 -2
  513. package/src/sap/ui/codeeditor/js/ace/worker-base.js +1421 -0
  514. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +17 -703
  515. package/src/sap/ui/codeeditor/js/ace/worker-css.js +3629 -3396
  516. package/src/sap/ui/codeeditor/js/ace/worker-html.js +17 -703
  517. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +7831 -5361
  518. package/src/sap/ui/codeeditor/js/ace/worker-json.js +17 -703
  519. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +973 -1001
  520. package/src/sap/ui/codeeditor/js/ace/worker-php.js +859 -1477
  521. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +26 -707
  522. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +17 -703
  523. package/src/sap/ui/codeeditor/library.js +2 -2
  524. package/ui5.yaml +4 -1
  525. package/src/sap/ui/codeeditor/js/ace/LICENSE.txt +0 -24
  526. package/src/sap/ui/codeeditor/js/ace/ext-chromevox.js +0 -540
  527. package/src/sap/ui/codeeditor/js/ace/ext-old_ie.js +0 -502
  528. package/src/sap/ui/codeeditor/js/ace/mode-bro.js +0 -334
  529. package/src/sap/ui/codeeditor/js/ace/mode-lean.js +0 -281
  530. package/src/sap/ui/codeeditor/js/ace/mode-live_script.js +0 -481
  531. package/src/sap/ui/codeeditor/js/ace/mode-mavens_mate_log.js +0 -160
  532. package/src/sap/ui/codeeditor/js/ace/mode-mips_assembler.js +0 -235
  533. package/src/sap/ui/codeeditor/js/ace/mode-swig.js +0 -1099
  534. package/src/sap/ui/codeeditor/js/ace/snippets/bro.js +0 -15
  535. package/src/sap/ui/codeeditor/js/ace/snippets/lean.js +0 -7
  536. package/src/sap/ui/codeeditor/js/ace/snippets/live_script.js +0 -7
  537. package/src/sap/ui/codeeditor/js/ace/snippets/mips_assembler.js +0 -7
  538. package/src/sap/ui/codeeditor/js/ace/snippets/mipsassembler.js +0 -7
  539. package/src/sap/ui/codeeditor/js/ace/snippets/perl6.js +0 -14
  540. package/src/sap/ui/codeeditor/js/ace/snippets/swig.js +0 -7
@@ -1,13 +1,89 @@
1
- ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"], function(require, exports, module) {
1
+ ace.define("ace/snippets",[], function(require, exports, module) {
2
2
  "use strict";
3
+ var dom = require("./lib/dom");
3
4
  var oop = require("./lib/oop");
4
5
  var EventEmitter = require("./lib/event_emitter").EventEmitter;
5
6
  var lang = require("./lib/lang");
6
7
  var Range = require("./range").Range;
7
- var Anchor = require("./anchor").Anchor;
8
+ var RangeList = require("./range_list").RangeList;
8
9
  var HashHandler = require("./keyboard/hash_handler").HashHandler;
9
10
  var Tokenizer = require("./tokenizer").Tokenizer;
10
- var comparePoints = Range.comparePoints;
11
+ var clipboard = require("./clipboard");
12
+
13
+ var VARIABLES = {
14
+ CURRENT_WORD: function(editor) {
15
+ return editor.session.getTextRange(editor.session.getWordRange());
16
+ },
17
+ SELECTION: function(editor, name, indentation) {
18
+ var text = editor.session.getTextRange();
19
+ if (indentation)
20
+ return text.replace(/\n\r?([ \t]*\S)/g, "\n" + indentation + "$1");
21
+ return text;
22
+ },
23
+ CURRENT_LINE: function(editor) {
24
+ return editor.session.getLine(editor.getCursorPosition().row);
25
+ },
26
+ PREV_LINE: function(editor) {
27
+ return editor.session.getLine(editor.getCursorPosition().row - 1);
28
+ },
29
+ LINE_INDEX: function(editor) {
30
+ return editor.getCursorPosition().row;
31
+ },
32
+ LINE_NUMBER: function(editor) {
33
+ return editor.getCursorPosition().row + 1;
34
+ },
35
+ SOFT_TABS: function(editor) {
36
+ return editor.session.getUseSoftTabs() ? "YES" : "NO";
37
+ },
38
+ TAB_SIZE: function(editor) {
39
+ return editor.session.getTabSize();
40
+ },
41
+ CLIPBOARD: function(editor) {
42
+ return clipboard.getText && clipboard.getText();
43
+ },
44
+ FILENAME: function(editor) {
45
+ return /[^/\\]*$/.exec(this.FILEPATH(editor))[0];
46
+ },
47
+ FILENAME_BASE: function(editor) {
48
+ return /[^/\\]*$/.exec(this.FILEPATH(editor))[0].replace(/\.[^.]*$/, "");
49
+ },
50
+ DIRECTORY: function(editor) {
51
+ return this.FILEPATH(editor).replace(/[^/\\]*$/, "");
52
+ },
53
+ FILEPATH: function(editor) { return "/not implemented.txt"; },
54
+ WORKSPACE_NAME: function() { return "Unknown"; },
55
+ FULLNAME: function() { return "Unknown"; },
56
+ BLOCK_COMMENT_START: function(editor) {
57
+ var mode = editor.session.$mode || {};
58
+ return mode.blockComment && mode.blockComment.start || "";
59
+ },
60
+ BLOCK_COMMENT_END: function(editor) {
61
+ var mode = editor.session.$mode || {};
62
+ return mode.blockComment && mode.blockComment.end || "";
63
+ },
64
+ LINE_COMMENT: function(editor) {
65
+ var mode = editor.session.$mode || {};
66
+ return mode.lineCommentStart || "";
67
+ },
68
+ CURRENT_YEAR: date.bind(null, {year: "numeric"}),
69
+ CURRENT_YEAR_SHORT: date.bind(null, {year: "2-digit"}),
70
+ CURRENT_MONTH: date.bind(null, {month: "numeric"}),
71
+ CURRENT_MONTH_NAME: date.bind(null, {month: "long"}),
72
+ CURRENT_MONTH_NAME_SHORT: date.bind(null, {month: "short"}),
73
+ CURRENT_DATE: date.bind(null, {day: "2-digit"}),
74
+ CURRENT_DAY_NAME: date.bind(null, {weekday: "long"}),
75
+ CURRENT_DAY_NAME_SHORT: date.bind(null, {weekday: "short"}),
76
+ CURRENT_HOUR: date.bind(null, {hour: "2-digit", hour12: false}),
77
+ CURRENT_MINUTE: date.bind(null, {minute: "2-digit"}),
78
+ CURRENT_SECOND: date.bind(null, {second: "2-digit"})
79
+ };
80
+
81
+ VARIABLES.SELECTED_TEXT = VARIABLES.SELECTION;
82
+
83
+ function date(dateFormat) {
84
+ var str = new Date().toLocaleString("en-us", dateFormat);
85
+ return str.length == 1 ? "0" + str : str;
86
+ }
11
87
 
12
88
  var SnippetManager = function() {
13
89
  this.snippetMap = {};
@@ -18,41 +94,40 @@ var SnippetManager = function() {
18
94
  oop.implement(this, EventEmitter);
19
95
 
20
96
  this.getTokenizer = function() {
21
- function TabstopToken(str, _, stack) {
97
+ return SnippetManager.$tokenizer || this.createTokenizer();
98
+ };
99
+
100
+ this.createTokenizer = function() {
101
+ function TabstopToken(str) {
22
102
  str = str.substr(1);
23
- if (/^\d+$/.test(str) && !stack.inFormatString)
103
+ if (/^\d+$/.test(str))
24
104
  return [{tabstopId: parseInt(str, 10)}];
25
105
  return [{text: str}];
26
106
  }
27
107
  function escape(ch) {
28
108
  return "(?:[^\\\\" + ch + "]|\\\\.)";
29
109
  }
110
+ var formatMatcher = {
111
+ regex: "/(" + escape("/") + "+)/",
112
+ onMatch: function(val, state, stack) {
113
+ var ts = stack[0];
114
+ ts.fmtString = true;
115
+ ts.guard = val.slice(1, -1);
116
+ ts.flag = "";
117
+ return "";
118
+ },
119
+ next: "formatString"
120
+ };
121
+
30
122
  SnippetManager.$tokenizer = new Tokenizer({
31
123
  start: [
32
- {regex: /:/, onMatch: function(val, state, stack) {
33
- if (stack.length && stack[0].expectIf) {
34
- stack[0].expectIf = false;
35
- stack[0].elseBranch = stack[0];
36
- return [stack[0]];
37
- }
38
- return ":";
39
- }},
40
124
  {regex: /\\./, onMatch: function(val, state, stack) {
41
125
  var ch = val[1];
42
126
  if (ch == "}" && stack.length) {
43
127
  val = ch;
44
- }else if ("`$\\".indexOf(ch) != -1) {
128
+ } else if ("`$\\".indexOf(ch) != -1) {
45
129
  val = ch;
46
- } else if (stack.inFormatString) {
47
- if (ch == "n")
48
- val = "\n";
49
- else if (ch == "t")
50
- val = "\n";
51
- else if ("ulULE".indexOf(ch) != -1) {
52
- val = {changeCase: ch, local: ch > "a"};
53
- }
54
130
  }
55
-
56
131
  return [val];
57
132
  }},
58
133
  {regex: /}/, onMatch: function(val, state, stack) {
@@ -60,7 +135,7 @@ var SnippetManager = function() {
60
135
  }},
61
136
  {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
62
137
  {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
63
- var t = TabstopToken(str.substr(1), state, stack);
138
+ var t = TabstopToken(str.substr(1));
64
139
  stack.unshift(t[0]);
65
140
  return t;
66
141
  }, next: "snippetVar"},
@@ -68,39 +143,78 @@ var SnippetManager = function() {
68
143
  ],
69
144
  snippetVar: [
70
145
  {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
71
- stack[0].choices = val.slice(1, -1).split(",");
72
- }, next: "start"},
73
- {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
74
- onMatch: function(val, state, stack) {
75
- var ts = stack[0];
76
- ts.fmtString = val;
77
-
78
- val = this.splitRegex.exec(val);
79
- ts.guard = val[1];
80
- ts.fmt = val[2];
81
- ts.flag = val[3];
82
- return "";
83
- }, next: "start"},
84
- {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
85
- stack[0].code = val.splice(1, -1);
86
- return "";
87
- }, next: "start"},
88
- {regex: "\\?", onMatch: function(val, state, stack) {
89
- if (stack[0])
90
- stack[0].expectIf = true;
146
+ var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) {
147
+ return operator.length == 2 ? operator[1] : "\x00";
148
+ }).split("\x00").map(function(value){
149
+ return {value: value};
150
+ });
151
+ stack[0].choices = choices;
152
+ return [choices[0]];
91
153
  }, next: "start"},
154
+ formatMatcher,
92
155
  {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
93
156
  ],
94
157
  formatString: [
95
- {regex: "/(" + escape("/") + "+)/", token: "regex"},
96
- {regex: "", onMatch: function(val, state, stack) {
97
- stack.inFormatString = true;
158
+ {regex: /:/, onMatch: function(val, state, stack) {
159
+ if (stack.length && stack[0].expectElse) {
160
+ stack[0].expectElse = false;
161
+ stack[0].ifEnd = {elseEnd: stack[0]};
162
+ return [stack[0].ifEnd];
163
+ }
164
+ return ":";
165
+ }},
166
+ {regex: /\\./, onMatch: function(val, state, stack) {
167
+ var ch = val[1];
168
+ if (ch == "}" && stack.length)
169
+ val = ch;
170
+ else if ("`$\\".indexOf(ch) != -1)
171
+ val = ch;
172
+ else if (ch == "n")
173
+ val = "\n";
174
+ else if (ch == "t")
175
+ val = "\t";
176
+ else if ("ulULE".indexOf(ch) != -1)
177
+ val = {changeCase: ch, local: ch > "a"};
178
+ return [val];
179
+ }},
180
+ {regex: "/\\w*}", onMatch: function(val, state, stack) {
181
+ var next = stack.shift();
182
+ if (next)
183
+ next.flag = val.slice(1, -1);
184
+ this.next = next && next.tabstopId ? "start" : "";
185
+ return [next || val];
186
+ }, next: "start"},
187
+ {regex: /\$(?:\d+|\w+)/, onMatch: function(val, state, stack) {
188
+ return [{text: val.slice(1)}];
189
+ }},
190
+ {regex: /\${\w+/, onMatch: function(val, state, stack) {
191
+ var token = {text: val.slice(2)};
192
+ stack.unshift(token);
193
+ return [token];
194
+ }, next: "formatStringVar"},
195
+ {regex: /\n/, token: "newline", merge: false},
196
+ {regex: /}/, onMatch: function(val, state, stack) {
197
+ var next = stack.shift();
198
+ this.next = next && next.tabstopId ? "start" : "";
199
+ return [next || val];
98
200
  }, next: "start"}
201
+ ],
202
+ formatStringVar: [
203
+ {regex: /:\/\w+}/, onMatch: function(val, state, stack) {
204
+ var ts = stack[0];
205
+ ts.formatFunction = val.slice(2, -1);
206
+ return [stack.shift()];
207
+ }, next: "formatString"},
208
+ formatMatcher,
209
+ {regex: /:[\?\-+]?/, onMatch: function(val, state, stack) {
210
+ if (val[1] == "+")
211
+ stack[0].ifEnd = stack[0];
212
+ if (val[1] == "?")
213
+ stack[0].expectElse = true;
214
+ }, next: "formatString"},
215
+ {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "formatString"}
99
216
  ]
100
217
  });
101
- SnippetManager.prototype.getTokenizer = function() {
102
- return SnippetManager.$tokenizer;
103
- };
104
218
  return SnippetManager.$tokenizer;
105
219
  };
106
220
 
@@ -109,59 +223,33 @@ var SnippetManager = function() {
109
223
  return x.value || x;
110
224
  });
111
225
  };
112
-
113
- this.$getDefaultValue = function(editor, name) {
114
- if (/^[A-Z]\d+$/.test(name)) {
115
- var i = name.substr(1);
116
- return (this.variables[name[0] + "__"] || {})[i];
117
- }
118
- if (/^\d+$/.test(name)) {
119
- return (this.variables.__ || {})[name];
120
- }
226
+
227
+ this.getVariableValue = function(editor, name, indentation) {
228
+ if (/^\d+$/.test(name))
229
+ return (this.variables.__ || {})[name] || "";
230
+ if (/^[A-Z]\d+$/.test(name))
231
+ return (this.variables[name[0] + "__"] || {})[name.substr(1)] || "";
232
+
121
233
  name = name.replace(/^TM_/, "");
122
-
123
- if (!editor)
124
- return;
125
- var s = editor.session;
126
- switch(name) {
127
- case "CURRENT_WORD":
128
- var r = s.getWordRange();
129
- case "SELECTION":
130
- case "SELECTED_TEXT":
131
- return s.getTextRange(r);
132
- case "CURRENT_LINE":
133
- return s.getLine(editor.getCursorPosition().row);
134
- case "PREV_LINE": // not possible in textmate
135
- return s.getLine(editor.getCursorPosition().row - 1);
136
- case "LINE_INDEX":
137
- return editor.getCursorPosition().column;
138
- case "LINE_NUMBER":
139
- return editor.getCursorPosition().row + 1;
140
- case "SOFT_TABS":
141
- return s.getUseSoftTabs() ? "YES" : "NO";
142
- case "TAB_SIZE":
143
- return s.getTabSize();
144
- case "FILENAME":
145
- case "FILEPATH":
146
- return "";
147
- case "FULLNAME":
148
- return "Ace";
149
- }
150
- };
151
- this.variables = {};
152
- this.getVariableValue = function(editor, varName) {
153
- if (this.variables.hasOwnProperty(varName))
154
- return this.variables[varName](editor, varName) || "";
155
- return this.$getDefaultValue(editor, varName) || "";
234
+ if (!this.variables.hasOwnProperty(name))
235
+ return "";
236
+ var value = this.variables[name];
237
+ if (typeof value == "function")
238
+ value = this.variables[name](editor, name, indentation);
239
+ return value == null ? "" : value;
156
240
  };
241
+
242
+ this.variables = VARIABLES;
157
243
  this.tmStrFormat = function(str, ch, editor) {
244
+ if (!ch.fmt) return str;
158
245
  var flag = ch.flag || "";
159
246
  var re = ch.guard;
160
- re = new RegExp(re, flag.replace(/[^gi]/, ""));
161
- var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
247
+ re = new RegExp(re, flag.replace(/[^gim]/g, ""));
248
+ var fmtTokens = typeof ch.fmt == "string" ? this.tokenizeTmSnippet(ch.fmt, "formatString") : ch.fmt;
162
249
  var _self = this;
163
250
  var formatted = str.replace(re, function() {
164
- _self.variables.__ = arguments;
251
+ var oldArgs = _self.variables.__;
252
+ _self.variables.__ = [].slice.call(arguments);
165
253
  var fmtParts = _self.resolveVariables(fmtTokens, editor);
166
254
  var gChangeCase = "E";
167
255
  for (var i = 0; i < fmtParts.length; i++) {
@@ -186,40 +274,63 @@ var SnippetManager = function() {
186
274
  fmtParts[i] = ch.toLowerCase();
187
275
  }
188
276
  }
277
+ _self.variables.__ = oldArgs;
189
278
  return fmtParts.join("");
190
279
  });
191
- this.variables.__ = null;
192
280
  return formatted;
193
281
  };
282
+
283
+ this.tmFormatFunction = function(str, ch, editor) {
284
+ if (ch.formatFunction == "upcase")
285
+ return str.toUpperCase();
286
+ if (ch.formatFunction == "downcase")
287
+ return str.toLowerCase();
288
+ return str;
289
+ };
194
290
 
195
291
  this.resolveVariables = function(snippet, editor) {
196
292
  var result = [];
293
+ var indentation = "";
294
+ var afterNewLine = true;
197
295
  for (var i = 0; i < snippet.length; i++) {
198
296
  var ch = snippet[i];
199
297
  if (typeof ch == "string") {
200
298
  result.push(ch);
201
- } else if (typeof ch != "object") {
202
- continue;
203
- } else if (ch.skip) {
204
- gotoNext(ch);
205
- } else if (ch.processed < i) {
299
+ if (ch == "\n") {
300
+ afterNewLine = true;
301
+ indentation = "";
302
+ }
303
+ else if (afterNewLine) {
304
+ indentation = /^\t*/.exec(ch)[0];
305
+ afterNewLine = /\S/.test(ch);
306
+ }
206
307
  continue;
207
- } else if (ch.text) {
208
- var value = this.getVariableValue(editor, ch.text);
209
- if (value && ch.fmtString)
210
- value = this.tmStrFormat(value, ch);
211
- ch.processed = i;
212
- if (ch.expectIf == null) {
213
- if (value) {
214
- result.push(value);
215
- gotoNext(ch);
216
- }
217
- } else {
218
- if (value) {
219
- ch.skip = ch.elseBranch;
220
- } else
221
- gotoNext(ch);
308
+ }
309
+ if (!ch) continue;
310
+ afterNewLine = false;
311
+
312
+ if (ch.fmtString) {
313
+ var j = snippet.indexOf(ch, i + 1);
314
+ if (j == -1) j = snippet.length;
315
+ ch.fmt = snippet.slice(i + 1, j);
316
+ i = j;
317
+ }
318
+
319
+ if (ch.text) {
320
+ var value = this.getVariableValue(editor, ch.text, indentation) + "";
321
+ if (ch.fmtString)
322
+ value = this.tmStrFormat(value, ch, editor);
323
+ if (ch.formatFunction)
324
+ value = this.tmFormatFunction(value, ch, editor);
325
+
326
+ if (value && !ch.ifEnd) {
327
+ result.push(value);
328
+ gotoNext(ch);
329
+ } else if (!value && ch.ifEnd) {
330
+ gotoNext(ch.ifEnd);
222
331
  }
332
+ } else if (ch.elseEnd) {
333
+ gotoNext(ch.elseEnd);
223
334
  } else if (ch.tabstopId != null) {
224
335
  result.push(ch);
225
336
  } else if (ch.changeCase != null) {
@@ -263,9 +374,12 @@ var SnippetManager = function() {
263
374
  ts = tabstops[id] = [];
264
375
  ts.index = id;
265
376
  ts.value = "";
377
+ ts.parents = {};
266
378
  }
267
379
  if (ts.indexOf(p) !== -1)
268
380
  return;
381
+ if (p.choices && !ts.choices)
382
+ ts.choices = p.choices;
269
383
  ts.push(p);
270
384
  var i1 = tokens.indexOf(p, i + 1);
271
385
  if (i1 === -1)
@@ -300,19 +414,24 @@ var SnippetManager = function() {
300
414
  if (typeof p != "object")
301
415
  continue;
302
416
  var id = p.tabstopId;
417
+ var ts = tabstops[id];
303
418
  var i1 = tokens.indexOf(p, i + 1);
304
419
  if (expanding[id]) {
305
- if (expanding[id] === p)
306
- expanding[id] = null;
420
+ if (expanding[id] === p) {
421
+ delete expanding[id];
422
+ Object.keys(expanding).forEach(function(parentId) {
423
+ ts.parents[parentId] = true;
424
+ });
425
+ }
307
426
  continue;
308
427
  }
309
-
310
- var ts = tabstops[id];
311
- var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
312
- arg.unshift(i + 1, Math.max(0, i1 - i));
313
- arg.push(p);
314
428
  expanding[id] = p;
315
- tokens.splice.apply(tokens, arg);
429
+ var value = ts.value;
430
+ if (typeof value !== "string")
431
+ value = copyValue(value);
432
+ else if (p.fmt)
433
+ value = this.tmStrFormat(value, p, editor);
434
+ tokens.splice.apply(tokens, [i + 1, Math.max(0, i1 - i)].concat(value, p));
316
435
 
317
436
  if (ts.indexOf(p) === -1)
318
437
  ts.push(p);
@@ -328,7 +447,7 @@ var SnippetManager = function() {
328
447
  } else
329
448
  column += t.length;
330
449
  text += t;
331
- } else {
450
+ } else if (t) {
332
451
  if (!t.start)
333
452
  t.start = {row: row, column: column};
334
453
  else
@@ -499,6 +618,12 @@ var SnippetManager = function() {
499
618
  }
500
619
  snippetMap[scope].push(s);
501
620
 
621
+ if (s.prefix)
622
+ s.tabTrigger = s.prefix;
623
+
624
+ if (!s.content && s.body)
625
+ s.content = Array.isArray(s.body) ? s.body.join("\n") : s.body;
626
+
502
627
  if (s.tabTrigger && !s.trigger) {
503
628
  if (!s.guard && /^\w/.test(s.tabTrigger))
504
629
  s.guard = "\\b";
@@ -515,10 +640,13 @@ var SnippetManager = function() {
515
640
  s.endTriggerRe = new RegExp(s.endTrigger);
516
641
  }
517
642
 
518
- if (snippets && snippets.content)
519
- addSnippet(snippets);
520
- else if (Array.isArray(snippets))
643
+ if (Array.isArray(snippets)) {
521
644
  snippets.forEach(addSnippet);
645
+ } else {
646
+ Object.keys(snippets).forEach(function(key) {
647
+ addSnippet(snippets[key]);
648
+ });
649
+ }
522
650
 
523
651
  this._signal("registerSnippets", {scope: scope});
524
652
  };
@@ -568,7 +696,7 @@ var SnippetManager = function() {
568
696
  snippet.tabTrigger = val.match(/^\S*/)[0];
569
697
  if (!snippet.name)
570
698
  snippet.name = val;
571
- } else {
699
+ } else if (key) {
572
700
  snippet[key] = val;
573
701
  }
574
702
  }
@@ -630,66 +758,44 @@ var TabstopManager = function(editor) {
630
758
  };
631
759
 
632
760
  this.onChange = function(delta) {
633
- var changeRange = delta;
634
761
  var isRemove = delta.action[0] == "r";
635
- var start = delta.start;
636
- var end = delta.end;
637
- var startRow = start.row;
638
- var endRow = end.row;
639
- var lineDif = endRow - startRow;
640
- var colDiff = end.column - start.column;
641
-
642
- if (isRemove) {
643
- lineDif = -lineDif;
644
- colDiff = -colDiff;
645
- }
646
- if (!this.$inChange && isRemove) {
647
- var ts = this.selectedTabstop;
648
- var changedOutside = ts && !ts.some(function(r) {
649
- return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
650
- });
651
- if (changedOutside)
652
- return this.detach();
653
- }
654
- var ranges = this.ranges;
655
- for (var i = 0; i < ranges.length; i++) {
656
- var r = ranges[i];
657
- if (r.end.row < start.row)
658
- continue;
659
-
660
- if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
661
- this.removeRange(r);
662
- i--;
663
- continue;
762
+ var selectedTabstop = this.selectedTabstop || {};
763
+ var parents = selectedTabstop.parents || {};
764
+ var tabstops = (this.tabstops || []).slice();
765
+ for (var i = 0; i < tabstops.length; i++) {
766
+ var ts = tabstops[i];
767
+ var active = ts == selectedTabstop || parents[ts.index];
768
+ ts.rangeList.$bias = active ? 0 : 1;
769
+
770
+ if (delta.action == "remove" && ts !== selectedTabstop) {
771
+ var parentActive = ts.parents && ts.parents[selectedTabstop.index];
772
+ var startIndex = ts.rangeList.pointIndex(delta.start, parentActive);
773
+ startIndex = startIndex < 0 ? -startIndex - 1 : startIndex + 1;
774
+ var endIndex = ts.rangeList.pointIndex(delta.end, parentActive);
775
+ endIndex = endIndex < 0 ? -endIndex - 1 : endIndex - 1;
776
+ var toRemove = ts.rangeList.ranges.slice(startIndex, endIndex);
777
+ for (var j = 0; j < toRemove.length; j++)
778
+ this.removeRange(toRemove[j]);
664
779
  }
665
-
666
- if (r.start.row == startRow && r.start.column > start.column)
667
- r.start.column += colDiff;
668
- if (r.end.row == startRow && r.end.column >= start.column)
669
- r.end.column += colDiff;
670
- if (r.start.row >= startRow)
671
- r.start.row += lineDif;
672
- if (r.end.row >= startRow)
673
- r.end.row += lineDif;
674
-
675
- if (comparePoints(r.start, r.end) > 0)
676
- this.removeRange(r);
780
+ ts.rangeList.$onChange(delta);
677
781
  }
678
- if (!ranges.length)
782
+ var session = this.editor.session;
783
+ if (!this.$inChange && isRemove && session.getLength() == 1 && !session.getValue())
679
784
  this.detach();
680
785
  };
681
786
  this.updateLinkedFields = function() {
682
787
  var ts = this.selectedTabstop;
683
- if (!ts || !ts.hasLinkedRanges)
788
+ if (!ts || !ts.hasLinkedRanges || !ts.firstNonLinked)
684
789
  return;
685
790
  this.$inChange = true;
686
791
  var session = this.editor.session;
687
792
  var text = session.getTextRange(ts.firstNonLinked);
688
- for (var i = ts.length; i--;) {
793
+ for (var i = 0; i < ts.length; i++) {
689
794
  var range = ts[i];
690
795
  if (!range.linked)
691
796
  continue;
692
- var fmt = exports.snippetManager.tmStrFormat(text, range.original);
797
+ var original = range.original;
798
+ var fmt = exports.snippetManager.tmStrFormat(text, original, this.editor);
693
799
  session.replace(range, fmt);
694
800
  }
695
801
  this.$inChange = false;
@@ -704,7 +810,7 @@ var TabstopManager = function(editor) {
704
810
  var lead = this.editor.selection.lead;
705
811
  var anchor = this.editor.selection.anchor;
706
812
  var isEmpty = this.editor.selection.isEmpty();
707
- for (var i = this.ranges.length; i--;) {
813
+ for (var i = 0; i < this.ranges.length; i++) {
708
814
  if (this.ranges[i].linked)
709
815
  continue;
710
816
  var containsLead = this.ranges[i].contains(lead.row, lead.column);
@@ -738,23 +844,27 @@ var TabstopManager = function(editor) {
738
844
  return;
739
845
 
740
846
  this.selectedTabstop = ts;
741
- if (!this.editor.inVirtualSelectionMode) {
847
+ var range = ts.firstNonLinked || ts;
848
+ if (ts.choices) range.cursor = range.start;
849
+ if (!this.editor.inVirtualSelectionMode) {
742
850
  var sel = this.editor.multiSelect;
743
- sel.toSingleRange(ts.firstNonLinked.clone());
744
- for (var i = ts.length; i--;) {
851
+ sel.toSingleRange(range);
852
+ for (var i = 0; i < ts.length; i++) {
745
853
  if (ts.hasLinkedRanges && ts[i].linked)
746
854
  continue;
747
855
  sel.addRange(ts[i].clone(), true);
748
856
  }
749
- if (sel.ranges[0])
750
- sel.addRange(sel.ranges[0].clone());
751
857
  } else {
752
- this.editor.selection.setRange(ts.firstNonLinked);
858
+ this.editor.selection.fromOrientedRange(range);
753
859
  }
754
860
 
755
861
  this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
862
+ if (this.selectedTabstop && this.selectedTabstop.choices)
863
+ this.editor.execCommand("startAutocomplete", {matches: this.selectedTabstop.choices});
756
864
  };
757
865
  this.addTabstops = function(tabstops, start, end) {
866
+ var useLink = this.useLink || !this.editor.getOption("enableMultiselect");
867
+
758
868
  if (!this.$openTabstops)
759
869
  this.$openTabstops = [];
760
870
  if (!tabstops[0]) {
@@ -770,8 +880,8 @@ var TabstopManager = function(editor) {
770
880
  var ranges = this.ranges;
771
881
  tabstops.forEach(function(ts, index) {
772
882
  var dest = this.$openTabstops[index] || ts;
773
-
774
- for (var i = ts.length; i--;) {
883
+
884
+ for (var i = 0; i < ts.length; i++) {
775
885
  var p = ts[i];
776
886
  var range = Range.fromPoints(p.start, p.end || p.start);
777
887
  movePoint(range.start, start);
@@ -783,7 +893,7 @@ var TabstopManager = function(editor) {
783
893
  dest.unshift(range);
784
894
  else
785
895
  dest[i] = range;
786
- if (p.fmtString) {
896
+ if (p.fmtString || (dest.firstNonLinked && useLink)) {
787
897
  range.linked = true;
788
898
  dest.hasLinkedRanges = true;
789
899
  } else if (!dest.firstNonLinked)
@@ -796,6 +906,9 @@ var TabstopManager = function(editor) {
796
906
  this.$openTabstops[index] = dest;
797
907
  }
798
908
  this.addTabstopMarkers(dest);
909
+ dest.rangeList = dest.rangeList || new RangeList();
910
+ dest.rangeList.$bias = 0;
911
+ dest.rangeList.addList(dest);
799
912
  }, this);
800
913
 
801
914
  if (arg.length > 2) {
@@ -821,9 +934,11 @@ var TabstopManager = function(editor) {
821
934
  };
822
935
  this.removeRange = function(range) {
823
936
  var i = range.tabstop.indexOf(range);
824
- range.tabstop.splice(i, 1);
937
+ if (i != -1) range.tabstop.splice(i, 1);
825
938
  i = this.ranges.indexOf(range);
826
- this.ranges.splice(i, 1);
939
+ if (i != -1) this.ranges.splice(i, 1);
940
+ i = range.tabstop.rangeList.ranges.indexOf(range);
941
+ if (i != -1) range.tabstop.splice(i, 1);
827
942
  this.editor.session.removeMarker(range.markerId);
828
943
  if (!range.tabstop.length) {
829
944
  i = this.tabstops.indexOf(range.tabstop);
@@ -836,39 +951,24 @@ var TabstopManager = function(editor) {
836
951
 
837
952
  this.keyboardHandler = new HashHandler();
838
953
  this.keyboardHandler.bindKeys({
839
- "Tab": function(ed) {
840
- if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
954
+ "Tab": function(editor) {
955
+ if (exports.snippetManager && exports.snippetManager.expandWithTab(editor))
841
956
  return;
842
- }
843
-
844
- ed.tabstopManager.tabNext(1);
845
- },
846
- "Shift-Tab": function(ed) {
847
- ed.tabstopManager.tabNext(-1);
957
+ editor.tabstopManager.tabNext(1);
958
+ editor.renderer.scrollCursorIntoView();
848
959
  },
849
- "Esc": function(ed) {
850
- ed.tabstopManager.detach();
960
+ "Shift-Tab": function(editor) {
961
+ editor.tabstopManager.tabNext(-1);
962
+ editor.renderer.scrollCursorIntoView();
851
963
  },
852
- "Return": function(ed) {
853
- return false;
964
+ "Esc": function(editor) {
965
+ editor.tabstopManager.detach();
854
966
  }
855
967
  });
856
968
  }).call(TabstopManager.prototype);
857
969
 
858
970
 
859
971
 
860
- var changeTracker = {};
861
- changeTracker.onChange = Anchor.prototype.onChange;
862
- changeTracker.setPosition = function(row, column) {
863
- this.pos.row = row;
864
- this.pos.column = column;
865
- };
866
- changeTracker.update = function(pos, delta, $insertRight) {
867
- this.$insertRight = $insertRight;
868
- this.pos = pos;
869
- this.onChange(delta);
870
- };
871
-
872
972
  var movePoint = function(point, diff) {
873
973
  if (point.row == 0)
874
974
  point.column += diff.column;
@@ -882,14 +982,14 @@ var moveRelative = function(point, start) {
882
982
  };
883
983
 
884
984
 
885
- require("./lib/dom").importCssString("\
985
+ dom.importCssString("\
886
986
  .ace_snippet-marker {\
887
987
  -moz-box-sizing: border-box;\
888
988
  box-sizing: border-box;\
889
989
  background: rgba(194, 193, 208, 0.09);\
890
990
  border: 1px dotted rgba(211, 208, 235, 0.62);\
891
991
  position: absolute;\
892
- }");
992
+ }", "snippets.css", false);
893
993
 
894
994
  exports.snippetManager = new SnippetManager();
895
995
 
@@ -906,12 +1006,13 @@ var Editor = require("./editor").Editor;
906
1006
 
907
1007
  });
908
1008
 
909
- ace.define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","resources","resources","tabStops","resources","utils","actions","ace/config","ace/config"], function(require, exports, module) {
1009
+ ace.define("ace/ext/emmet",[], function(require, exports, module) {
910
1010
  "use strict";
911
- var HashHandler = require("ace/keyboard/hash_handler").HashHandler;
912
- var Editor = require("ace/editor").Editor;
913
- var snippetManager = require("ace/snippets").snippetManager;
914
- var Range = require("ace/range").Range;
1011
+ var HashHandler = require("../keyboard/hash_handler").HashHandler;
1012
+ var Editor = require("../editor").Editor;
1013
+ var snippetManager = require("../snippets").snippetManager;
1014
+ var Range = require("../range").Range;
1015
+ var config = require("../config");
915
1016
  var emmet, emmetPath;
916
1017
  function AceEmmetEditor() {}
917
1018
 
@@ -1019,7 +1120,7 @@ AceEmmetEditor.prototype = {
1019
1120
  }
1020
1121
  },
1021
1122
  prompt: function(title) {
1022
- return prompt(title);
1123
+ return prompt(title); // eslint-disable-line no-alert
1023
1124
  },
1024
1125
  getSelection: function() {
1025
1126
  return this.ace.session.getTextRange();
@@ -1106,18 +1207,17 @@ var keymap = {
1106
1207
  var editorProxy = new AceEmmetEditor();
1107
1208
  exports.commands = new HashHandler();
1108
1209
  exports.runEmmetCommand = function runEmmetCommand(editor) {
1210
+ if (this.action == "expand_abbreviation_with_tab") {
1211
+ if (!editor.selection.isEmpty())
1212
+ return false;
1213
+ var pos = editor.selection.lead;
1214
+ var token = editor.session.getTokenAt(pos.row, pos.column);
1215
+ if (token && /\btag\b/.test(token.type))
1216
+ return false;
1217
+ }
1109
1218
  try {
1110
1219
  editorProxy.setupContext(editor);
1111
1220
  var actions = emmet.actions || emmet.require("actions");
1112
-
1113
- if (this.action == "expand_abbreviation_with_tab") {
1114
- if (!editor.selection.isEmpty())
1115
- return false;
1116
- var pos = editor.selection.lead;
1117
- var token = editor.session.getTokenAt(pos.row, pos.column);
1118
- if (token && /\btag\b/.test(token.type))
1119
- return false;
1120
- }
1121
1221
 
1122
1222
  if (this.action == "wrap_with_abbreviation") {
1123
1223
  return setTimeout(function() {
@@ -1128,11 +1228,13 @@ exports.runEmmetCommand = function runEmmetCommand(editor) {
1128
1228
  var result = actions.run(this.action, editorProxy);
1129
1229
  } catch(e) {
1130
1230
  if (!emmet) {
1131
- exports.load(runEmmetCommand.bind(this, editor));
1132
- return true;
1231
+ var loading = exports.load(runEmmetCommand.bind(this, editor));
1232
+ if (this.action == "expand_abbreviation_with_tab")
1233
+ return false;
1234
+ return loading;
1133
1235
  }
1134
1236
  editor._signal("changeStatus", typeof e == "string" ? e : e.message);
1135
- console.log(e);
1237
+ config.warn(e);
1136
1238
  result = false;
1137
1239
  }
1138
1240
  return result;
@@ -1191,16 +1293,19 @@ var onChangeMode = function(e, target) {
1191
1293
  };
1192
1294
 
1193
1295
  exports.load = function(cb) {
1194
- if (typeof emmetPath == "string") {
1195
- require("ace/config").loadModule(emmetPath, function() {
1196
- emmetPath = null;
1197
- cb && cb();
1198
- });
1296
+ if (typeof emmetPath !== "string") {
1297
+ config.warn("script for emmet-core is not loaded");
1298
+ return false;
1199
1299
  }
1300
+ config.loadModule(emmetPath, function() {
1301
+ emmetPath = null;
1302
+ cb && cb();
1303
+ });
1304
+ return true;
1200
1305
  };
1201
1306
 
1202
1307
  exports.AceEmmetEditor = AceEmmetEditor;
1203
- require("ace/config").defineOptions(Editor.prototype, "editor", {
1308
+ config.defineOptions(Editor.prototype, "editor", {
1204
1309
  enableEmmet: {
1205
1310
  set: function(val) {
1206
1311
  this[val ? "on" : "removeListener"]("changeMode", onChangeMode);