@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,4 +1,4 @@
1
- ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"], function(require, exports, module) {
1
+ ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",[], function(require, exports, module) {
2
2
  "use strict";
3
3
  var keys = require("../../lib/keys");
4
4
  module.exports.getEditorKeybordShortcuts = function(editor) {
@@ -29,7 +29,7 @@ module.exports.getEditorKeybordShortcuts = function(editor) {
29
29
 
30
30
  });
31
31
 
32
- ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"], function(require, exports, module) {
32
+ ace.define("ace/autocomplete/popup",[], function(require, exports, module) {
33
33
  "use strict";
34
34
 
35
35
  var Renderer = require("../virtual_renderer").VirtualRenderer;
@@ -296,7 +296,7 @@ var AcePopup = function(parentNode) {
296
296
  var max = this.session.getLength() - 1;
297
297
 
298
298
  switch(where) {
299
- case "up": row = row < 0 ? max : row - 1; break;
299
+ case "up": row = row <= 0 ? max : row - 1; break;
300
300
  case "down": row = row >= max ? -1 : row + 1; break;
301
301
  case "start": row = 0; break;
302
302
  case "end": row = max; break;
@@ -364,13 +364,13 @@ dom.importCssString("\
364
364
  line-height: 1.4;\
365
365
  background: #25282c;\
366
366
  color: #c1c1c1;\
367
- }", "autocompletion.css");
367
+ }", "autocompletion.css", false);
368
368
 
369
369
  exports.AcePopup = AcePopup;
370
370
  exports.$singleLineEditor = $singleLineEditor;
371
371
  });
372
372
 
373
- ace.define("ace/autocomplete/util",["require","exports","module"], function(require, exports, module) {
373
+ ace.define("ace/autocomplete/util",[], function(require, exports, module) {
374
374
  "use strict";
375
375
 
376
376
  exports.parForEach = function(array, fn, callback) {
@@ -387,7 +387,7 @@ exports.parForEach = function(array, fn, callback) {
387
387
  }
388
388
  };
389
389
 
390
- var ID_REGEX = /[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;
390
+ var ID_REGEX = /[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;
391
391
 
392
392
  exports.retrievePrecedingIdentifier = function(text, pos, regex) {
393
393
  regex = regex || ID_REGEX;
@@ -430,16 +430,92 @@ exports.getCompletionPrefix = function (editor) {
430
430
 
431
431
  });
432
432
 
433
- 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) {
433
+ ace.define("ace/snippets",[], function(require, exports, module) {
434
434
  "use strict";
435
+ var dom = require("./lib/dom");
435
436
  var oop = require("./lib/oop");
436
437
  var EventEmitter = require("./lib/event_emitter").EventEmitter;
437
438
  var lang = require("./lib/lang");
438
439
  var Range = require("./range").Range;
439
- var Anchor = require("./anchor").Anchor;
440
+ var RangeList = require("./range_list").RangeList;
440
441
  var HashHandler = require("./keyboard/hash_handler").HashHandler;
441
442
  var Tokenizer = require("./tokenizer").Tokenizer;
442
- var comparePoints = Range.comparePoints;
443
+ var clipboard = require("./clipboard");
444
+
445
+ var VARIABLES = {
446
+ CURRENT_WORD: function(editor) {
447
+ return editor.session.getTextRange(editor.session.getWordRange());
448
+ },
449
+ SELECTION: function(editor, name, indentation) {
450
+ var text = editor.session.getTextRange();
451
+ if (indentation)
452
+ return text.replace(/\n\r?([ \t]*\S)/g, "\n" + indentation + "$1");
453
+ return text;
454
+ },
455
+ CURRENT_LINE: function(editor) {
456
+ return editor.session.getLine(editor.getCursorPosition().row);
457
+ },
458
+ PREV_LINE: function(editor) {
459
+ return editor.session.getLine(editor.getCursorPosition().row - 1);
460
+ },
461
+ LINE_INDEX: function(editor) {
462
+ return editor.getCursorPosition().row;
463
+ },
464
+ LINE_NUMBER: function(editor) {
465
+ return editor.getCursorPosition().row + 1;
466
+ },
467
+ SOFT_TABS: function(editor) {
468
+ return editor.session.getUseSoftTabs() ? "YES" : "NO";
469
+ },
470
+ TAB_SIZE: function(editor) {
471
+ return editor.session.getTabSize();
472
+ },
473
+ CLIPBOARD: function(editor) {
474
+ return clipboard.getText && clipboard.getText();
475
+ },
476
+ FILENAME: function(editor) {
477
+ return /[^/\\]*$/.exec(this.FILEPATH(editor))[0];
478
+ },
479
+ FILENAME_BASE: function(editor) {
480
+ return /[^/\\]*$/.exec(this.FILEPATH(editor))[0].replace(/\.[^.]*$/, "");
481
+ },
482
+ DIRECTORY: function(editor) {
483
+ return this.FILEPATH(editor).replace(/[^/\\]*$/, "");
484
+ },
485
+ FILEPATH: function(editor) { return "/not implemented.txt"; },
486
+ WORKSPACE_NAME: function() { return "Unknown"; },
487
+ FULLNAME: function() { return "Unknown"; },
488
+ BLOCK_COMMENT_START: function(editor) {
489
+ var mode = editor.session.$mode || {};
490
+ return mode.blockComment && mode.blockComment.start || "";
491
+ },
492
+ BLOCK_COMMENT_END: function(editor) {
493
+ var mode = editor.session.$mode || {};
494
+ return mode.blockComment && mode.blockComment.end || "";
495
+ },
496
+ LINE_COMMENT: function(editor) {
497
+ var mode = editor.session.$mode || {};
498
+ return mode.lineCommentStart || "";
499
+ },
500
+ CURRENT_YEAR: date.bind(null, {year: "numeric"}),
501
+ CURRENT_YEAR_SHORT: date.bind(null, {year: "2-digit"}),
502
+ CURRENT_MONTH: date.bind(null, {month: "numeric"}),
503
+ CURRENT_MONTH_NAME: date.bind(null, {month: "long"}),
504
+ CURRENT_MONTH_NAME_SHORT: date.bind(null, {month: "short"}),
505
+ CURRENT_DATE: date.bind(null, {day: "2-digit"}),
506
+ CURRENT_DAY_NAME: date.bind(null, {weekday: "long"}),
507
+ CURRENT_DAY_NAME_SHORT: date.bind(null, {weekday: "short"}),
508
+ CURRENT_HOUR: date.bind(null, {hour: "2-digit", hour12: false}),
509
+ CURRENT_MINUTE: date.bind(null, {minute: "2-digit"}),
510
+ CURRENT_SECOND: date.bind(null, {second: "2-digit"})
511
+ };
512
+
513
+ VARIABLES.SELECTED_TEXT = VARIABLES.SELECTION;
514
+
515
+ function date(dateFormat) {
516
+ var str = new Date().toLocaleString("en-us", dateFormat);
517
+ return str.length == 1 ? "0" + str : str;
518
+ }
443
519
 
444
520
  var SnippetManager = function() {
445
521
  this.snippetMap = {};
@@ -450,41 +526,40 @@ var SnippetManager = function() {
450
526
  oop.implement(this, EventEmitter);
451
527
 
452
528
  this.getTokenizer = function() {
453
- function TabstopToken(str, _, stack) {
529
+ return SnippetManager.$tokenizer || this.createTokenizer();
530
+ };
531
+
532
+ this.createTokenizer = function() {
533
+ function TabstopToken(str) {
454
534
  str = str.substr(1);
455
- if (/^\d+$/.test(str) && !stack.inFormatString)
535
+ if (/^\d+$/.test(str))
456
536
  return [{tabstopId: parseInt(str, 10)}];
457
537
  return [{text: str}];
458
538
  }
459
539
  function escape(ch) {
460
540
  return "(?:[^\\\\" + ch + "]|\\\\.)";
461
541
  }
542
+ var formatMatcher = {
543
+ regex: "/(" + escape("/") + "+)/",
544
+ onMatch: function(val, state, stack) {
545
+ var ts = stack[0];
546
+ ts.fmtString = true;
547
+ ts.guard = val.slice(1, -1);
548
+ ts.flag = "";
549
+ return "";
550
+ },
551
+ next: "formatString"
552
+ };
553
+
462
554
  SnippetManager.$tokenizer = new Tokenizer({
463
555
  start: [
464
- {regex: /:/, onMatch: function(val, state, stack) {
465
- if (stack.length && stack[0].expectIf) {
466
- stack[0].expectIf = false;
467
- stack[0].elseBranch = stack[0];
468
- return [stack[0]];
469
- }
470
- return ":";
471
- }},
472
556
  {regex: /\\./, onMatch: function(val, state, stack) {
473
557
  var ch = val[1];
474
558
  if (ch == "}" && stack.length) {
475
559
  val = ch;
476
- }else if ("`$\\".indexOf(ch) != -1) {
560
+ } else if ("`$\\".indexOf(ch) != -1) {
477
561
  val = ch;
478
- } else if (stack.inFormatString) {
479
- if (ch == "n")
480
- val = "\n";
481
- else if (ch == "t")
482
- val = "\n";
483
- else if ("ulULE".indexOf(ch) != -1) {
484
- val = {changeCase: ch, local: ch > "a"};
485
- }
486
562
  }
487
-
488
563
  return [val];
489
564
  }},
490
565
  {regex: /}/, onMatch: function(val, state, stack) {
@@ -492,7 +567,7 @@ var SnippetManager = function() {
492
567
  }},
493
568
  {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
494
569
  {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
495
- var t = TabstopToken(str.substr(1), state, stack);
570
+ var t = TabstopToken(str.substr(1));
496
571
  stack.unshift(t[0]);
497
572
  return t;
498
573
  }, next: "snippetVar"},
@@ -500,39 +575,78 @@ var SnippetManager = function() {
500
575
  ],
501
576
  snippetVar: [
502
577
  {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
503
- stack[0].choices = val.slice(1, -1).split(",");
504
- }, next: "start"},
505
- {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
506
- onMatch: function(val, state, stack) {
507
- var ts = stack[0];
508
- ts.fmtString = val;
509
-
510
- val = this.splitRegex.exec(val);
511
- ts.guard = val[1];
512
- ts.fmt = val[2];
513
- ts.flag = val[3];
514
- return "";
515
- }, next: "start"},
516
- {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
517
- stack[0].code = val.splice(1, -1);
518
- return "";
519
- }, next: "start"},
520
- {regex: "\\?", onMatch: function(val, state, stack) {
521
- if (stack[0])
522
- stack[0].expectIf = true;
578
+ var choices = val.slice(1, -1).replace(/\\[,|\\]|,/g, function(operator) {
579
+ return operator.length == 2 ? operator[1] : "\x00";
580
+ }).split("\x00").map(function(value){
581
+ return {value: value};
582
+ });
583
+ stack[0].choices = choices;
584
+ return [choices[0]];
523
585
  }, next: "start"},
586
+ formatMatcher,
524
587
  {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
525
588
  ],
526
589
  formatString: [
527
- {regex: "/(" + escape("/") + "+)/", token: "regex"},
528
- {regex: "", onMatch: function(val, state, stack) {
529
- stack.inFormatString = true;
590
+ {regex: /:/, onMatch: function(val, state, stack) {
591
+ if (stack.length && stack[0].expectElse) {
592
+ stack[0].expectElse = false;
593
+ stack[0].ifEnd = {elseEnd: stack[0]};
594
+ return [stack[0].ifEnd];
595
+ }
596
+ return ":";
597
+ }},
598
+ {regex: /\\./, onMatch: function(val, state, stack) {
599
+ var ch = val[1];
600
+ if (ch == "}" && stack.length)
601
+ val = ch;
602
+ else if ("`$\\".indexOf(ch) != -1)
603
+ val = ch;
604
+ else if (ch == "n")
605
+ val = "\n";
606
+ else if (ch == "t")
607
+ val = "\t";
608
+ else if ("ulULE".indexOf(ch) != -1)
609
+ val = {changeCase: ch, local: ch > "a"};
610
+ return [val];
611
+ }},
612
+ {regex: "/\\w*}", onMatch: function(val, state, stack) {
613
+ var next = stack.shift();
614
+ if (next)
615
+ next.flag = val.slice(1, -1);
616
+ this.next = next && next.tabstopId ? "start" : "";
617
+ return [next || val];
618
+ }, next: "start"},
619
+ {regex: /\$(?:\d+|\w+)/, onMatch: function(val, state, stack) {
620
+ return [{text: val.slice(1)}];
621
+ }},
622
+ {regex: /\${\w+/, onMatch: function(val, state, stack) {
623
+ var token = {text: val.slice(2)};
624
+ stack.unshift(token);
625
+ return [token];
626
+ }, next: "formatStringVar"},
627
+ {regex: /\n/, token: "newline", merge: false},
628
+ {regex: /}/, onMatch: function(val, state, stack) {
629
+ var next = stack.shift();
630
+ this.next = next && next.tabstopId ? "start" : "";
631
+ return [next || val];
530
632
  }, next: "start"}
633
+ ],
634
+ formatStringVar: [
635
+ {regex: /:\/\w+}/, onMatch: function(val, state, stack) {
636
+ var ts = stack[0];
637
+ ts.formatFunction = val.slice(2, -1);
638
+ return [stack.shift()];
639
+ }, next: "formatString"},
640
+ formatMatcher,
641
+ {regex: /:[\?\-+]?/, onMatch: function(val, state, stack) {
642
+ if (val[1] == "+")
643
+ stack[0].ifEnd = stack[0];
644
+ if (val[1] == "?")
645
+ stack[0].expectElse = true;
646
+ }, next: "formatString"},
647
+ {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "formatString"}
531
648
  ]
532
649
  });
533
- SnippetManager.prototype.getTokenizer = function() {
534
- return SnippetManager.$tokenizer;
535
- };
536
650
  return SnippetManager.$tokenizer;
537
651
  };
538
652
 
@@ -541,59 +655,33 @@ var SnippetManager = function() {
541
655
  return x.value || x;
542
656
  });
543
657
  };
544
-
545
- this.$getDefaultValue = function(editor, name) {
546
- if (/^[A-Z]\d+$/.test(name)) {
547
- var i = name.substr(1);
548
- return (this.variables[name[0] + "__"] || {})[i];
549
- }
550
- if (/^\d+$/.test(name)) {
551
- return (this.variables.__ || {})[name];
552
- }
658
+
659
+ this.getVariableValue = function(editor, name, indentation) {
660
+ if (/^\d+$/.test(name))
661
+ return (this.variables.__ || {})[name] || "";
662
+ if (/^[A-Z]\d+$/.test(name))
663
+ return (this.variables[name[0] + "__"] || {})[name.substr(1)] || "";
664
+
553
665
  name = name.replace(/^TM_/, "");
554
-
555
- if (!editor)
556
- return;
557
- var s = editor.session;
558
- switch(name) {
559
- case "CURRENT_WORD":
560
- var r = s.getWordRange();
561
- case "SELECTION":
562
- case "SELECTED_TEXT":
563
- return s.getTextRange(r);
564
- case "CURRENT_LINE":
565
- return s.getLine(editor.getCursorPosition().row);
566
- case "PREV_LINE": // not possible in textmate
567
- return s.getLine(editor.getCursorPosition().row - 1);
568
- case "LINE_INDEX":
569
- return editor.getCursorPosition().column;
570
- case "LINE_NUMBER":
571
- return editor.getCursorPosition().row + 1;
572
- case "SOFT_TABS":
573
- return s.getUseSoftTabs() ? "YES" : "NO";
574
- case "TAB_SIZE":
575
- return s.getTabSize();
576
- case "FILENAME":
577
- case "FILEPATH":
578
- return "";
579
- case "FULLNAME":
580
- return "Ace";
581
- }
582
- };
583
- this.variables = {};
584
- this.getVariableValue = function(editor, varName) {
585
- if (this.variables.hasOwnProperty(varName))
586
- return this.variables[varName](editor, varName) || "";
587
- return this.$getDefaultValue(editor, varName) || "";
666
+ if (!this.variables.hasOwnProperty(name))
667
+ return "";
668
+ var value = this.variables[name];
669
+ if (typeof value == "function")
670
+ value = this.variables[name](editor, name, indentation);
671
+ return value == null ? "" : value;
588
672
  };
673
+
674
+ this.variables = VARIABLES;
589
675
  this.tmStrFormat = function(str, ch, editor) {
676
+ if (!ch.fmt) return str;
590
677
  var flag = ch.flag || "";
591
678
  var re = ch.guard;
592
- re = new RegExp(re, flag.replace(/[^gi]/, ""));
593
- var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
679
+ re = new RegExp(re, flag.replace(/[^gim]/g, ""));
680
+ var fmtTokens = typeof ch.fmt == "string" ? this.tokenizeTmSnippet(ch.fmt, "formatString") : ch.fmt;
594
681
  var _self = this;
595
682
  var formatted = str.replace(re, function() {
596
- _self.variables.__ = arguments;
683
+ var oldArgs = _self.variables.__;
684
+ _self.variables.__ = [].slice.call(arguments);
597
685
  var fmtParts = _self.resolveVariables(fmtTokens, editor);
598
686
  var gChangeCase = "E";
599
687
  for (var i = 0; i < fmtParts.length; i++) {
@@ -618,40 +706,63 @@ var SnippetManager = function() {
618
706
  fmtParts[i] = ch.toLowerCase();
619
707
  }
620
708
  }
709
+ _self.variables.__ = oldArgs;
621
710
  return fmtParts.join("");
622
711
  });
623
- this.variables.__ = null;
624
712
  return formatted;
625
713
  };
714
+
715
+ this.tmFormatFunction = function(str, ch, editor) {
716
+ if (ch.formatFunction == "upcase")
717
+ return str.toUpperCase();
718
+ if (ch.formatFunction == "downcase")
719
+ return str.toLowerCase();
720
+ return str;
721
+ };
626
722
 
627
723
  this.resolveVariables = function(snippet, editor) {
628
724
  var result = [];
725
+ var indentation = "";
726
+ var afterNewLine = true;
629
727
  for (var i = 0; i < snippet.length; i++) {
630
728
  var ch = snippet[i];
631
729
  if (typeof ch == "string") {
632
730
  result.push(ch);
633
- } else if (typeof ch != "object") {
634
- continue;
635
- } else if (ch.skip) {
636
- gotoNext(ch);
637
- } else if (ch.processed < i) {
731
+ if (ch == "\n") {
732
+ afterNewLine = true;
733
+ indentation = "";
734
+ }
735
+ else if (afterNewLine) {
736
+ indentation = /^\t*/.exec(ch)[0];
737
+ afterNewLine = /\S/.test(ch);
738
+ }
638
739
  continue;
639
- } else if (ch.text) {
640
- var value = this.getVariableValue(editor, ch.text);
641
- if (value && ch.fmtString)
642
- value = this.tmStrFormat(value, ch);
643
- ch.processed = i;
644
- if (ch.expectIf == null) {
645
- if (value) {
646
- result.push(value);
647
- gotoNext(ch);
648
- }
649
- } else {
650
- if (value) {
651
- ch.skip = ch.elseBranch;
652
- } else
653
- gotoNext(ch);
740
+ }
741
+ if (!ch) continue;
742
+ afterNewLine = false;
743
+
744
+ if (ch.fmtString) {
745
+ var j = snippet.indexOf(ch, i + 1);
746
+ if (j == -1) j = snippet.length;
747
+ ch.fmt = snippet.slice(i + 1, j);
748
+ i = j;
749
+ }
750
+
751
+ if (ch.text) {
752
+ var value = this.getVariableValue(editor, ch.text, indentation) + "";
753
+ if (ch.fmtString)
754
+ value = this.tmStrFormat(value, ch, editor);
755
+ if (ch.formatFunction)
756
+ value = this.tmFormatFunction(value, ch, editor);
757
+
758
+ if (value && !ch.ifEnd) {
759
+ result.push(value);
760
+ gotoNext(ch);
761
+ } else if (!value && ch.ifEnd) {
762
+ gotoNext(ch.ifEnd);
654
763
  }
764
+ } else if (ch.elseEnd) {
765
+ gotoNext(ch.elseEnd);
655
766
  } else if (ch.tabstopId != null) {
656
767
  result.push(ch);
657
768
  } else if (ch.changeCase != null) {
@@ -695,9 +806,12 @@ var SnippetManager = function() {
695
806
  ts = tabstops[id] = [];
696
807
  ts.index = id;
697
808
  ts.value = "";
809
+ ts.parents = {};
698
810
  }
699
811
  if (ts.indexOf(p) !== -1)
700
812
  return;
813
+ if (p.choices && !ts.choices)
814
+ ts.choices = p.choices;
701
815
  ts.push(p);
702
816
  var i1 = tokens.indexOf(p, i + 1);
703
817
  if (i1 === -1)
@@ -732,19 +846,24 @@ var SnippetManager = function() {
732
846
  if (typeof p != "object")
733
847
  continue;
734
848
  var id = p.tabstopId;
849
+ var ts = tabstops[id];
735
850
  var i1 = tokens.indexOf(p, i + 1);
736
851
  if (expanding[id]) {
737
- if (expanding[id] === p)
738
- expanding[id] = null;
852
+ if (expanding[id] === p) {
853
+ delete expanding[id];
854
+ Object.keys(expanding).forEach(function(parentId) {
855
+ ts.parents[parentId] = true;
856
+ });
857
+ }
739
858
  continue;
740
859
  }
741
-
742
- var ts = tabstops[id];
743
- var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
744
- arg.unshift(i + 1, Math.max(0, i1 - i));
745
- arg.push(p);
746
860
  expanding[id] = p;
747
- tokens.splice.apply(tokens, arg);
861
+ var value = ts.value;
862
+ if (typeof value !== "string")
863
+ value = copyValue(value);
864
+ else if (p.fmt)
865
+ value = this.tmStrFormat(value, p, editor);
866
+ tokens.splice.apply(tokens, [i + 1, Math.max(0, i1 - i)].concat(value, p));
748
867
 
749
868
  if (ts.indexOf(p) === -1)
750
869
  ts.push(p);
@@ -760,7 +879,7 @@ var SnippetManager = function() {
760
879
  } else
761
880
  column += t.length;
762
881
  text += t;
763
- } else {
882
+ } else if (t) {
764
883
  if (!t.start)
765
884
  t.start = {row: row, column: column};
766
885
  else
@@ -931,6 +1050,12 @@ var SnippetManager = function() {
931
1050
  }
932
1051
  snippetMap[scope].push(s);
933
1052
 
1053
+ if (s.prefix)
1054
+ s.tabTrigger = s.prefix;
1055
+
1056
+ if (!s.content && s.body)
1057
+ s.content = Array.isArray(s.body) ? s.body.join("\n") : s.body;
1058
+
934
1059
  if (s.tabTrigger && !s.trigger) {
935
1060
  if (!s.guard && /^\w/.test(s.tabTrigger))
936
1061
  s.guard = "\\b";
@@ -947,10 +1072,13 @@ var SnippetManager = function() {
947
1072
  s.endTriggerRe = new RegExp(s.endTrigger);
948
1073
  }
949
1074
 
950
- if (snippets && snippets.content)
951
- addSnippet(snippets);
952
- else if (Array.isArray(snippets))
1075
+ if (Array.isArray(snippets)) {
953
1076
  snippets.forEach(addSnippet);
1077
+ } else {
1078
+ Object.keys(snippets).forEach(function(key) {
1079
+ addSnippet(snippets[key]);
1080
+ });
1081
+ }
954
1082
 
955
1083
  this._signal("registerSnippets", {scope: scope});
956
1084
  };
@@ -1000,7 +1128,7 @@ var SnippetManager = function() {
1000
1128
  snippet.tabTrigger = val.match(/^\S*/)[0];
1001
1129
  if (!snippet.name)
1002
1130
  snippet.name = val;
1003
- } else {
1131
+ } else if (key) {
1004
1132
  snippet[key] = val;
1005
1133
  }
1006
1134
  }
@@ -1062,66 +1190,44 @@ var TabstopManager = function(editor) {
1062
1190
  };
1063
1191
 
1064
1192
  this.onChange = function(delta) {
1065
- var changeRange = delta;
1066
1193
  var isRemove = delta.action[0] == "r";
1067
- var start = delta.start;
1068
- var end = delta.end;
1069
- var startRow = start.row;
1070
- var endRow = end.row;
1071
- var lineDif = endRow - startRow;
1072
- var colDiff = end.column - start.column;
1073
-
1074
- if (isRemove) {
1075
- lineDif = -lineDif;
1076
- colDiff = -colDiff;
1077
- }
1078
- if (!this.$inChange && isRemove) {
1079
- var ts = this.selectedTabstop;
1080
- var changedOutside = ts && !ts.some(function(r) {
1081
- return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
1082
- });
1083
- if (changedOutside)
1084
- return this.detach();
1085
- }
1086
- var ranges = this.ranges;
1087
- for (var i = 0; i < ranges.length; i++) {
1088
- var r = ranges[i];
1089
- if (r.end.row < start.row)
1090
- continue;
1091
-
1092
- if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
1093
- this.removeRange(r);
1094
- i--;
1095
- continue;
1194
+ var selectedTabstop = this.selectedTabstop || {};
1195
+ var parents = selectedTabstop.parents || {};
1196
+ var tabstops = (this.tabstops || []).slice();
1197
+ for (var i = 0; i < tabstops.length; i++) {
1198
+ var ts = tabstops[i];
1199
+ var active = ts == selectedTabstop || parents[ts.index];
1200
+ ts.rangeList.$bias = active ? 0 : 1;
1201
+
1202
+ if (delta.action == "remove" && ts !== selectedTabstop) {
1203
+ var parentActive = ts.parents && ts.parents[selectedTabstop.index];
1204
+ var startIndex = ts.rangeList.pointIndex(delta.start, parentActive);
1205
+ startIndex = startIndex < 0 ? -startIndex - 1 : startIndex + 1;
1206
+ var endIndex = ts.rangeList.pointIndex(delta.end, parentActive);
1207
+ endIndex = endIndex < 0 ? -endIndex - 1 : endIndex - 1;
1208
+ var toRemove = ts.rangeList.ranges.slice(startIndex, endIndex);
1209
+ for (var j = 0; j < toRemove.length; j++)
1210
+ this.removeRange(toRemove[j]);
1096
1211
  }
1097
-
1098
- if (r.start.row == startRow && r.start.column > start.column)
1099
- r.start.column += colDiff;
1100
- if (r.end.row == startRow && r.end.column >= start.column)
1101
- r.end.column += colDiff;
1102
- if (r.start.row >= startRow)
1103
- r.start.row += lineDif;
1104
- if (r.end.row >= startRow)
1105
- r.end.row += lineDif;
1106
-
1107
- if (comparePoints(r.start, r.end) > 0)
1108
- this.removeRange(r);
1212
+ ts.rangeList.$onChange(delta);
1109
1213
  }
1110
- if (!ranges.length)
1214
+ var session = this.editor.session;
1215
+ if (!this.$inChange && isRemove && session.getLength() == 1 && !session.getValue())
1111
1216
  this.detach();
1112
1217
  };
1113
1218
  this.updateLinkedFields = function() {
1114
1219
  var ts = this.selectedTabstop;
1115
- if (!ts || !ts.hasLinkedRanges)
1220
+ if (!ts || !ts.hasLinkedRanges || !ts.firstNonLinked)
1116
1221
  return;
1117
1222
  this.$inChange = true;
1118
1223
  var session = this.editor.session;
1119
1224
  var text = session.getTextRange(ts.firstNonLinked);
1120
- for (var i = ts.length; i--;) {
1225
+ for (var i = 0; i < ts.length; i++) {
1121
1226
  var range = ts[i];
1122
1227
  if (!range.linked)
1123
1228
  continue;
1124
- var fmt = exports.snippetManager.tmStrFormat(text, range.original);
1229
+ var original = range.original;
1230
+ var fmt = exports.snippetManager.tmStrFormat(text, original, this.editor);
1125
1231
  session.replace(range, fmt);
1126
1232
  }
1127
1233
  this.$inChange = false;
@@ -1136,7 +1242,7 @@ var TabstopManager = function(editor) {
1136
1242
  var lead = this.editor.selection.lead;
1137
1243
  var anchor = this.editor.selection.anchor;
1138
1244
  var isEmpty = this.editor.selection.isEmpty();
1139
- for (var i = this.ranges.length; i--;) {
1245
+ for (var i = 0; i < this.ranges.length; i++) {
1140
1246
  if (this.ranges[i].linked)
1141
1247
  continue;
1142
1248
  var containsLead = this.ranges[i].contains(lead.row, lead.column);
@@ -1170,23 +1276,27 @@ var TabstopManager = function(editor) {
1170
1276
  return;
1171
1277
 
1172
1278
  this.selectedTabstop = ts;
1173
- if (!this.editor.inVirtualSelectionMode) {
1279
+ var range = ts.firstNonLinked || ts;
1280
+ if (ts.choices) range.cursor = range.start;
1281
+ if (!this.editor.inVirtualSelectionMode) {
1174
1282
  var sel = this.editor.multiSelect;
1175
- sel.toSingleRange(ts.firstNonLinked.clone());
1176
- for (var i = ts.length; i--;) {
1283
+ sel.toSingleRange(range);
1284
+ for (var i = 0; i < ts.length; i++) {
1177
1285
  if (ts.hasLinkedRanges && ts[i].linked)
1178
1286
  continue;
1179
1287
  sel.addRange(ts[i].clone(), true);
1180
1288
  }
1181
- if (sel.ranges[0])
1182
- sel.addRange(sel.ranges[0].clone());
1183
1289
  } else {
1184
- this.editor.selection.setRange(ts.firstNonLinked);
1290
+ this.editor.selection.fromOrientedRange(range);
1185
1291
  }
1186
1292
 
1187
1293
  this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
1294
+ if (this.selectedTabstop && this.selectedTabstop.choices)
1295
+ this.editor.execCommand("startAutocomplete", {matches: this.selectedTabstop.choices});
1188
1296
  };
1189
1297
  this.addTabstops = function(tabstops, start, end) {
1298
+ var useLink = this.useLink || !this.editor.getOption("enableMultiselect");
1299
+
1190
1300
  if (!this.$openTabstops)
1191
1301
  this.$openTabstops = [];
1192
1302
  if (!tabstops[0]) {
@@ -1202,8 +1312,8 @@ var TabstopManager = function(editor) {
1202
1312
  var ranges = this.ranges;
1203
1313
  tabstops.forEach(function(ts, index) {
1204
1314
  var dest = this.$openTabstops[index] || ts;
1205
-
1206
- for (var i = ts.length; i--;) {
1315
+
1316
+ for (var i = 0; i < ts.length; i++) {
1207
1317
  var p = ts[i];
1208
1318
  var range = Range.fromPoints(p.start, p.end || p.start);
1209
1319
  movePoint(range.start, start);
@@ -1215,7 +1325,7 @@ var TabstopManager = function(editor) {
1215
1325
  dest.unshift(range);
1216
1326
  else
1217
1327
  dest[i] = range;
1218
- if (p.fmtString) {
1328
+ if (p.fmtString || (dest.firstNonLinked && useLink)) {
1219
1329
  range.linked = true;
1220
1330
  dest.hasLinkedRanges = true;
1221
1331
  } else if (!dest.firstNonLinked)
@@ -1228,6 +1338,9 @@ var TabstopManager = function(editor) {
1228
1338
  this.$openTabstops[index] = dest;
1229
1339
  }
1230
1340
  this.addTabstopMarkers(dest);
1341
+ dest.rangeList = dest.rangeList || new RangeList();
1342
+ dest.rangeList.$bias = 0;
1343
+ dest.rangeList.addList(dest);
1231
1344
  }, this);
1232
1345
 
1233
1346
  if (arg.length > 2) {
@@ -1253,9 +1366,11 @@ var TabstopManager = function(editor) {
1253
1366
  };
1254
1367
  this.removeRange = function(range) {
1255
1368
  var i = range.tabstop.indexOf(range);
1256
- range.tabstop.splice(i, 1);
1369
+ if (i != -1) range.tabstop.splice(i, 1);
1257
1370
  i = this.ranges.indexOf(range);
1258
- this.ranges.splice(i, 1);
1371
+ if (i != -1) this.ranges.splice(i, 1);
1372
+ i = range.tabstop.rangeList.ranges.indexOf(range);
1373
+ if (i != -1) range.tabstop.splice(i, 1);
1259
1374
  this.editor.session.removeMarker(range.markerId);
1260
1375
  if (!range.tabstop.length) {
1261
1376
  i = this.tabstops.indexOf(range.tabstop);
@@ -1268,39 +1383,24 @@ var TabstopManager = function(editor) {
1268
1383
 
1269
1384
  this.keyboardHandler = new HashHandler();
1270
1385
  this.keyboardHandler.bindKeys({
1271
- "Tab": function(ed) {
1272
- if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
1386
+ "Tab": function(editor) {
1387
+ if (exports.snippetManager && exports.snippetManager.expandWithTab(editor))
1273
1388
  return;
1274
- }
1275
-
1276
- ed.tabstopManager.tabNext(1);
1277
- },
1278
- "Shift-Tab": function(ed) {
1279
- ed.tabstopManager.tabNext(-1);
1389
+ editor.tabstopManager.tabNext(1);
1390
+ editor.renderer.scrollCursorIntoView();
1280
1391
  },
1281
- "Esc": function(ed) {
1282
- ed.tabstopManager.detach();
1392
+ "Shift-Tab": function(editor) {
1393
+ editor.tabstopManager.tabNext(-1);
1394
+ editor.renderer.scrollCursorIntoView();
1283
1395
  },
1284
- "Return": function(ed) {
1285
- return false;
1396
+ "Esc": function(editor) {
1397
+ editor.tabstopManager.detach();
1286
1398
  }
1287
1399
  });
1288
1400
  }).call(TabstopManager.prototype);
1289
1401
 
1290
1402
 
1291
1403
 
1292
- var changeTracker = {};
1293
- changeTracker.onChange = Anchor.prototype.onChange;
1294
- changeTracker.setPosition = function(row, column) {
1295
- this.pos.row = row;
1296
- this.pos.column = column;
1297
- };
1298
- changeTracker.update = function(pos, delta, $insertRight) {
1299
- this.$insertRight = $insertRight;
1300
- this.pos = pos;
1301
- this.onChange(delta);
1302
- };
1303
-
1304
1404
  var movePoint = function(point, diff) {
1305
1405
  if (point.row == 0)
1306
1406
  point.column += diff.column;
@@ -1314,14 +1414,14 @@ var moveRelative = function(point, start) {
1314
1414
  };
1315
1415
 
1316
1416
 
1317
- require("./lib/dom").importCssString("\
1417
+ dom.importCssString("\
1318
1418
  .ace_snippet-marker {\
1319
1419
  -moz-box-sizing: border-box;\
1320
1420
  box-sizing: border-box;\
1321
1421
  background: rgba(194, 193, 208, 0.09);\
1322
1422
  border: 1px dotted rgba(211, 208, 235, 0.62);\
1323
1423
  position: absolute;\
1324
- }");
1424
+ }", "snippets.css", false);
1325
1425
 
1326
1426
  exports.snippetManager = new SnippetManager();
1327
1427
 
@@ -1338,16 +1438,16 @@ var Editor = require("./editor").Editor;
1338
1438
 
1339
1439
  });
1340
1440
 
1341
- ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/snippets"], function(require, exports, module) {
1441
+ ace.define("ace/autocomplete",[], function(require, exports, module) {
1342
1442
  "use strict";
1343
1443
 
1344
1444
  var HashHandler = require("./keyboard/hash_handler").HashHandler;
1345
1445
  var AcePopup = require("./autocomplete/popup").AcePopup;
1346
1446
  var util = require("./autocomplete/util");
1347
- var event = require("./lib/event");
1348
1447
  var lang = require("./lib/lang");
1349
1448
  var dom = require("./lib/dom");
1350
1449
  var snippetManager = require("./snippets").snippetManager;
1450
+ var config = require("./config");
1351
1451
 
1352
1452
  var Autocomplete = function() {
1353
1453
  this.autoInsert = false;
@@ -1418,6 +1518,7 @@ var Autocomplete = function() {
1418
1518
  } else if (keepPopupPosition && !prefix) {
1419
1519
  this.detach();
1420
1520
  }
1521
+ this.changeTimer.cancel();
1421
1522
  };
1422
1523
 
1423
1524
  this.detach = function() {
@@ -1480,13 +1581,15 @@ var Autocomplete = function() {
1480
1581
  if (!data)
1481
1582
  return false;
1482
1583
 
1584
+ var completions = this.completions;
1585
+ this.editor.startOperation({command: {name: "insertMatch"}});
1483
1586
  if (data.completer && data.completer.insertMatch) {
1484
1587
  data.completer.insertMatch(this.editor, data);
1485
1588
  } else {
1486
- if (this.completions.filterText) {
1589
+ if (completions.filterText) {
1487
1590
  var ranges = this.editor.selection.getAllRanges();
1488
1591
  for (var i = 0, range; range = ranges[i]; i++) {
1489
- range.start.column -= this.completions.filterText.length;
1592
+ range.start.column -= completions.filterText.length;
1490
1593
  this.editor.session.remove(range);
1491
1594
  }
1492
1595
  }
@@ -1495,7 +1598,9 @@ var Autocomplete = function() {
1495
1598
  else
1496
1599
  this.editor.execCommand("insertstring", data.value || data);
1497
1600
  }
1498
- this.detach();
1601
+ if (this.completions == completions)
1602
+ this.detach();
1603
+ this.editor.endOperation();
1499
1604
  };
1500
1605
 
1501
1606
 
@@ -1545,7 +1650,7 @@ var Autocomplete = function() {
1545
1650
  return true;
1546
1651
  };
1547
1652
 
1548
- this.showPopup = function(editor) {
1653
+ this.showPopup = function(editor, options) {
1549
1654
  if (this.editor)
1550
1655
  this.detach();
1551
1656
 
@@ -1563,10 +1668,10 @@ var Autocomplete = function() {
1563
1668
  editor.on("mousedown", this.mousedownListener);
1564
1669
  editor.on("mousewheel", this.mousewheelListener);
1565
1670
 
1566
- this.updateCompletions();
1671
+ this.updateCompletions(false, options);
1567
1672
  };
1568
1673
 
1569
- this.updateCompletions = function(keepPopupPosition) {
1674
+ this.updateCompletions = function(keepPopupPosition, options) {
1570
1675
  if (keepPopupPosition && this.base && this.completions) {
1571
1676
  var pos = this.editor.getCursorPosition();
1572
1677
  var prefix = this.editor.session.getTextRange({start: this.base, end: pos});
@@ -1582,20 +1687,23 @@ var Autocomplete = function() {
1582
1687
  this.openPopup(this.editor, prefix, keepPopupPosition);
1583
1688
  return;
1584
1689
  }
1690
+
1691
+ if (options && options.matches) {
1692
+ var pos = this.editor.getSelectionRange().start;
1693
+ this.base = this.editor.session.doc.createAnchor(pos.row, pos.column);
1694
+ this.base.$insertRight = true;
1695
+ this.completions = new FilteredList(options.matches);
1696
+ return this.openPopup(this.editor, "", keepPopupPosition);
1697
+ }
1585
1698
  var _id = this.gatherCompletionsId;
1586
- this.gatherCompletions(this.editor, function(err, results) {
1587
- var detachIfFinished = function() {
1588
- if (!results.finished) return;
1589
- return this.detach();
1590
- }.bind(this);
1699
+ var detachIfFinished = function(results) {
1700
+ if (!results.finished) return;
1701
+ return this.detach();
1702
+ }.bind(this);
1591
1703
 
1704
+ var processResults = function(results) {
1592
1705
  var prefix = results.prefix;
1593
- var matches = results && results.matches;
1594
-
1595
- if (!matches || !matches.length)
1596
- return detachIfFinished();
1597
- if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
1598
- return;
1706
+ var matches = results.matches;
1599
1707
 
1600
1708
  this.completions = new FilteredList(matches);
1601
1709
 
@@ -1605,14 +1713,39 @@ var Autocomplete = function() {
1605
1713
  this.completions.setFilter(prefix);
1606
1714
  var filtered = this.completions.filtered;
1607
1715
  if (!filtered.length)
1608
- return detachIfFinished();
1716
+ return detachIfFinished(results);
1609
1717
  if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
1610
- return detachIfFinished();
1718
+ return detachIfFinished(results);
1611
1719
  if (this.autoInsert && filtered.length == 1 && results.finished)
1612
1720
  return this.insertMatch(filtered[0]);
1613
1721
 
1614
1722
  this.openPopup(this.editor, prefix, keepPopupPosition);
1723
+ }.bind(this);
1724
+
1725
+ var isImmediate = true;
1726
+ var immediateResults = null;
1727
+ this.gatherCompletions(this.editor, function(err, results) {
1728
+ var prefix = results.prefix;
1729
+ var matches = results && results.matches;
1730
+
1731
+ if (!matches || !matches.length)
1732
+ return detachIfFinished(results);
1733
+ if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
1734
+ return;
1735
+ if (isImmediate) {
1736
+ immediateResults = results;
1737
+ return;
1738
+ }
1739
+
1740
+ processResults(results);
1615
1741
  }.bind(this));
1742
+
1743
+ isImmediate = false;
1744
+ if (immediateResults) {
1745
+ var results = immediateResults;
1746
+ immediateResults = null;
1747
+ processResults(results);
1748
+ }
1616
1749
  };
1617
1750
 
1618
1751
  this.cancelContextMenu = function() {
@@ -1631,7 +1764,7 @@ var Autocomplete = function() {
1631
1764
  doc = completer.getDocTooltip(selected);
1632
1765
  return doc;
1633
1766
  });
1634
- if (!doc)
1767
+ if (!doc && typeof selected != "string")
1635
1768
  doc = selected;
1636
1769
 
1637
1770
  if (typeof doc == "string")
@@ -1713,17 +1846,47 @@ var Autocomplete = function() {
1713
1846
  }
1714
1847
  };
1715
1848
 
1849
+ this.destroy = function() {
1850
+ this.detach();
1851
+ if (this.popup) {
1852
+ this.popup.destroy();
1853
+ var el = this.popup.container;
1854
+ if (el && el.parentNode)
1855
+ el.parentNode.removeChild(el);
1856
+ }
1857
+ if (this.editor && this.editor.completer == this)
1858
+ this.editor.completer == null;
1859
+ this.popup = null;
1860
+ };
1861
+
1716
1862
  }).call(Autocomplete.prototype);
1717
1863
 
1864
+
1865
+ Autocomplete.for = function(editor) {
1866
+ if (editor.completer) {
1867
+ return editor.completer;
1868
+ }
1869
+ if (config.get("sharedPopups")) {
1870
+ if (!Autocomplete.$shared)
1871
+ Autocomplete.$sharedInstance = new Autocomplete();
1872
+ editor.completer = Autocomplete.$sharedInstance;
1873
+ } else {
1874
+ editor.completer = new Autocomplete();
1875
+ editor.once("destroy", function(e, editor) {
1876
+ editor.completer.destroy();
1877
+ });
1878
+ }
1879
+ return editor.completer;
1880
+ };
1881
+
1718
1882
  Autocomplete.startCommand = {
1719
1883
  name: "startAutocomplete",
1720
- exec: function(editor) {
1721
- if (!editor.completer)
1722
- editor.completer = new Autocomplete();
1723
- editor.completer.autoInsert = false;
1724
- editor.completer.autoSelect = true;
1725
- editor.completer.showPopup(editor);
1726
- editor.completer.cancelContextMenu();
1884
+ exec: function(editor, options) {
1885
+ var completer = Autocomplete.for(editor);
1886
+ completer.autoInsert = false;
1887
+ completer.autoSelect = true;
1888
+ completer.showPopup(editor, options);
1889
+ completer.cancelContextMenu();
1727
1890
  },
1728
1891
  bindKey: "Ctrl-Space|Ctrl-Shift-Space|Alt-Space"
1729
1892
  };
@@ -1745,7 +1908,7 @@ var FilteredList = function(array, filterText) {
1745
1908
  matches = this.filterCompletions(matches, this.filterText);
1746
1909
  matches = matches.sort(function(a, b) {
1747
1910
  return b.exactMatch - a.exactMatch || b.$score - a.$score
1748
- || (a.caption || a.value) < (b.caption || b.value);
1911
+ || (a.caption || a.value).localeCompare(b.caption || b.value);
1749
1912
  });
1750
1913
  var prev = null;
1751
1914
  matches = matches.filter(function(item){
@@ -1808,7 +1971,7 @@ exports.FilteredList = FilteredList;
1808
1971
 
1809
1972
  });
1810
1973
 
1811
- ace.define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"], function(require, exports, module) {
1974
+ ace.define("ace/ext/menu_tools/overlay_page",[], function(require, exports, module) {
1812
1975
  'use strict';
1813
1976
  var dom = require("../../lib/dom");
1814
1977
  var cssText = "#ace_settingsmenu, #kbshortcutmenu {\
@@ -1871,10 +2034,11 @@ margin: 0px;\
1871
2034
  .ace_optionsMenuEntry button:hover{\
1872
2035
  background: #f0f0f0;\
1873
2036
  }";
1874
- dom.importCssString(cssText);
2037
+ dom.importCssString(cssText, "settings_menu.css", false);
1875
2038
 
1876
2039
  module.exports.overlayPage = function overlayPage(editor, contentElement, callback) {
1877
2040
  var closer = document.createElement('div');
2041
+ var ignoreFocusOut = false;
1878
2042
 
1879
2043
  function documentEscListener(e) {
1880
2044
  if (e.keyCode === 27) {
@@ -1886,17 +2050,28 @@ module.exports.overlayPage = function overlayPage(editor, contentElement, callba
1886
2050
  if (!closer) return;
1887
2051
  document.removeEventListener('keydown', documentEscListener);
1888
2052
  closer.parentNode.removeChild(closer);
1889
- editor.focus();
2053
+ if (editor) {
2054
+ editor.focus();
2055
+ }
1890
2056
  closer = null;
1891
2057
  callback && callback();
1892
2058
  }
2059
+ function setIgnoreFocusOut(ignore) {
2060
+ ignoreFocusOut = ignore;
2061
+ if (ignore) {
2062
+ closer.style.pointerEvents = "none";
2063
+ contentElement.style.pointerEvents = "auto";
2064
+ }
2065
+ }
1893
2066
 
1894
2067
  closer.style.cssText = 'margin: 0; padding: 0; ' +
1895
2068
  'position: fixed; top:0; bottom:0; left:0; right:0;' +
1896
2069
  'z-index: 9990; ' +
1897
- 'background-color: rgba(0, 0, 0, 0.3);';
1898
- closer.addEventListener('click', function() {
1899
- close();
2070
+ (editor ? 'background-color: rgba(0, 0, 0, 0.3);' : '');
2071
+ closer.addEventListener('click', function(e) {
2072
+ if (!ignoreFocusOut) {
2073
+ close();
2074
+ }
1900
2075
  });
1901
2076
  document.addEventListener('keydown', documentEscListener);
1902
2077
 
@@ -1906,15 +2081,18 @@ module.exports.overlayPage = function overlayPage(editor, contentElement, callba
1906
2081
 
1907
2082
  closer.appendChild(contentElement);
1908
2083
  document.body.appendChild(closer);
1909
- editor.blur();
2084
+ if (editor) {
2085
+ editor.blur();
2086
+ }
1910
2087
  return {
1911
- close: close
2088
+ close: close,
2089
+ setIgnoreFocusOut: setIgnoreFocusOut
1912
2090
  };
1913
2091
  };
1914
2092
 
1915
2093
  });
1916
2094
 
1917
- ace.define("ace/ext/modelist",["require","exports","module"], function(require, exports, module) {
2095
+ ace.define("ace/ext/modelist",[], function(require, exports, module) {
1918
2096
  "use strict";
1919
2097
 
1920
2098
  var modes = [];
@@ -1955,23 +2133,23 @@ var supportedModes = {
1955
2133
  ABC: ["abc"],
1956
2134
  ActionScript:["as"],
1957
2135
  ADA: ["ada|adb"],
2136
+ Alda: ["alda"],
1958
2137
  Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
2138
+ Apex: ["apex|cls|trigger|tgr"],
2139
+ AQL: ["aql"],
1959
2140
  AsciiDoc: ["asciidoc|adoc"],
1960
- ASL: ["dsl|asl"],
2141
+ ASL: ["dsl|asl|asl.json"],
1961
2142
  Assembly_x86:["asm|a"],
1962
2143
  AutoHotKey: ["ahk"],
1963
- Apex: ["apex|cls|trigger|tgr"],
1964
- AQL: ["aql"],
1965
2144
  BatchFile: ["bat|cmd"],
1966
- Bro: ["bro"],
1967
2145
  C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
1968
2146
  C9Search: ["c9search_results"],
1969
- Crystal: ["cr"],
1970
2147
  Cirru: ["cirru|cr"],
1971
2148
  Clojure: ["clj|cljs"],
1972
2149
  Cobol: ["CBL|COB"],
1973
2150
  coffee: ["coffee|cf|cson|^Cakefile"],
1974
2151
  ColdFusion: ["cfm"],
2152
+ Crystal: ["cr"],
1975
2153
  CSharp: ["cs"],
1976
2154
  Csound_Document: ["csd"],
1977
2155
  Csound_Orchestra: ["orc"],
@@ -2019,6 +2197,7 @@ var supportedModes = {
2019
2197
  Java: ["java"],
2020
2198
  JavaScript: ["js|jsm|jsx"],
2021
2199
  JSON: ["json"],
2200
+ JSON5: ["json5"],
2022
2201
  JSONiq: ["jq"],
2023
2202
  JSP: ["jsp"],
2024
2203
  JSSM: ["jssm|jssm_state"],
@@ -2026,6 +2205,7 @@ var supportedModes = {
2026
2205
  Julia: ["jl"],
2027
2206
  Kotlin: ["kt|kts"],
2028
2207
  LaTeX: ["tex|latex|ltx|bib"],
2208
+ Latte: ["latte"],
2029
2209
  LESS: ["less"],
2030
2210
  Liquid: ["liquid"],
2031
2211
  Lisp: ["lisp"],
@@ -2040,31 +2220,36 @@ var supportedModes = {
2040
2220
  Mask: ["mask"],
2041
2221
  MATLAB: ["matlab"],
2042
2222
  Maze: ["mz"],
2223
+ MediaWiki: ["wiki|mediawiki"],
2043
2224
  MEL: ["mel"],
2225
+ MIPS: ["s|asm"],
2044
2226
  MIXAL: ["mixal"],
2045
2227
  MUSHCode: ["mc|mush"],
2046
2228
  MySQL: ["mysql"],
2047
2229
  Nginx: ["nginx|conf"],
2048
- Nix: ["nix"],
2049
2230
  Nim: ["nim"],
2231
+ Nix: ["nix"],
2050
2232
  NSIS: ["nsi|nsh"],
2233
+ Nunjucks: ["nunjucks|nunjs|nj|njk"],
2051
2234
  ObjectiveC: ["m|mm"],
2052
2235
  OCaml: ["ml|mli"],
2053
2236
  Pascal: ["pas|p"],
2054
2237
  Perl: ["pl|pm"],
2055
- Perl6: ["p6|pl6|pm6"],
2056
2238
  pgSQL: ["pgsql"],
2057
- PHP_Laravel_blade: ["blade.php"],
2058
2239
  PHP: ["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],
2059
- Puppet: ["epp|pp"],
2240
+ PHP_Laravel_blade: ["blade.php"],
2060
2241
  Pig: ["pig"],
2061
2242
  Powershell: ["ps1"],
2062
2243
  Praat: ["praat|praatscript|psc|proc"],
2244
+ Prisma: ["prisma"],
2063
2245
  Prolog: ["plg|prolog"],
2064
2246
  Properties: ["properties"],
2065
2247
  Protobuf: ["proto"],
2248
+ Puppet: ["epp|pp"],
2066
2249
  Python: ["py"],
2250
+ QML: ["qml"],
2067
2251
  R: ["r"],
2252
+ Raku: ["raku|rakumod|rakutest|p6|pl6|pm6"],
2068
2253
  Razor: ["cshtml|asp"],
2069
2254
  RDoc: ["Rd"],
2070
2255
  Red: ["red|reds"],
@@ -2076,11 +2261,13 @@ var supportedModes = {
2076
2261
  SCAD: ["scad"],
2077
2262
  Scala: ["scala|sbt"],
2078
2263
  Scheme: ["scm|sm|rkt|oak|scheme"],
2264
+ Scrypt: ["scrypt"],
2079
2265
  SCSS: ["scss"],
2080
2266
  SH: ["sh|bash|^.bashrc"],
2081
2267
  SJS: ["sjs"],
2082
2268
  Slim: ["slim|skim"],
2083
2269
  Smarty: ["smarty|tpl"],
2270
+ Smithy: ["smithy"],
2084
2271
  snippets: ["snippets"],
2085
2272
  Soy_Template:["soy"],
2086
2273
  Space: ["space"],
@@ -2096,7 +2283,7 @@ var supportedModes = {
2096
2283
  Textile: ["textile"],
2097
2284
  Toml: ["toml"],
2098
2285
  TSX: ["tsx"],
2099
- Twig: ["latte|twig|swig"],
2286
+ Twig: ["twig|swig"],
2100
2287
  Typescript: ["ts|typescript|str"],
2101
2288
  Vala: ["vala"],
2102
2289
  VBScript: ["vbs|vb"],
@@ -2108,6 +2295,7 @@ var supportedModes = {
2108
2295
  XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],
2109
2296
  XQuery: ["xq"],
2110
2297
  YAML: ["yaml|yml"],
2298
+ Zeek: ["zeek|bro"],
2111
2299
  Django: ["html"]
2112
2300
  };
2113
2301
 
@@ -2127,6 +2315,7 @@ var nameOverrides = {
2127
2315
  Perl6: "Perl 6",
2128
2316
  AutoHotKey: "AutoHotkey / AutoIt"
2129
2317
  };
2318
+
2130
2319
  var modesByName = {};
2131
2320
  for (var name in supportedModes) {
2132
2321
  var data = supportedModes[name];
@@ -2145,7 +2334,7 @@ module.exports = {
2145
2334
 
2146
2335
  });
2147
2336
 
2148
- ace.define("ace/ext/prompt",["require","exports","module","ace/range","ace/lib/dom","ace/ext/menu_tools/get_editor_keyboard_shortcuts","ace/autocomplete","ace/autocomplete/popup","ace/autocomplete/popup","ace/undomanager","ace/tokenizer","ace/ext/menu_tools/overlay_page","ace/ext/modelist"], function(require, exports, module) {
2337
+ ace.define("ace/ext/prompt",[], function(require, exports, module) {
2149
2338
  "use strict";
2150
2339
 
2151
2340
  var Range = require("../range").Range;
@@ -2155,9 +2344,9 @@ var FilteredList= require("../autocomplete").FilteredList;
2155
2344
  var AcePopup = require('../autocomplete/popup').AcePopup;
2156
2345
  var $singleLineEditor = require('../autocomplete/popup').$singleLineEditor;
2157
2346
  var UndoManager = require("../undomanager").UndoManager;
2158
- var Tokenizer = require("ace/tokenizer").Tokenizer;
2159
- var overlayPage = require('./menu_tools/overlay_page').overlayPage;
2160
- var modelist = require("ace/ext/modelist");
2347
+ var Tokenizer = require("../tokenizer").Tokenizer;
2348
+ var overlayPage = require("./menu_tools/overlay_page").overlayPage;
2349
+ var modelist = require("./modelist");
2161
2350
  var openPrompt;
2162
2351
 
2163
2352
  function prompt(editor, message, options, callback) {
@@ -2176,14 +2365,18 @@ function prompt(editor, message, options, callback) {
2176
2365
 
2177
2366
  var cmdLine = $singleLineEditor();
2178
2367
  cmdLine.session.setUndoManager(new UndoManager());
2179
- cmdLine.setOption("fontSize", editor.getOption("fontSize"));
2180
2368
 
2181
- var el = dom.buildDom(["div", {class: "ace_prompt_container"}]);
2369
+ var el = dom.buildDom(["div", {class: "ace_prompt_container" + (options.hasDescription ? " input-box-with-description" : "")}]);
2182
2370
  var overlay = overlayPage(editor, el, done);
2183
2371
  el.appendChild(cmdLine.container);
2184
2372
 
2185
- editor.cmdLine = cmdLine;
2186
- cmdLine.setValue(message, 1);
2373
+ if (editor) {
2374
+ editor.cmdLine = cmdLine;
2375
+ cmdLine.setOption("fontSize", editor.getOption("fontSize"));
2376
+ }
2377
+ if (message) {
2378
+ cmdLine.setValue(message, 1);
2379
+ }
2187
2380
  if (options.selection) {
2188
2381
  cmdLine.selection.setRange({
2189
2382
  start: cmdLine.session.doc.indexToPosition(options.selection[0]),
@@ -2219,14 +2412,26 @@ function prompt(editor, message, options, callback) {
2219
2412
  cmdLine.session.bgTokenizer.setTokenizer(tokenizer);
2220
2413
  }
2221
2414
 
2415
+ if (options.placeholder) {
2416
+ cmdLine.setOption("placeholder", options.placeholder);
2417
+ }
2418
+
2419
+ if (options.hasDescription) {
2420
+ var promptTextContainer = dom.buildDom(["div", {class: "ace_prompt_text_container"}]);
2421
+ dom.buildDom(options.prompt || "Press 'Enter' to confirm or 'Escape' to cancel", promptTextContainer);
2422
+ el.appendChild(promptTextContainer);
2423
+ }
2424
+
2425
+ overlay.setIgnoreFocusOut(options.ignoreFocusOut);
2426
+
2222
2427
  function accept() {
2223
2428
  var val;
2224
- if (popup.getCursorPosition().row > 0) {
2429
+ if (popup && popup.getCursorPosition().row > 0) {
2225
2430
  val = valueFromRecentList();
2226
2431
  } else {
2227
2432
  val = cmdLine.getValue();
2228
2433
  }
2229
- var curData = popup.getData(popup.getRow());
2434
+ var curData = popup ? popup.getData(popup.getRow()) : val;
2230
2435
  if (curData && !curData.error) {
2231
2436
  done();
2232
2437
  options.onAccept && options.onAccept({
@@ -2236,22 +2441,29 @@ function prompt(editor, message, options, callback) {
2236
2441
  }
2237
2442
  }
2238
2443
 
2239
- cmdLine.commands.bindKeys({
2444
+ var keys = {
2240
2445
  "Enter": accept,
2241
2446
  "Esc|Shift-Esc": function() {
2242
2447
  options.onCancel && options.onCancel(cmdLine.getValue(), cmdLine);
2243
2448
  done();
2244
- },
2245
- "Up": function(editor) { popup.goTo("up"); valueFromRecentList();},
2246
- "Down": function(editor) { popup.goTo("down"); valueFromRecentList();},
2247
- "Ctrl-Up|Ctrl-Home": function(editor) { popup.goTo("start"); valueFromRecentList();},
2248
- "Ctrl-Down|Ctrl-End": function(editor) { popup.goTo("end"); valueFromRecentList();},
2249
- "Tab": function(editor) {
2250
- popup.goTo("down"); valueFromRecentList();
2251
- },
2252
- "PageUp": function(editor) { popup.gotoPageUp(); valueFromRecentList();},
2253
- "PageDown": function(editor) { popup.gotoPageDown(); valueFromRecentList();}
2254
- });
2449
+ }
2450
+ };
2451
+
2452
+ if (popup) {
2453
+ Object.assign(keys, {
2454
+ "Up": function(editor) { popup.goTo("up"); valueFromRecentList();},
2455
+ "Down": function(editor) { popup.goTo("down"); valueFromRecentList();},
2456
+ "Ctrl-Up|Ctrl-Home": function(editor) { popup.goTo("start"); valueFromRecentList();},
2457
+ "Ctrl-Down|Ctrl-End": function(editor) { popup.goTo("end"); valueFromRecentList();},
2458
+ "Tab": function(editor) {
2459
+ popup.goTo("down"); valueFromRecentList();
2460
+ },
2461
+ "PageUp": function(editor) { popup.gotoPageUp(); valueFromRecentList();},
2462
+ "PageDown": function(editor) { popup.gotoPageDown(); valueFromRecentList();}
2463
+ });
2464
+ }
2465
+
2466
+ cmdLine.commands.bindKeys(keys);
2255
2467
 
2256
2468
  function done() {
2257
2469
  overlay.close();
@@ -2284,7 +2496,9 @@ function prompt(editor, message, options, callback) {
2284
2496
  }
2285
2497
 
2286
2498
  cmdLine.resize(true);
2287
- popup.resize(true);
2499
+ if (popup) {
2500
+ popup.resize(true);
2501
+ }
2288
2502
  cmdLine.focus();
2289
2503
 
2290
2504
  openPrompt = {
@@ -2417,13 +2631,10 @@ prompt.commands = function(editor, callback) {
2417
2631
  var platform = handler.platform;
2418
2632
  var cbn = handler.byName;
2419
2633
  for (var i in cbn) {
2420
- var key;
2421
- if (cbn[i].bindKey && cbn[i].bindKey[platform] !== null) {
2422
- key = cbn[i].bindKey["win"];
2423
- } else {
2424
- key = "";
2634
+ var key = cbn[i].bindKey;
2635
+ if (typeof key !== "string") {
2636
+ key = key && key[platform] || "";
2425
2637
  }
2426
-
2427
2638
  var commands = cbn[i];
2428
2639
  var description = commands.description || normalizeName(commands.name);
2429
2640
  if (!Array.isArray(commands))
@@ -2580,7 +2791,7 @@ dom.importCssString(".ace_prompt_container {\
2580
2791
  background: white;\
2581
2792
  border-radius: 2px;\
2582
2793
  box-shadow: 0px 2px 3px 0px #555;\
2583
- }");
2794
+ }", "promtp.css", false);
2584
2795
 
2585
2796
 
2586
2797
  exports.prompt = prompt;