@openui5/sap.ui.codeeditor 1.133.1 → 1.135.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 (450) hide show
  1. package/.reuse/dep5 +0 -7
  2. package/THIRDPARTY.txt +2 -23
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +2 -2
  5. package/src/sap/ui/codeeditor/CodeEditor.js +4 -4
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +6564 -6162
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +55 -23
  8. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-1.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/main-10.svg +4 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/main-11.svg +5 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/main-12.svg +4 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/main-24.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/main-25.svg +1 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/main-26.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +8 -6
  28. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +4 -6
  29. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +8 -3
  30. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +5 -3
  31. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor.css +221 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor_dark.css +224 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/theme/github_light_default.css +164 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +2 -2
  35. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +1 -6
  37. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +4 -2
  38. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +24 -6
  40. package/src/sap/ui/codeeditor/js/ace/ext-error_marker.js +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +198 -87
  42. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +8 -5
  43. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +180 -79
  44. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +7 -3
  46. package/src/sap/ui/codeeditor/js/ace/ext-options.js +12 -5
  47. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +202 -116
  48. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +14 -12
  50. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +12 -5
  51. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/ext-split.js +2 -1
  53. package/src/sap/ui/codeeditor/js/ace/ext-static_highlight.js +0 -0
  54. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +0 -0
  55. package/src/sap/ui/codeeditor/js/ace/ext-textarea.js +476 -3
  56. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +6 -2
  57. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +0 -0
  58. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +13 -6
  59. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +748 -373
  60. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +0 -0
  61. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +3 -3
  64. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +0 -0
  65. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +6 -6
  66. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +3 -3
  67. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +3 -3
  68. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +0 -0
  69. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +14 -14
  70. package/src/sap/ui/codeeditor/js/ace/mode-assembly_arm32.js +185 -0
  71. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +0 -0
  72. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +377 -317
  73. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +0 -0
  74. package/src/sap/ui/codeeditor/js/ace/mode-basic.js +201 -0
  75. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +0 -0
  76. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +1 -1
  77. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +13 -13
  78. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +0 -0
  79. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +13 -13
  80. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +3 -3
  81. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +0 -0
  82. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +377 -317
  83. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +6 -6
  84. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +9 -9
  85. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +75 -78
  86. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +22 -22
  87. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +0 -0
  88. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +0 -0
  89. package/src/sap/ui/codeeditor/js/ace/mode-css.js +6 -3
  90. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +377 -317
  91. package/src/sap/ui/codeeditor/js/ace/mode-d.js +12 -12
  92. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +17 -17
  93. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +0 -0
  94. package/src/sap/ui/codeeditor/js/ace/mode-django.js +377 -317
  95. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +3 -3
  96. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +6 -6
  97. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +18 -18
  98. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +4 -4
  99. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +4 -4
  100. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +402 -342
  101. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +0 -0
  102. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +0 -0
  103. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +15 -15
  104. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +7 -7
  105. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +0 -0
  106. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +12 -12
  107. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +0 -0
  108. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +54 -57
  109. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +4 -4
  110. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +3 -3
  111. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +1 -1
  112. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +13 -13
  113. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +371 -65
  114. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +10 -10
  115. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +0 -0
  116. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +381 -75
  117. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +84 -87
  118. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +379 -319
  119. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +0 -0
  120. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +1 -1
  121. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +10 -10
  122. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +0 -0
  123. package/src/sap/ui/codeeditor/js/ace/mode-html.js +377 -317
  124. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +472 -412
  125. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +484 -424
  126. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +0 -0
  127. package/src/sap/ui/codeeditor/js/ace/mode-io.js +0 -0
  128. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +2 -2
  129. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +67 -70
  130. package/src/sap/ui/codeeditor/js/ace/mode-java.js +383 -77
  131. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +371 -65
  132. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +7 -7
  133. package/src/sap/ui/codeeditor/js/ace/mode-json.js +8 -8
  134. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +8 -8
  135. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +4 -5
  136. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +67 -70
  137. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +0 -0
  138. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +960 -89
  139. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +0 -0
  140. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +0 -0
  141. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +0 -0
  142. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +381 -321
  143. package/src/sap/ui/codeeditor/js/ace/mode-less.js +12 -9
  144. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +385 -325
  145. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +2 -2
  146. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +0 -0
  147. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +0 -0
  148. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +6 -9
  149. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +0 -0
  150. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +5 -5
  151. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +382 -322
  152. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +0 -0
  153. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +3 -3
  154. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +474 -414
  155. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +53 -56
  156. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +1 -1
  157. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +0 -0
  158. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +0 -0
  159. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +1 -1
  160. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +0 -0
  161. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +7 -7
  162. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +7 -7
  163. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +16 -16
  164. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +0 -0
  165. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +379 -319
  166. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +15 -15
  167. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +7 -7
  168. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +10 -10
  169. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +0 -0
  170. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +6 -6
  171. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +98 -104
  172. package/src/sap/ui/codeeditor/js/ace/mode-php.js +797 -616
  173. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +797 -616
  174. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +0 -0
  175. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +0 -0
  176. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +3 -3
  177. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +6 -6
  178. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +0 -0
  179. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +0 -0
  180. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +0 -0
  181. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +18 -18
  182. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +7 -4
  183. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +0 -0
  184. package/src/sap/ui/codeeditor/js/ace/mode-python.js +17 -17
  185. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +5 -5
  186. package/src/sap/ui/codeeditor/js/ace/mode-r.js +13 -13
  187. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +8 -8
  188. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +386 -326
  189. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +6 -6
  190. package/src/sap/ui/codeeditor/js/ace/mode-red.js +0 -0
  191. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +32 -32
  192. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +390 -330
  193. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +0 -0
  194. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +25 -25
  195. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +39 -32
  196. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +13 -13
  197. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +14 -11
  198. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +14 -14
  199. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +381 -75
  200. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +2 -2
  201. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +10 -10
  202. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +14 -11
  203. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +3 -3
  204. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +371 -65
  205. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +521 -461
  206. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +377 -317
  207. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +0 -0
  208. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +377 -317
  209. package/src/sap/ui/codeeditor/js/ace/mode-space.js +0 -0
  210. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +0 -0
  211. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +12 -6
  212. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +5 -5
  213. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +10 -7
  214. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +132 -75
  215. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +5 -4
  216. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +7 -7
  217. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +0 -0
  218. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +6 -6
  219. package/src/sap/ui/codeeditor/js/ace/mode-text.js +0 -0
  220. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +0 -0
  221. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +0 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +492 -182
  223. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +0 -0
  224. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +379 -319
  225. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +371 -65
  226. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +0 -0
  227. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +0 -0
  228. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +387 -327
  229. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +1 -1
  230. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +4 -4
  231. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +377 -317
  232. package/src/sap/ui/codeeditor/js/ace/mode-vue.js +3834 -0
  233. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +382 -76
  234. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +18 -10
  235. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +4 -5
  236. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +5 -5
  237. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +2 -2
  238. package/src/sap/ui/codeeditor/js/ace/mode-zig.js +585 -0
  239. package/src/sap/ui/codeeditor/js/ace/snippets/abap.js +0 -0
  240. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +0 -0
  241. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +0 -0
  242. package/src/sap/ui/codeeditor/js/ace/snippets/ada.js +0 -0
  243. package/src/sap/ui/codeeditor/js/ace/snippets/apache_conf.js +0 -0
  244. package/src/sap/ui/codeeditor/js/ace/snippets/applescript.js +0 -0
  245. package/src/sap/ui/codeeditor/js/ace/snippets/asciidoc.js +0 -0
  246. package/src/sap/ui/codeeditor/js/ace/snippets/asl.js +0 -0
  247. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_arm32.js +9 -0
  248. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_x86.js +0 -0
  249. package/src/sap/ui/codeeditor/js/ace/snippets/autohotkey.js +0 -0
  250. package/src/sap/ui/codeeditor/js/ace/snippets/basic.js +9 -0
  251. package/src/sap/ui/codeeditor/js/ace/snippets/batchfile.js +0 -0
  252. package/src/sap/ui/codeeditor/js/ace/snippets/c9search.js +0 -0
  253. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +0 -0
  254. package/src/sap/ui/codeeditor/js/ace/snippets/cirru.js +0 -0
  255. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +0 -0
  256. package/src/sap/ui/codeeditor/js/ace/snippets/cobol.js +0 -0
  257. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +0 -0
  258. package/src/sap/ui/codeeditor/js/ace/snippets/coldfusion.js +0 -0
  259. package/src/sap/ui/codeeditor/js/ace/snippets/csharp.js +0 -0
  260. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +0 -0
  261. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +0 -0
  262. package/src/sap/ui/codeeditor/js/ace/snippets/csound_score.js +0 -0
  263. package/src/sap/ui/codeeditor/js/ace/snippets/csp.js +0 -0
  264. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +0 -0
  265. package/src/sap/ui/codeeditor/js/ace/snippets/curly.js +0 -0
  266. package/src/sap/ui/codeeditor/js/ace/snippets/d.js +0 -0
  267. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +0 -0
  268. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +0 -0
  269. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +0 -0
  270. package/src/sap/ui/codeeditor/js/ace/snippets/dockerfile.js +0 -0
  271. package/src/sap/ui/codeeditor/js/ace/snippets/dot.js +0 -0
  272. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +0 -0
  273. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +0 -0
  274. package/src/sap/ui/codeeditor/js/ace/snippets/eiffel.js +0 -0
  275. package/src/sap/ui/codeeditor/js/ace/snippets/ejs.js +0 -0
  276. package/src/sap/ui/codeeditor/js/ace/snippets/elixir.js +0 -0
  277. package/src/sap/ui/codeeditor/js/ace/snippets/elm.js +0 -0
  278. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +0 -0
  279. package/src/sap/ui/codeeditor/js/ace/snippets/forth.js +0 -0
  280. package/src/sap/ui/codeeditor/js/ace/snippets/fortran.js +0 -0
  281. package/src/sap/ui/codeeditor/js/ace/snippets/fsharp.js +0 -0
  282. package/src/sap/ui/codeeditor/js/ace/snippets/ftl.js +0 -0
  283. package/src/sap/ui/codeeditor/js/ace/snippets/gcode.js +0 -0
  284. package/src/sap/ui/codeeditor/js/ace/snippets/gherkin.js +0 -0
  285. package/src/sap/ui/codeeditor/js/ace/snippets/gitignore.js +0 -0
  286. package/src/sap/ui/codeeditor/js/ace/snippets/glsl.js +0 -0
  287. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +0 -0
  288. package/src/sap/ui/codeeditor/js/ace/snippets/golang.js +0 -0
  289. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +0 -0
  290. package/src/sap/ui/codeeditor/js/ace/snippets/groovy.js +0 -0
  291. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +0 -0
  292. package/src/sap/ui/codeeditor/js/ace/snippets/handlebars.js +0 -0
  293. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +0 -0
  294. package/src/sap/ui/codeeditor/js/ace/snippets/haskell_cabal.js +0 -0
  295. package/src/sap/ui/codeeditor/js/ace/snippets/haxe.js +0 -0
  296. package/src/sap/ui/codeeditor/js/ace/snippets/hjson.js +0 -0
  297. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +0 -0
  298. package/src/sap/ui/codeeditor/js/ace/snippets/html_elixir.js +0 -0
  299. package/src/sap/ui/codeeditor/js/ace/snippets/html_ruby.js +0 -0
  300. package/src/sap/ui/codeeditor/js/ace/snippets/ini.js +0 -0
  301. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +0 -0
  302. package/src/sap/ui/codeeditor/js/ace/snippets/jack.js +0 -0
  303. package/src/sap/ui/codeeditor/js/ace/snippets/jade.js +0 -0
  304. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +0 -0
  305. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +0 -0
  306. package/src/sap/ui/codeeditor/js/ace/snippets/json.js +0 -0
  307. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +0 -0
  308. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +0 -0
  309. package/src/sap/ui/codeeditor/js/ace/snippets/jssm.js +0 -0
  310. package/src/sap/ui/codeeditor/js/ace/snippets/jsx.js +0 -0
  311. package/src/sap/ui/codeeditor/js/ace/snippets/julia.js +0 -0
  312. package/src/sap/ui/codeeditor/js/ace/snippets/kotlin.js +0 -0
  313. package/src/sap/ui/codeeditor/js/ace/snippets/latex.js +0 -0
  314. package/src/sap/ui/codeeditor/js/ace/snippets/less.js +0 -0
  315. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +0 -0
  316. package/src/sap/ui/codeeditor/js/ace/snippets/lisp.js +0 -0
  317. package/src/sap/ui/codeeditor/js/ace/snippets/livescript.js +0 -0
  318. package/src/sap/ui/codeeditor/js/ace/snippets/logiql.js +0 -0
  319. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +0 -0
  320. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +0 -0
  321. package/src/sap/ui/codeeditor/js/ace/snippets/luapage.js +0 -0
  322. package/src/sap/ui/codeeditor/js/ace/snippets/lucene.js +0 -0
  323. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +0 -0
  324. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +0 -0
  325. package/src/sap/ui/codeeditor/js/ace/snippets/mask.js +0 -0
  326. package/src/sap/ui/codeeditor/js/ace/snippets/matlab.js +0 -0
  327. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +0 -0
  328. package/src/sap/ui/codeeditor/js/ace/snippets/mel.js +0 -0
  329. package/src/sap/ui/codeeditor/js/ace/snippets/mixal.js +0 -0
  330. package/src/sap/ui/codeeditor/js/ace/snippets/mushcode.js +0 -0
  331. package/src/sap/ui/codeeditor/js/ace/snippets/mysql.js +0 -0
  332. package/src/sap/ui/codeeditor/js/ace/snippets/nix.js +0 -0
  333. package/src/sap/ui/codeeditor/js/ace/snippets/nsis.js +0 -0
  334. package/src/sap/ui/codeeditor/js/ace/snippets/objectivec.js +0 -0
  335. package/src/sap/ui/codeeditor/js/ace/snippets/ocaml.js +0 -0
  336. package/src/sap/ui/codeeditor/js/ace/snippets/pascal.js +0 -0
  337. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +0 -0
  338. package/src/sap/ui/codeeditor/js/ace/snippets/pgsql.js +0 -0
  339. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +0 -0
  340. package/src/sap/ui/codeeditor/js/ace/snippets/php_laravel_blade.js +0 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/pig.js +0 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/plain_text.js +0 -0
  343. package/src/sap/ui/codeeditor/js/ace/snippets/powershell.js +0 -0
  344. package/src/sap/ui/codeeditor/js/ace/snippets/praat.js +0 -0
  345. package/src/sap/ui/codeeditor/js/ace/snippets/prolog.js +0 -0
  346. package/src/sap/ui/codeeditor/js/ace/snippets/properties.js +0 -0
  347. package/src/sap/ui/codeeditor/js/ace/snippets/protobuf.js +0 -0
  348. package/src/sap/ui/codeeditor/js/ace/snippets/puppet.js +0 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +0 -0
  350. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +0 -0
  351. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +0 -0
  352. package/src/sap/ui/codeeditor/js/ace/snippets/rdoc.js +0 -0
  353. package/src/sap/ui/codeeditor/js/ace/snippets/red.js +0 -0
  354. package/src/sap/ui/codeeditor/js/ace/snippets/redshift.js +0 -0
  355. package/src/sap/ui/codeeditor/js/ace/snippets/rhtml.js +0 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +0 -0
  357. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +0 -0
  358. package/src/sap/ui/codeeditor/js/ace/snippets/rust.js +0 -0
  359. package/src/sap/ui/codeeditor/js/ace/snippets/sass.js +0 -0
  360. package/src/sap/ui/codeeditor/js/ace/snippets/scad.js +0 -0
  361. package/src/sap/ui/codeeditor/js/ace/snippets/scala.js +0 -0
  362. package/src/sap/ui/codeeditor/js/ace/snippets/scheme.js +0 -0
  363. package/src/sap/ui/codeeditor/js/ace/snippets/scss.js +0 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +0 -0
  365. package/src/sap/ui/codeeditor/js/ace/snippets/sjs.js +0 -0
  366. package/src/sap/ui/codeeditor/js/ace/snippets/slim.js +0 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/smarty.js +0 -0
  368. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +0 -0
  369. package/src/sap/ui/codeeditor/js/ace/snippets/soy_template.js +0 -0
  370. package/src/sap/ui/codeeditor/js/ace/snippets/space.js +0 -0
  371. package/src/sap/ui/codeeditor/js/ace/snippets/sparql.js +0 -0
  372. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +0 -0
  373. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +0 -0
  374. package/src/sap/ui/codeeditor/js/ace/snippets/stylus.js +0 -0
  375. package/src/sap/ui/codeeditor/js/ace/snippets/svg.js +0 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/swift.js +0 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +0 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/terraform.js +0 -0
  379. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +0 -0
  380. package/src/sap/ui/codeeditor/js/ace/snippets/text.js +0 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +0 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/toml.js +0 -0
  383. package/src/sap/ui/codeeditor/js/ace/snippets/tsx.js +0 -0
  384. package/src/sap/ui/codeeditor/js/ace/snippets/turtle.js +0 -0
  385. package/src/sap/ui/codeeditor/js/ace/snippets/twig.js +0 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/typescript.js +0 -0
  387. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +0 -0
  388. package/src/sap/ui/codeeditor/js/ace/snippets/vbscript.js +0 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +0 -0
  390. package/src/sap/ui/codeeditor/js/ace/snippets/verilog.js +0 -0
  391. package/src/sap/ui/codeeditor/js/ace/snippets/vhdl.js +0 -0
  392. package/src/sap/ui/codeeditor/js/ace/snippets/vue.js +9 -0
  393. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +0 -0
  394. package/src/sap/ui/codeeditor/js/ace/snippets/xml.js +0 -0
  395. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +0 -0
  396. package/src/sap/ui/codeeditor/js/ace/snippets/yaml.js +0 -0
  397. package/src/sap/ui/codeeditor/js/ace/snippets/zig.js +9 -0
  398. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +0 -0
  399. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +0 -0
  400. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +0 -0
  401. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor.js +18 -0
  402. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor_dark.js +18 -0
  403. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +0 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +0 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +0 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +0 -0
  407. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +0 -0
  408. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +0 -0
  409. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +0 -0
  410. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +0 -0
  411. package/src/sap/ui/codeeditor/js/ace/theme-github.js +0 -0
  412. package/src/sap/ui/codeeditor/js/ace/theme-github_light_default.js +18 -0
  413. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +0 -0
  414. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +0 -0
  415. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +0 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +0 -0
  417. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +0 -0
  418. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +0 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +0 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +0 -0
  421. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +0 -0
  422. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +0 -0
  423. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +0 -0
  424. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +0 -0
  425. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +1 -1
  426. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +0 -0
  427. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +0 -0
  428. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +0 -0
  429. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +0 -0
  430. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +0 -0
  431. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +0 -0
  432. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +0 -0
  433. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +0 -0
  434. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +0 -0
  435. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +0 -0
  436. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +0 -0
  437. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +0 -0
  438. package/src/sap/ui/codeeditor/js/ace/worker-base.js +3 -13
  439. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +3 -13
  440. package/src/sap/ui/codeeditor/js/ace/worker-css.js +3 -13
  441. package/src/sap/ui/codeeditor/js/ace/worker-html.js +3 -13
  442. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +3 -13
  443. package/src/sap/ui/codeeditor/js/ace/worker-json.js +3 -13
  444. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +3 -13
  445. package/src/sap/ui/codeeditor/js/ace/worker-php.js +3 -13
  446. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +8 -15
  447. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +3 -13
  448. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +6 -16
  449. package/src/sap/ui/codeeditor/library.js +2 -2
  450. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
@@ -1,4 +1,4 @@
1
- ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config"], function(require, exports, module){"use strict";
1
+ ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"], function(require, exports, module){"use strict";
2
2
  var Renderer = require("../virtual_renderer").VirtualRenderer;
3
3
  var Editor = require("../editor").Editor;
4
4
  var Range = require("../range").Range;
@@ -6,9 +6,13 @@ var event = require("../lib/event");
6
6
  var lang = require("../lib/lang");
7
7
  var dom = require("../lib/dom");
8
8
  var nls = require("../config").nls;
9
+ var userAgent = require("./../lib/useragent");
9
10
  var getAriaId = function (index) {
10
11
  return "suggest-aria-id:".concat(index);
11
12
  };
13
+ var popupAriaRole = userAgent.isSafari ? "menu" : "listbox";
14
+ var optionAriaRole = userAgent.isSafari ? "menuitem" : "option";
15
+ var ariaActiveState = userAgent.isSafari ? "aria-current" : "aria-selected";
12
16
  var $singleLineEditor = function (el) {
13
17
  var renderer = new Renderer(el);
14
18
  renderer.$maxLines = 4;
@@ -24,15 +28,16 @@ var $singleLineEditor = function (el) {
24
28
  var AcePopup = /** @class */ (function () {
25
29
  function AcePopup(parentNode) {
26
30
  var el = dom.createElement("div");
27
- var popup = new $singleLineEditor(el);
31
+ var popup = $singleLineEditor(el);
28
32
  if (parentNode) {
29
33
  parentNode.appendChild(el);
30
34
  }
31
35
  el.style.display = "none";
32
36
  popup.renderer.content.style.cursor = "default";
33
37
  popup.renderer.setStyle("ace_autocomplete");
34
- popup.renderer.$textLayer.element.setAttribute("role", "listbox");
35
- popup.renderer.$textLayer.element.setAttribute("aria-label", nls("Autocomplete suggestions"));
38
+ popup.renderer.$textLayer.element.setAttribute("role", popupAriaRole);
39
+ popup.renderer.$textLayer.element.setAttribute("aria-roledescription", nls("autocomplete.popup.aria-roledescription", "Autocomplete suggestions"));
40
+ popup.renderer.$textLayer.element.setAttribute("aria-label", nls("autocomplete.popup.aria-label", "Autocomplete suggestions"));
36
41
  popup.renderer.textarea.setAttribute("aria-hidden", "true");
37
42
  popup.setOption("displayIndentGuides", false);
38
43
  popup.setOption("dragDelay", 150);
@@ -40,7 +45,7 @@ var AcePopup = /** @class */ (function () {
40
45
  popup.focus = noop;
41
46
  popup.$isFocused = true;
42
47
  popup.renderer.$cursorLayer.restartTimer = noop;
43
- popup.renderer.$cursorLayer.element.style.opacity = 0;
48
+ popup.renderer.$cursorLayer.element.style.opacity = "0";
44
49
  popup.renderer.$maxLines = 8;
45
50
  popup.renderer.$keepTextAreaAtCursor = false;
46
51
  popup.setHighlightActiveLine(false);
@@ -96,25 +101,28 @@ var AcePopup = /** @class */ (function () {
96
101
  popup.renderer.on("afterRender", function () {
97
102
  var row = popup.getRow();
98
103
  var t = popup.renderer.$textLayer;
99
- var selected = t.element.childNodes[row - t.config.firstRow];
104
+ var selected = /** @type {HTMLElement|null} */ (t.element.childNodes[row - t.config.firstRow]);
100
105
  var el = document.activeElement; // Active element is textarea of main editor
101
- if (selected !== t.selectedNode && t.selectedNode) {
102
- dom.removeCssClass(t.selectedNode, "ace_selected");
106
+ if (selected !== popup.selectedNode && popup.selectedNode) {
107
+ dom.removeCssClass(popup.selectedNode, "ace_selected");
103
108
  el.removeAttribute("aria-activedescendant");
104
- t.selectedNode.removeAttribute("id");
109
+ popup.selectedNode.removeAttribute(ariaActiveState);
110
+ popup.selectedNode.removeAttribute("id");
105
111
  }
106
- t.selectedNode = selected;
112
+ popup.selectedNode = selected;
107
113
  if (selected) {
108
114
  dom.addCssClass(selected, "ace_selected");
109
115
  var ariaId = getAriaId(row);
110
116
  selected.id = ariaId;
111
117
  t.element.setAttribute("aria-activedescendant", ariaId);
112
118
  el.setAttribute("aria-activedescendant", ariaId);
113
- selected.setAttribute("role", "option");
114
- selected.setAttribute("aria-label", popup.getData(row).value);
119
+ selected.setAttribute("role", optionAriaRole);
120
+ selected.setAttribute("aria-roledescription", nls("autocomplete.popup.item.aria-roledescription", "item"));
121
+ selected.setAttribute("aria-label", popup.getData(row).caption || popup.getData(row).value);
115
122
  selected.setAttribute("aria-setsize", popup.data.length);
116
123
  selected.setAttribute("aria-posinset", row + 1);
117
124
  selected.setAttribute("aria-describedby", "doc-tooltip");
125
+ selected.setAttribute(ariaActiveState, "true");
118
126
  }
119
127
  });
120
128
  var hideHoverMarker = function () { setHoverMarker(-1); };
@@ -332,7 +340,7 @@ var AcePopup = /** @class */ (function () {
332
340
  }
333
341
  return AcePopup;
334
342
  }());
335
- dom.importCssString("\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: \"\";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n", "autocompletion.css", false);
343
+ dom.importCssString("\n.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #CAD6FA;\n z-index: 1;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\n background-color: #3a674e;\n}\n.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid #abbffe;\n margin-top: -1px;\n background: rgba(233,233,253,0.4);\n position: absolute;\n z-index: 2;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {\n border: 1px solid rgba(109, 150, 13, 0.8);\n background: rgba(58, 103, 78, 0.62);\n}\n.ace_completion-meta {\n opacity: 0.5;\n margin-left: 0.9em;\n}\n.ace_completion-message {\n margin-left: 0.9em;\n color: blue;\n}\n.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #2d69c7;\n}\n.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{\n color: #93ca12;\n}\n.ace_editor.ace_autocomplete {\n width: 300px;\n z-index: 200000;\n border: 1px lightgray solid;\n position: fixed;\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n line-height: 1.4;\n background: #fefefe;\n color: #111;\n}\n.ace_dark.ace_editor.ace_autocomplete {\n border: 1px #484747 solid;\n box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);\n line-height: 1.4;\n background: #25282c;\n color: #c1c1c1;\n}\n.ace_autocomplete .ace_text-layer {\n width: calc(100% - 8px);\n}\n.ace_autocomplete .ace_line {\n display: flex;\n align-items: center;\n}\n.ace_autocomplete .ace_line > * {\n min-width: 0;\n flex: 0 0 auto;\n}\n.ace_autocomplete .ace_line .ace_ {\n flex: 0 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ace_autocomplete .ace_completion-spacer {\n flex: 1;\n}\n.ace_autocomplete.ace_loading:after {\n content: \"\";\n position: absolute;\n top: 0px;\n height: 2px;\n width: 8%;\n background: blue;\n z-index: 100;\n animation: ace_progress 3s infinite linear;\n animation-delay: 300ms;\n transform: translateX(-100%) scaleX(1);\n}\n@keyframes ace_progress {\n 0% { transform: translateX(-100%) scaleX(1) }\n 50% { transform: translateX(625%) scaleX(2) } \n 100% { transform: translateX(1500%) scaleX(3) } \n}\n@media (prefers-reduced-motion) {\n .ace_autocomplete.ace_loading:after {\n transform: translateX(625%) scaleX(2);\n animation: none;\n }\n}\n", "autocompletion.css", false);
336
344
  exports.AcePopup = AcePopup;
337
345
  exports.$singleLineEditor = $singleLineEditor;
338
346
  exports.getAriaId = getAriaId;
@@ -428,7 +436,7 @@ var SnippetManager = /** @class */ (function () {
428
436
  this.variables = VARIABLES;
429
437
  }
430
438
  SnippetManager.prototype.getTokenizer = function () {
431
- return SnippetManager.$tokenizer || this.createTokenizer();
439
+ return SnippetManager["$tokenizer"] || this.createTokenizer();
432
440
  };
433
441
  SnippetManager.prototype.createTokenizer = function () {
434
442
  function TabstopToken(str) {
@@ -451,7 +459,7 @@ var SnippetManager = /** @class */ (function () {
451
459
  },
452
460
  next: "formatString"
453
461
  };
454
- SnippetManager.$tokenizer = new Tokenizer({
462
+ SnippetManager["$tokenizer"] = new Tokenizer({
455
463
  start: [
456
464
  { regex: /\\./, onMatch: function (val, state, stack) {
457
465
  var ch = val[1];
@@ -548,7 +556,7 @@ var SnippetManager = /** @class */ (function () {
548
556
  { regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "formatString" }
549
557
  ]
550
558
  });
551
- return SnippetManager.$tokenizer;
559
+ return SnippetManager["$tokenizer"];
552
560
  };
553
561
  SnippetManager.prototype.tokenizeTmSnippet = function (str, startState) {
554
562
  return this.getTokenizer().getLineTokens(str, startState).tokens.map(function (x) {
@@ -870,7 +878,7 @@ var SnippetManager = /** @class */ (function () {
870
878
  };
871
879
  SnippetManager.prototype.parseSnippetFile = function (str) {
872
880
  str = str.replace(/\r/g, "");
873
- var list = [], snippet = {};
881
+ var list = [], /**@type{Snippet}*/ snippet = {};
874
882
  var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
875
883
  var m;
876
884
  while (m = re.exec(str)) {
@@ -1147,8 +1155,10 @@ var TabstopManager = /** @class */ (function () {
1147
1155
  if (index == max)
1148
1156
  index = 0;
1149
1157
  this.selectTabstop(index);
1150
- if (index === 0)
1158
+ this.updateTabstopMarkers();
1159
+ if (index === 0) {
1151
1160
  this.detach();
1161
+ }
1152
1162
  };
1153
1163
  TabstopManager.prototype.selectTabstop = function (index) {
1154
1164
  this.$openTabstops = null;
@@ -1193,8 +1203,10 @@ var TabstopManager = /** @class */ (function () {
1193
1203
  var i = this.index;
1194
1204
  var arg = [i + 1, 0];
1195
1205
  var ranges = this.ranges;
1206
+ var snippetId = this.snippetId = (this.snippetId || 0) + 1;
1196
1207
  tabstops.forEach(function (ts, index) {
1197
1208
  var dest = this.$openTabstops[index] || ts;
1209
+ dest.snippetId = snippetId;
1198
1210
  for (var i = 0; i < ts.length; i++) {
1199
1211
  var p = ts[i];
1200
1212
  var range = Range.fromPoints(p.start, p.end || p.start);
@@ -1245,6 +1257,20 @@ var TabstopManager = /** @class */ (function () {
1245
1257
  range.markerId = null;
1246
1258
  });
1247
1259
  };
1260
+ TabstopManager.prototype.updateTabstopMarkers = function () {
1261
+ if (!this.selectedTabstop)
1262
+ return;
1263
+ var currentSnippetId = this.selectedTabstop.snippetId;
1264
+ if (this.selectedTabstop.index === 0) {
1265
+ currentSnippetId--;
1266
+ }
1267
+ this.tabstops.forEach(function (ts) {
1268
+ if (ts.snippetId === currentSnippetId)
1269
+ this.addTabstopMarkers(ts);
1270
+ else
1271
+ this.removeTabstopMarkers(ts);
1272
+ }, this);
1273
+ };
1248
1274
  TabstopManager.prototype.removeRange = function (range) {
1249
1275
  var i = range.tabstop.indexOf(range);
1250
1276
  if (i != -1)
@@ -1315,8 +1341,8 @@ var AceInlineScreenReader = /** @class */ (function () {
1315
1341
  this.editor.container.appendChild(this.screenReaderDiv);
1316
1342
  }
1317
1343
  AceInlineScreenReader.prototype.setScreenReaderContent = function (content) {
1318
- if (!this.popup && this.editor.completer && this.editor.completer.popup) {
1319
- this.popup = this.editor.completer.popup;
1344
+ if (!this.popup && this.editor.completer && /**@type{import("../autocomplete").Autocomplete}*/ (this.editor.completer).popup) {
1345
+ this.popup = /**@type{import("../autocomplete").Autocomplete}*/ (this.editor.completer).popup;
1320
1346
  this.popup.renderer.on("afterRender", function () {
1321
1347
  var row = this.popup.getRow();
1322
1348
  var t = this.popup.renderer.$textLayer;
@@ -1471,21 +1497,20 @@ exports.getCompletionPrefix = function (editor) {
1471
1497
  }.bind(this));
1472
1498
  return prefix || this.retrievePrecedingIdentifier(line, pos.column);
1473
1499
  };
1474
- exports.triggerAutocomplete = function (editor) {
1475
- var pos = editor.getCursorPosition();
1476
- var line = editor.session.getLine(pos.row);
1477
- var column = (pos.column === 0) ? 0 : pos.column - 1;
1478
- var previousChar = line[column];
1479
- return editor.completers.some(function (el) {
1480
- if (el.triggerCharacters && Array.isArray(el.triggerCharacters)) {
1481
- return el.triggerCharacters.includes(previousChar);
1500
+ exports.triggerAutocomplete = function (editor, previousChar) {
1501
+ var previousChar = previousChar == null
1502
+ ? editor.session.getPrecedingCharacter()
1503
+ : previousChar;
1504
+ return editor.completers.some(function (completer) {
1505
+ if (completer.triggerCharacters && Array.isArray(completer.triggerCharacters)) {
1506
+ return completer.triggerCharacters.includes(previousChar);
1482
1507
  }
1483
1508
  });
1484
1509
  };
1485
1510
 
1486
1511
  });
1487
1512
 
1488
- ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event"], function(require, exports, module){"use strict";
1513
+ ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"], function(require, exports, module){"use strict";
1489
1514
  var HashHandler = require("./keyboard/hash_handler").HashHandler;
1490
1515
  var AcePopup = require("./autocomplete/popup").AcePopup;
1491
1516
  var AceInline = require("./autocomplete/inline").AceInline;
@@ -1496,6 +1521,7 @@ var dom = require("./lib/dom");
1496
1521
  var snippetManager = require("./snippets").snippetManager;
1497
1522
  var config = require("./config");
1498
1523
  var event = require("./lib/event");
1524
+ var preventParentScroll = require("./lib/scroll").preventParentScroll;
1499
1525
  var destroyCompleter = function (e, editor) {
1500
1526
  editor.completer && editor.completer.destroy();
1501
1527
  };
@@ -1510,6 +1536,8 @@ var Autocomplete = /** @class */ (function () {
1510
1536
  this.keyboardHandler.bindKeys(this.commands);
1511
1537
  this.parentNode = null;
1512
1538
  this.setSelectOnHover = false;
1539
+ this.hasSeen = new Set();
1540
+ this.showLoadingState = false;
1513
1541
  this.stickySelectionDelay = 500;
1514
1542
  this.blurListener = this.blurListener.bind(this);
1515
1543
  this.changeListener = this.changeListener.bind(this);
@@ -1520,22 +1548,29 @@ var Autocomplete = /** @class */ (function () {
1520
1548
  this.updateCompletions(true);
1521
1549
  }.bind(this));
1522
1550
  this.tooltipTimer = lang.delayedCall(this.updateDocTooltip.bind(this), 50);
1551
+ this.popupTimer = lang.delayedCall(this.$updatePopupPosition.bind(this), 50);
1523
1552
  this.stickySelectionTimer = lang.delayedCall(function () {
1524
1553
  this.stickySelection = true;
1525
1554
  }.bind(this), this.stickySelectionDelay);
1526
- this.$firstOpenTimer = lang.delayedCall(function () {
1555
+ this.$firstOpenTimer = lang.delayedCall(/**@this{Autocomplete}*/ function () {
1527
1556
  var initialPosition = this.completionProvider && this.completionProvider.initialPosition;
1528
- if (this.autoShown || (this.popup && this.popup.isOpen) || !initialPosition)
1557
+ if (this.autoShown || (this.popup && this.popup.isOpen) || !initialPosition || this.editor.completers.length === 0)
1529
1558
  return;
1530
- var completionsForEmpty = [{
1531
- caption: config.nls("Loading..."),
1532
- value: ""
1533
- }];
1534
- this.completions = new FilteredList(completionsForEmpty);
1559
+ this.completions = new FilteredList(Autocomplete.completionsForLoading);
1535
1560
  this.openPopup(this.editor, initialPosition.prefix, false);
1536
1561
  this.popup.renderer.setStyle("ace_loading", true);
1537
1562
  }.bind(this), this.stickySelectionDelay);
1538
1563
  }
1564
+ Object.defineProperty(Autocomplete, "completionsForLoading", {
1565
+ get: function () {
1566
+ return [{
1567
+ caption: config.nls("autocomplete.loading", "Loading..."),
1568
+ value: ""
1569
+ }];
1570
+ },
1571
+ enumerable: false,
1572
+ configurable: true
1573
+ });
1539
1574
  Autocomplete.prototype.$init = function () {
1540
1575
  this.popup = new AcePopup(this.parentNode || document.body || document.documentElement);
1541
1576
  this.popup.on("click", function (e) {
@@ -1548,6 +1583,7 @@ var Autocomplete = /** @class */ (function () {
1548
1583
  this.popup.on("select", this.$onPopupChange.bind(this));
1549
1584
  event.addListener(this.popup.container, "mouseout", this.mouseOutListener.bind(this));
1550
1585
  this.popup.on("changeHoverMarker", this.tooltipTimer.bind(null, null));
1586
+ this.popup.renderer.on("afterRender", this.$onPopupRender.bind(this));
1551
1587
  return this.popup;
1552
1588
  };
1553
1589
  Autocomplete.prototype.$initInline = function () {
@@ -1565,22 +1601,53 @@ var Autocomplete = /** @class */ (function () {
1565
1601
  }
1566
1602
  this.hideDocTooltip();
1567
1603
  this.stickySelectionTimer.cancel();
1604
+ this.popupTimer.cancel();
1568
1605
  this.stickySelection = false;
1569
1606
  };
1607
+ Autocomplete.prototype.$seen = function (completion) {
1608
+ if (!this.hasSeen.has(completion) && completion && completion.completer && completion.completer.onSeen && typeof completion.completer.onSeen === "function") {
1609
+ completion.completer.onSeen(this.editor, completion);
1610
+ this.hasSeen.add(completion);
1611
+ }
1612
+ };
1570
1613
  Autocomplete.prototype.$onPopupChange = function (hide) {
1571
1614
  if (this.inlineRenderer && this.inlineEnabled) {
1572
1615
  var completion = hide ? null : this.popup.getData(this.popup.getRow());
1573
- var prefix = util.getCompletionPrefix(this.editor);
1574
- if (!this.inlineRenderer.show(this.editor, completion, prefix)) {
1575
- this.inlineRenderer.hide();
1576
- }
1616
+ this.$updateGhostText(completion);
1577
1617
  if (this.popup.isMouseOver && this.setSelectOnHover) {
1578
1618
  this.tooltipTimer.call(null, null);
1579
1619
  return;
1580
1620
  }
1621
+ this.popupTimer.schedule();
1622
+ this.tooltipTimer.schedule();
1623
+ }
1624
+ else {
1625
+ this.popupTimer.call(null, null);
1626
+ this.tooltipTimer.call(null, null);
1627
+ }
1628
+ };
1629
+ Autocomplete.prototype.$updateGhostText = function (completion) {
1630
+ var row = this.base.row;
1631
+ var column = this.base.column;
1632
+ var cursorColumn = this.editor.getCursorPosition().column;
1633
+ var prefix = this.editor.session.getLine(row).slice(column, cursorColumn);
1634
+ if (!this.inlineRenderer.show(this.editor, completion, prefix)) {
1635
+ this.inlineRenderer.hide();
1636
+ }
1637
+ else {
1638
+ this.$seen(completion);
1639
+ }
1640
+ };
1641
+ Autocomplete.prototype.$onPopupRender = function () {
1642
+ var inlineEnabled = this.inlineRenderer && this.inlineEnabled;
1643
+ if (this.completions && this.completions.filtered && this.completions.filtered.length > 0) {
1644
+ for (var i = this.popup.getFirstVisibleRow(); i <= this.popup.getLastVisibleRow(); i++) {
1645
+ var completion = this.popup.getData(i);
1646
+ if (completion && (!inlineEnabled || completion.hideInlinePreview)) {
1647
+ this.$seen(completion);
1648
+ }
1649
+ }
1581
1650
  }
1582
- this.$updatePopupPosition();
1583
- this.tooltipTimer.call(null, null);
1584
1651
  };
1585
1652
  Autocomplete.prototype.$onPopupShow = function (hide) {
1586
1653
  this.$onPopupChange(hide);
@@ -1636,7 +1703,11 @@ var Autocomplete = /** @class */ (function () {
1636
1703
  posGhostText.top += renderer.$ghostTextWidget.el.offsetHeight;
1637
1704
  }
1638
1705
  }
1639
- if (this.popup.tryShow(posGhostText, lineHeight, "bottom")) {
1706
+ var editorContainerBottom = editor.container.getBoundingClientRect().bottom - lineHeight;
1707
+ var lowestPosition = editorContainerBottom < posGhostText.top ?
1708
+ { top: editorContainerBottom, left: posGhostText.left } :
1709
+ posGhostText;
1710
+ if (this.popup.tryShow(lowestPosition, lineHeight, "bottom")) {
1640
1711
  return;
1641
1712
  }
1642
1713
  if (this.popup.tryShow(pos, lineHeight, "top")) {
@@ -1652,7 +1723,8 @@ var Autocomplete = /** @class */ (function () {
1652
1723
  this.$initInline();
1653
1724
  this.popup.autoSelect = this.autoSelect;
1654
1725
  this.popup.setSelectOnHover(this.setSelectOnHover);
1655
- var previousSelectedItem = this.popup.data[this.popup.getRow()];
1726
+ var oldRow = this.popup.getRow();
1727
+ var previousSelectedItem = this.popup.data[oldRow];
1656
1728
  this.popup.setData(this.completions.filtered, this.completions.filterText);
1657
1729
  if (this.editor.textInput.setAriaOptions) {
1658
1730
  this.editor.textInput.setAriaOptions({
@@ -1661,11 +1733,19 @@ var Autocomplete = /** @class */ (function () {
1661
1733
  });
1662
1734
  }
1663
1735
  editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
1664
- var newRow = this.popup.data.indexOf(previousSelectedItem);
1665
- if (newRow && this.stickySelection)
1666
- this.popup.setRow(this.autoSelect ? newRow : -1);
1667
- else
1668
- this.popup.setRow(this.autoSelect ? 0 : -1);
1736
+ var newRow;
1737
+ if (this.stickySelection)
1738
+ newRow = this.popup.data.indexOf(previousSelectedItem);
1739
+ if (!newRow || newRow === -1)
1740
+ newRow = 0;
1741
+ this.popup.setRow(this.autoSelect ? newRow : -1);
1742
+ if (newRow === oldRow && previousSelectedItem !== this.completions.filtered[newRow])
1743
+ this.$onPopupChange();
1744
+ var inlineEnabled = this.inlineRenderer && this.inlineEnabled;
1745
+ if (newRow === oldRow && inlineEnabled) {
1746
+ var completion = this.popup.getData(this.popup.getRow());
1747
+ this.$updateGhostText(completion);
1748
+ }
1669
1749
  if (!keepPopupPosition) {
1670
1750
  this.popup.setTheme(editor.getTheme());
1671
1751
  this.popup.setFontSize(editor.getFontSize());
@@ -1674,9 +1754,6 @@ var Autocomplete = /** @class */ (function () {
1674
1754
  this.updateDocTooltip();
1675
1755
  }
1676
1756
  }
1677
- else if (keepPopupPosition && !prefix) {
1678
- this.detach();
1679
- }
1680
1757
  this.changeTimer.cancel();
1681
1758
  this.observeLayoutChanges();
1682
1759
  };
@@ -1696,6 +1773,9 @@ var Autocomplete = /** @class */ (function () {
1696
1773
  }
1697
1774
  if (this.popup && this.popup.isOpen)
1698
1775
  this.popup.hide();
1776
+ if (this.popup && this.popup.renderer) {
1777
+ this.popup.renderer.off("afterRender", this.$onPopupRender);
1778
+ }
1699
1779
  if (this.base)
1700
1780
  this.base.detach();
1701
1781
  this.activated = false;
@@ -1726,7 +1806,7 @@ var Autocomplete = /** @class */ (function () {
1726
1806
  this.detach();
1727
1807
  };
1728
1808
  Autocomplete.prototype.mousewheelListener = function (e) {
1729
- if (!this.popup.isMouseOver)
1809
+ if (this.popup && !this.popup.isMouseOver)
1730
1810
  this.detach();
1731
1811
  };
1732
1812
  Autocomplete.prototype.mouseOutListener = function (e) {
@@ -1794,6 +1874,7 @@ var Autocomplete = /** @class */ (function () {
1794
1874
  this.base = this.editor.session.doc.createAnchor(pos.row, pos.column);
1795
1875
  this.base.$insertRight = true;
1796
1876
  this.completions = new FilteredList(options.matches);
1877
+ this.getCompletionProvider().completions = this.completions;
1797
1878
  return this.openPopup(this.editor, "", keepPopupPosition);
1798
1879
  }
1799
1880
  var session = this.editor.getSession();
@@ -1808,7 +1889,8 @@ var Autocomplete = /** @class */ (function () {
1808
1889
  this.getCompletionProvider({
1809
1890
  prefix: prefix,
1810
1891
  pos: pos
1811
- }).provideCompletions(this.editor, completionOptions, function (err, completions, finished) {
1892
+ }).provideCompletions(this.editor, completionOptions,
1893
+ function (err, completions, finished) {
1812
1894
  var filtered = completions.filtered;
1813
1895
  var prefix = util.getCompletionPrefix(this.editor);
1814
1896
  this.$firstOpenTimer.cancel();
@@ -1821,23 +1903,30 @@ var Autocomplete = /** @class */ (function () {
1821
1903
  var completionsForEmpty = [{
1822
1904
  caption: emptyMessage,
1823
1905
  value: ""
1824
- }];
1906
+ }
1907
+ ];
1825
1908
  this.completions = new FilteredList(completionsForEmpty);
1826
1909
  this.openPopup(this.editor, prefix, keepPopupPosition);
1910
+ this.popup.renderer.setStyle("ace_loading", false);
1911
+ this.popup.renderer.setStyle("ace_empty-message", true);
1827
1912
  return;
1828
1913
  }
1829
1914
  return this.detach();
1830
1915
  }
1831
- if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
1916
+ if (filtered.length == 1 && filtered[0].value == prefix
1917
+ && !filtered[0].snippet)
1832
1918
  return this.detach();
1833
1919
  if (this.autoInsert && !this.autoShown && filtered.length == 1)
1834
1920
  return this.insertMatch(filtered[0]);
1835
1921
  }
1836
- this.completions = completions;
1922
+ this.completions = !finished && this.showLoadingState ?
1923
+ new FilteredList(Autocomplete.completionsForLoading.concat(filtered), completions.filterText) :
1924
+ completions;
1837
1925
  this.openPopup(this.editor, prefix, keepPopupPosition);
1926
+ this.popup.renderer.setStyle("ace_empty-message", false);
1838
1927
  this.popup.renderer.setStyle("ace_loading", !finished);
1839
1928
  }.bind(this));
1840
- if (!this.autoShown && !(this.popup && this.popup.isOpen)) {
1929
+ if (this.showLoadingState && !this.autoShown && !(this.popup && this.popup.isOpen)) {
1841
1930
  this.$firstOpenTimer.delay(this.stickySelectionDelay / 2);
1842
1931
  }
1843
1932
  };
@@ -1870,13 +1959,15 @@ var Autocomplete = /** @class */ (function () {
1870
1959
  Autocomplete.prototype.showDocTooltip = function (item) {
1871
1960
  if (!this.tooltipNode) {
1872
1961
  this.tooltipNode = dom.createElement("div");
1873
- this.tooltipNode.style.margin = 0;
1962
+ this.tooltipNode.style.margin = "0";
1874
1963
  this.tooltipNode.style.pointerEvents = "auto";
1964
+ this.tooltipNode.style.overscrollBehavior = "contain";
1875
1965
  this.tooltipNode.tabIndex = -1;
1876
1966
  this.tooltipNode.onblur = this.blurListener.bind(this);
1877
1967
  this.tooltipNode.onclick = this.onTooltipClick.bind(this);
1878
1968
  this.tooltipNode.id = "doc-tooltip";
1879
1969
  this.tooltipNode.setAttribute("role", "tooltip");
1970
+ this.tooltipNode.addEventListener("wheel", preventParentScroll);
1880
1971
  }
1881
1972
  var theme = this.editor.renderer.theme;
1882
1973
  this.tooltipNode.className = "ace_tooltip ace_doc-tooltip " +
@@ -1956,6 +2047,25 @@ var Autocomplete = /** @class */ (function () {
1956
2047
  }
1957
2048
  this.inlineRenderer = this.popup = this.editor = null;
1958
2049
  };
2050
+ Autocomplete.for = function (editor) {
2051
+ if (editor.completer instanceof Autocomplete) {
2052
+ return editor.completer;
2053
+ }
2054
+ if (editor.completer) {
2055
+ editor.completer.destroy();
2056
+ editor.completer = null;
2057
+ }
2058
+ if (config.get("sharedPopups")) {
2059
+ if (!Autocomplete["$sharedInstance"])
2060
+ Autocomplete["$sharedInstance"] = new Autocomplete();
2061
+ editor.completer = Autocomplete["$sharedInstance"];
2062
+ }
2063
+ else {
2064
+ editor.completer = new Autocomplete();
2065
+ editor.once("destroy", destroyCompleter);
2066
+ }
2067
+ return editor.completer;
2068
+ };
1959
2069
  return Autocomplete;
1960
2070
  }());
1961
2071
  Autocomplete.prototype.commands = {
@@ -1973,28 +2083,15 @@ Autocomplete.prototype.commands = {
1973
2083
  else
1974
2084
  return result;
1975
2085
  },
2086
+ "Backspace": function (editor) {
2087
+ editor.execCommand("backspace");
2088
+ var prefix = util.getCompletionPrefix(editor);
2089
+ if (!prefix && editor.completer)
2090
+ editor.completer.detach();
2091
+ },
1976
2092
  "PageUp": function (editor) { editor.completer.popup.gotoPageUp(); },
1977
2093
  "PageDown": function (editor) { editor.completer.popup.gotoPageDown(); }
1978
2094
  };
1979
- Autocomplete.for = function (editor) {
1980
- if (editor.completer instanceof Autocomplete) {
1981
- return editor.completer;
1982
- }
1983
- if (editor.completer) {
1984
- editor.completer.destroy();
1985
- editor.completer = null;
1986
- }
1987
- if (config.get("sharedPopups")) {
1988
- if (!Autocomplete.$sharedInstance)
1989
- Autocomplete.$sharedInstance = new Autocomplete();
1990
- editor.completer = Autocomplete.$sharedInstance;
1991
- }
1992
- else {
1993
- editor.completer = new Autocomplete();
1994
- editor.once("destroy", destroyCompleter);
1995
- }
1996
- return editor.completer;
1997
- };
1998
2095
  Autocomplete.startCommand = {
1999
2096
  name: "startAutocomplete",
2000
2097
  exec: function (editor, options) {
@@ -2055,6 +2152,9 @@ var CompletionProvider = /** @class */ (function () {
2055
2152
  else {
2056
2153
  this.$insertString(editor, data);
2057
2154
  }
2155
+ if (data.completer && data.completer.onInsert && typeof data.completer.onInsert == "function") {
2156
+ data.completer.onInsert(editor, data);
2157
+ }
2058
2158
  if (data.command && data.command === "startAutocomplete") {
2059
2159
  editor.execCommand(data.command);
2060
2160
  }
@@ -2329,10 +2429,12 @@ var supportedModes = {
2329
2429
  AQL: ["aql"],
2330
2430
  AsciiDoc: ["asciidoc|adoc"],
2331
2431
  ASL: ["dsl|asl|asl.json"],
2432
+ Assembly_ARM32: ["s"],
2332
2433
  Assembly_x86: ["asm|a"],
2333
2434
  Astro: ["astro"],
2334
2435
  AutoHotKey: ["ahk"],
2335
2436
  BatchFile: ["bat|cmd"],
2437
+ Basic: ["bas|bak"],
2336
2438
  BibTeX: ["bib"],
2337
2439
  C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
2338
2440
  C9Search: ["c9search_results"],
@@ -2382,7 +2484,7 @@ var supportedModes = {
2382
2484
  Haskell_Cabal: ["cabal"],
2383
2485
  haXe: ["hx"],
2384
2486
  Hjson: ["hjson"],
2385
- HTML: ["html|htm|xhtml|vue|we|wpy"],
2487
+ HTML: ["html|htm|xhtml|we|wpy"],
2386
2488
  HTML_Elixir: ["eex|html.eex"],
2387
2489
  HTML_Ruby: ["erb|rhtml|html.erb"],
2388
2490
  INI: ["ini|conf|cfg|prefs"],
@@ -2391,7 +2493,7 @@ var supportedModes = {
2391
2493
  Jack: ["jack"],
2392
2494
  Jade: ["jade|pug"],
2393
2495
  Java: ["java"],
2394
- JavaScript: ["js|jsm|jsx|cjs|mjs"],
2496
+ JavaScript: ["js|jsm|cjs|mjs"],
2395
2497
  JEXL: ["jexl"],
2396
2498
  JSON: ["json"],
2397
2499
  JSON5: ["json5"],
@@ -2499,11 +2601,13 @@ var supportedModes = {
2499
2601
  Verilog: ["v|vh|sv|svh"],
2500
2602
  VHDL: ["vhd|vhdl"],
2501
2603
  Visualforce: ["vfp|component|page"],
2604
+ Vue: ["vue"],
2502
2605
  Wollok: ["wlk|wpgm|wtest"],
2503
2606
  XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],
2504
2607
  XQuery: ["xq"],
2505
2608
  YAML: ["yaml|yml"],
2506
- Zeek: ["zeek|bro"]
2609
+ Zeek: ["zeek|bro"],
2610
+ Zig: ["zig"]
2507
2611
  };
2508
2612
  var nameOverrides = {
2509
2613
  ObjectiveC: "Objective-C",
@@ -2539,26 +2643,8 @@ module.exports = {
2539
2643
  });
2540
2644
 
2541
2645
  ace.define("ace/ext/prompt",["require","exports","module","ace/config","ace/range","ace/lib/dom","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){/**
2542
- * Prompt plugin is used for getting input from user.
2543
- *
2544
- * @param {Object} editor Ouside editor related to this prompt. Will be blurred when prompt is open.
2545
- * @param {String} message Predefined value of prompt input box.
2546
- * @param {Object} options Cusomizable options for this prompt.
2547
- * @param {String} options.name Prompt name.
2548
- * @param {String} options.$type Use prompt of specific type (gotoLine|commands|modes or default if empty).
2549
- * @param {[start, end]} options.selection Defines which part of the predefined value should be highlited.
2550
- * @param {Boolean} options.hasDescription Set to true if prompt has description below input box.
2551
- * @param {String} options.prompt Description below input box.
2552
- * @param {String} options.placeholder Placeholder for value.
2553
- * @param {Object} options.$rules Specific rules for input like password or regexp.
2554
- * @param {Boolean} options.ignoreFocusOut Set to true to keep the prompt open when focus moves to another part of the editor.
2555
- * @param {Function} options.getCompletions Function for defining list of options for value.
2556
- * @param {Function} options.getPrefix Function for defining current value prefix.
2557
- * @param {Function} options.onAccept Function called when Enter is pressed.
2558
- * @param {Function} options.onInput Function called when input is added to prompt input box.
2559
- * @param {Function} options.onCancel Function called when Esc|Shift-Esc is pressed.
2560
- * @param {Function} callback Function called after done.
2561
- * */
2646
+ * @typedef {import("../editor").Editor} Editor
2647
+ */
2562
2648
  "use strict";
2563
2649
  var nls = require("../config").nls;
2564
2650
  var Range = require("../range").Range;
@@ -2615,8 +2701,8 @@ function prompt(editor, message, options, callback) {
2615
2701
  popup.setRow(-1);
2616
2702
  popup.on("click", function (e) {
2617
2703
  var data = popup.getData(popup.getRow());
2618
- if (!data.error) {
2619
- cmdLine.setValue(data.value || data.name || data);
2704
+ if (!data["error"]) {
2705
+ cmdLine.setValue(data.value || data["name"] || data);
2620
2706
  accept();
2621
2707
  e.stop();
2622
2708
  }
@@ -2646,7 +2732,7 @@ function prompt(editor, message, options, callback) {
2646
2732
  val = cmdLine.getValue();
2647
2733
  }
2648
2734
  var curData = popup ? popup.getData(popup.getRow()) : val;
2649
- if (curData && !curData.error) {
2735
+ if (curData && !curData["error"]) {
2650
2736
  done();
2651
2737
  options.onAccept && options.onAccept({
2652
2738
  value: val,
@@ -2698,7 +2784,7 @@ function prompt(editor, message, options, callback) {
2698
2784
  }
2699
2785
  function valueFromRecentList() {
2700
2786
  var current = popup.getData(popup.getRow());
2701
- if (current && !current.error)
2787
+ if (current && !current["error"])
2702
2788
  return current.value || current.caption || current;
2703
2789
  }
2704
2790
  cmdLine.resize(true);
@@ -2736,9 +2822,9 @@ prompt.gotoLine = function (editor, callback) {
2736
2822
  selection: [1, Number.MAX_VALUE],
2737
2823
  onAccept: function (data) {
2738
2824
  var value = data.value;
2739
- var _history = prompt.gotoLine._history;
2825
+ var _history = prompt.gotoLine["_history"];
2740
2826
  if (!_history)
2741
- prompt.gotoLine._history = _history = [];
2827
+ prompt.gotoLine["_history"] = _history = [];
2742
2828
  if (_history.indexOf(value) != -1)
2743
2829
  _history.splice(_history.indexOf(value), 1);
2744
2830
  _history.unshift(value);
@@ -2789,9 +2875,9 @@ prompt.gotoLine = function (editor, callback) {
2789
2875
  editor.renderer.animateScrolling(scrollTop);
2790
2876
  },
2791
2877
  history: function () {
2792
- if (!prompt.gotoLine._history)
2878
+ if (!prompt.gotoLine["_history"])
2793
2879
  return [];
2794
- return prompt.gotoLine._history;
2880
+ return prompt.gotoLine["_history"];
2795
2881
  },
2796
2882
  getCompletions: function (cmdLine) {
2797
2883
  var value = cmdLine.getValue();
@@ -2824,8 +2910,8 @@ prompt.commands = function (editor, callback) {
2824
2910
  var commandsByName = [];
2825
2911
  var commandMap = {};
2826
2912
  editor.keyBinding.$handlers.forEach(function (handler) {
2827
- var platform = handler.platform;
2828
- var cbn = handler.byName;
2913
+ var platform = handler["platform"];
2914
+ var cbn = handler["byName"];
2829
2915
  for (var i in cbn) {
2830
2916
  var key = cbn[i].bindKey;
2831
2917
  if (typeof key !== "string") {
@@ -2884,10 +2970,10 @@ prompt.commands = function (editor, callback) {
2884
2970
  if (this.maxHistoryCount > 0 && history.length > this.maxHistoryCount) {
2885
2971
  history.splice(history.length - 1, 1);
2886
2972
  }
2887
- prompt.commands.history = history;
2973
+ prompt.commands["history"] = history;
2888
2974
  },
2889
2975
  history: function () {
2890
- return prompt.commands.history || [];
2976
+ return prompt.commands["history"] || [];
2891
2977
  },
2892
2978
  getPrefix: function (cmdLine) {
2893
2979
  var currentPos = cmdLine.getCursorPosition();
@@ -2921,12 +3007,12 @@ prompt.commands = function (editor, callback) {
2921
3007
  var otherCommands = getUniqueCommandList(shortcutsArray, recentlyUsedCommands);
2922
3008
  otherCommands = getFilteredCompletions(otherCommands, prefix);
2923
3009
  if (recentlyUsedCommands.length && otherCommands.length) {
2924
- recentlyUsedCommands[0].message = nls("Recently used");
2925
- otherCommands[0].message = nls("Other commands");
3010
+ recentlyUsedCommands[0].message = nls("prompt.recently-used", "Recently used");
3011
+ otherCommands[0].message = nls("prompt.other-commands", "Other commands");
2926
3012
  }
2927
3013
  var completions = recentlyUsedCommands.concat(otherCommands);
2928
3014
  return completions.length > 0 ? completions : [{
2929
- value: nls("No matching commands"),
3015
+ value: nls("prompt.no-matching-commands", "No matching commands"),
2930
3016
  error: 1
2931
3017
  }];
2932
3018
  }