@openui5/sap.ui.codeeditor 1.132.1 → 1.134.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/.reuse/dep5 +2 -9
  2. package/LICENSES/LicenseRef-Unicode-3.0.txt +39 -0
  3. package/THIRDPARTY.txt +45 -78
  4. package/package.json +2 -2
  5. package/src/sap/ui/codeeditor/.library +2 -2
  6. package/src/sap/ui/codeeditor/CodeEditor.js +4 -4
  7. package/src/sap/ui/codeeditor/js/ace/ace.js +6564 -6162
  8. package/src/sap/ui/codeeditor/js/ace/css/ace.css +55 -23
  9. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-1.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/github_light_default-2.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/main-10.svg +4 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/main-11.svg +5 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/main-12.svg +4 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/main-24.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/main-25.svg +1 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/main-26.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +8 -6
  29. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +4 -6
  30. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +8 -3
  31. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +5 -3
  32. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor.css +221 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud_editor_dark.css +224 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/theme/github_light_default.css +164 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +2 -2
  36. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +1 -6
  38. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +4 -2
  39. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +24 -6
  41. package/src/sap/ui/codeeditor/js/ace/ext-error_marker.js +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +198 -87
  43. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +8 -5
  44. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +180 -79
  45. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +7 -3
  47. package/src/sap/ui/codeeditor/js/ace/ext-options.js +12 -5
  48. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +202 -116
  49. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +14 -12
  51. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +12 -5
  52. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +0 -0
  53. package/src/sap/ui/codeeditor/js/ace/ext-split.js +2 -1
  54. package/src/sap/ui/codeeditor/js/ace/ext-static_highlight.js +0 -0
  55. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +0 -0
  56. package/src/sap/ui/codeeditor/js/ace/ext-textarea.js +476 -3
  57. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +6 -2
  58. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +0 -0
  59. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +13 -6
  60. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +748 -373
  61. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +0 -0
  64. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +3 -3
  65. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +0 -0
  66. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +6 -6
  67. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +3 -3
  68. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +3 -3
  69. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +0 -0
  70. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +14 -14
  71. package/src/sap/ui/codeeditor/js/ace/mode-assembly_arm32.js +185 -0
  72. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +0 -0
  73. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +377 -317
  74. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +0 -0
  75. package/src/sap/ui/codeeditor/js/ace/mode-basic.js +201 -0
  76. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +0 -0
  77. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +1 -1
  78. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +13 -13
  79. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +0 -0
  80. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +13 -13
  81. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +3 -3
  82. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +0 -0
  83. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +377 -317
  84. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +6 -6
  85. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +9 -9
  86. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +75 -78
  87. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +22 -22
  88. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +0 -0
  89. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +0 -0
  90. package/src/sap/ui/codeeditor/js/ace/mode-css.js +6 -3
  91. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +377 -317
  92. package/src/sap/ui/codeeditor/js/ace/mode-d.js +12 -12
  93. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +17 -17
  94. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +0 -0
  95. package/src/sap/ui/codeeditor/js/ace/mode-django.js +377 -317
  96. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +3 -3
  97. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +6 -6
  98. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +18 -18
  99. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +4 -4
  100. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +4 -4
  101. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +402 -342
  102. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +0 -0
  103. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +0 -0
  104. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +15 -15
  105. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +7 -7
  106. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +0 -0
  107. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +12 -12
  108. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +0 -0
  109. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +54 -57
  110. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +4 -4
  111. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +3 -3
  112. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +1 -1
  113. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +13 -13
  114. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +371 -65
  115. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +10 -10
  116. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +0 -0
  117. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +381 -75
  118. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +84 -87
  119. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +379 -319
  120. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +0 -0
  121. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +1 -1
  122. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +10 -10
  123. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +0 -0
  124. package/src/sap/ui/codeeditor/js/ace/mode-html.js +377 -317
  125. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +472 -412
  126. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +484 -424
  127. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +0 -0
  128. package/src/sap/ui/codeeditor/js/ace/mode-io.js +0 -0
  129. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +2 -2
  130. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +67 -70
  131. package/src/sap/ui/codeeditor/js/ace/mode-java.js +383 -77
  132. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +371 -65
  133. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +7 -7
  134. package/src/sap/ui/codeeditor/js/ace/mode-json.js +8 -8
  135. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +8 -8
  136. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +4 -5
  137. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +67 -70
  138. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +0 -0
  139. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +960 -89
  140. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +0 -0
  141. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +0 -0
  142. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +0 -0
  143. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +381 -321
  144. package/src/sap/ui/codeeditor/js/ace/mode-less.js +12 -9
  145. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +385 -325
  146. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +2 -2
  147. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +0 -0
  148. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +0 -0
  149. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +6 -9
  150. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +0 -0
  151. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +5 -5
  152. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +382 -322
  153. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +0 -0
  154. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +3 -3
  155. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +474 -414
  156. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +53 -56
  157. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +1 -1
  158. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +0 -0
  159. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +0 -0
  160. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +1 -1
  161. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +0 -0
  162. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +7 -7
  163. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +7 -7
  164. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +16 -16
  165. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +0 -0
  166. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +379 -319
  167. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +15 -15
  168. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +7 -7
  169. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +10 -10
  170. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +0 -0
  171. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +6 -6
  172. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +98 -104
  173. package/src/sap/ui/codeeditor/js/ace/mode-php.js +797 -616
  174. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +797 -616
  175. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +0 -0
  176. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +0 -0
  177. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +3 -3
  178. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +6 -6
  179. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +0 -0
  180. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +0 -0
  181. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +0 -0
  182. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +18 -18
  183. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +7 -4
  184. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +0 -0
  185. package/src/sap/ui/codeeditor/js/ace/mode-python.js +17 -17
  186. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +5 -5
  187. package/src/sap/ui/codeeditor/js/ace/mode-r.js +13 -13
  188. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +8 -8
  189. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +386 -326
  190. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +6 -6
  191. package/src/sap/ui/codeeditor/js/ace/mode-red.js +0 -0
  192. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +32 -32
  193. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +390 -330
  194. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +0 -0
  195. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +25 -25
  196. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +39 -32
  197. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +13 -13
  198. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +14 -11
  199. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +14 -14
  200. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +381 -75
  201. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +2 -2
  202. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +10 -10
  203. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +14 -11
  204. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +3 -3
  205. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +371 -65
  206. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +521 -461
  207. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +377 -317
  208. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +0 -0
  209. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +377 -317
  210. package/src/sap/ui/codeeditor/js/ace/mode-space.js +0 -0
  211. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +0 -0
  212. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +12 -6
  213. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +5 -5
  214. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +10 -7
  215. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +132 -75
  216. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +5 -4
  217. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +7 -7
  218. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +0 -0
  219. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +6 -6
  220. package/src/sap/ui/codeeditor/js/ace/mode-text.js +0 -0
  221. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +0 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +0 -0
  223. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +492 -182
  224. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +0 -0
  225. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +379 -319
  226. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +371 -65
  227. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +0 -0
  228. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +0 -0
  229. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +387 -327
  230. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +1 -1
  231. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +4 -4
  232. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +377 -317
  233. package/src/sap/ui/codeeditor/js/ace/mode-vue.js +3834 -0
  234. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +382 -76
  235. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +18 -10
  236. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +4 -5
  237. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +5 -5
  238. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +2 -2
  239. package/src/sap/ui/codeeditor/js/ace/mode-zig.js +585 -0
  240. package/src/sap/ui/codeeditor/js/ace/snippets/abap.js +0 -0
  241. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +0 -0
  242. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +0 -0
  243. package/src/sap/ui/codeeditor/js/ace/snippets/ada.js +0 -0
  244. package/src/sap/ui/codeeditor/js/ace/snippets/apache_conf.js +0 -0
  245. package/src/sap/ui/codeeditor/js/ace/snippets/applescript.js +0 -0
  246. package/src/sap/ui/codeeditor/js/ace/snippets/asciidoc.js +0 -0
  247. package/src/sap/ui/codeeditor/js/ace/snippets/asl.js +0 -0
  248. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_arm32.js +9 -0
  249. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_x86.js +0 -0
  250. package/src/sap/ui/codeeditor/js/ace/snippets/autohotkey.js +0 -0
  251. package/src/sap/ui/codeeditor/js/ace/snippets/basic.js +9 -0
  252. package/src/sap/ui/codeeditor/js/ace/snippets/batchfile.js +0 -0
  253. package/src/sap/ui/codeeditor/js/ace/snippets/c9search.js +0 -0
  254. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +0 -0
  255. package/src/sap/ui/codeeditor/js/ace/snippets/cirru.js +0 -0
  256. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +0 -0
  257. package/src/sap/ui/codeeditor/js/ace/snippets/cobol.js +0 -0
  258. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +0 -0
  259. package/src/sap/ui/codeeditor/js/ace/snippets/coldfusion.js +0 -0
  260. package/src/sap/ui/codeeditor/js/ace/snippets/csharp.js +0 -0
  261. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +0 -0
  262. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +0 -0
  263. package/src/sap/ui/codeeditor/js/ace/snippets/csound_score.js +0 -0
  264. package/src/sap/ui/codeeditor/js/ace/snippets/csp.js +0 -0
  265. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +0 -0
  266. package/src/sap/ui/codeeditor/js/ace/snippets/curly.js +0 -0
  267. package/src/sap/ui/codeeditor/js/ace/snippets/d.js +0 -0
  268. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +0 -0
  269. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +0 -0
  270. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +0 -0
  271. package/src/sap/ui/codeeditor/js/ace/snippets/dockerfile.js +0 -0
  272. package/src/sap/ui/codeeditor/js/ace/snippets/dot.js +0 -0
  273. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +0 -0
  274. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +0 -0
  275. package/src/sap/ui/codeeditor/js/ace/snippets/eiffel.js +0 -0
  276. package/src/sap/ui/codeeditor/js/ace/snippets/ejs.js +0 -0
  277. package/src/sap/ui/codeeditor/js/ace/snippets/elixir.js +0 -0
  278. package/src/sap/ui/codeeditor/js/ace/snippets/elm.js +0 -0
  279. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +0 -0
  280. package/src/sap/ui/codeeditor/js/ace/snippets/forth.js +0 -0
  281. package/src/sap/ui/codeeditor/js/ace/snippets/fortran.js +0 -0
  282. package/src/sap/ui/codeeditor/js/ace/snippets/fsharp.js +0 -0
  283. package/src/sap/ui/codeeditor/js/ace/snippets/ftl.js +0 -0
  284. package/src/sap/ui/codeeditor/js/ace/snippets/gcode.js +0 -0
  285. package/src/sap/ui/codeeditor/js/ace/snippets/gherkin.js +0 -0
  286. package/src/sap/ui/codeeditor/js/ace/snippets/gitignore.js +0 -0
  287. package/src/sap/ui/codeeditor/js/ace/snippets/glsl.js +0 -0
  288. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +0 -0
  289. package/src/sap/ui/codeeditor/js/ace/snippets/golang.js +0 -0
  290. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +0 -0
  291. package/src/sap/ui/codeeditor/js/ace/snippets/groovy.js +0 -0
  292. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +0 -0
  293. package/src/sap/ui/codeeditor/js/ace/snippets/handlebars.js +0 -0
  294. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +0 -0
  295. package/src/sap/ui/codeeditor/js/ace/snippets/haskell_cabal.js +0 -0
  296. package/src/sap/ui/codeeditor/js/ace/snippets/haxe.js +0 -0
  297. package/src/sap/ui/codeeditor/js/ace/snippets/hjson.js +0 -0
  298. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +0 -0
  299. package/src/sap/ui/codeeditor/js/ace/snippets/html_elixir.js +0 -0
  300. package/src/sap/ui/codeeditor/js/ace/snippets/html_ruby.js +0 -0
  301. package/src/sap/ui/codeeditor/js/ace/snippets/ini.js +0 -0
  302. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +0 -0
  303. package/src/sap/ui/codeeditor/js/ace/snippets/jack.js +0 -0
  304. package/src/sap/ui/codeeditor/js/ace/snippets/jade.js +0 -0
  305. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +0 -0
  306. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +0 -0
  307. package/src/sap/ui/codeeditor/js/ace/snippets/json.js +0 -0
  308. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +0 -0
  309. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +0 -0
  310. package/src/sap/ui/codeeditor/js/ace/snippets/jssm.js +0 -0
  311. package/src/sap/ui/codeeditor/js/ace/snippets/jsx.js +0 -0
  312. package/src/sap/ui/codeeditor/js/ace/snippets/julia.js +0 -0
  313. package/src/sap/ui/codeeditor/js/ace/snippets/kotlin.js +0 -0
  314. package/src/sap/ui/codeeditor/js/ace/snippets/latex.js +0 -0
  315. package/src/sap/ui/codeeditor/js/ace/snippets/less.js +0 -0
  316. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +0 -0
  317. package/src/sap/ui/codeeditor/js/ace/snippets/lisp.js +0 -0
  318. package/src/sap/ui/codeeditor/js/ace/snippets/livescript.js +0 -0
  319. package/src/sap/ui/codeeditor/js/ace/snippets/logiql.js +0 -0
  320. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +0 -0
  321. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +0 -0
  322. package/src/sap/ui/codeeditor/js/ace/snippets/luapage.js +0 -0
  323. package/src/sap/ui/codeeditor/js/ace/snippets/lucene.js +0 -0
  324. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +0 -0
  325. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +0 -0
  326. package/src/sap/ui/codeeditor/js/ace/snippets/mask.js +0 -0
  327. package/src/sap/ui/codeeditor/js/ace/snippets/matlab.js +0 -0
  328. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +0 -0
  329. package/src/sap/ui/codeeditor/js/ace/snippets/mel.js +0 -0
  330. package/src/sap/ui/codeeditor/js/ace/snippets/mixal.js +0 -0
  331. package/src/sap/ui/codeeditor/js/ace/snippets/mushcode.js +0 -0
  332. package/src/sap/ui/codeeditor/js/ace/snippets/mysql.js +0 -0
  333. package/src/sap/ui/codeeditor/js/ace/snippets/nix.js +0 -0
  334. package/src/sap/ui/codeeditor/js/ace/snippets/nsis.js +0 -0
  335. package/src/sap/ui/codeeditor/js/ace/snippets/objectivec.js +0 -0
  336. package/src/sap/ui/codeeditor/js/ace/snippets/ocaml.js +0 -0
  337. package/src/sap/ui/codeeditor/js/ace/snippets/pascal.js +0 -0
  338. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +0 -0
  339. package/src/sap/ui/codeeditor/js/ace/snippets/pgsql.js +0 -0
  340. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +0 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/php_laravel_blade.js +0 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/pig.js +0 -0
  343. package/src/sap/ui/codeeditor/js/ace/snippets/plain_text.js +0 -0
  344. package/src/sap/ui/codeeditor/js/ace/snippets/powershell.js +0 -0
  345. package/src/sap/ui/codeeditor/js/ace/snippets/praat.js +0 -0
  346. package/src/sap/ui/codeeditor/js/ace/snippets/prolog.js +0 -0
  347. package/src/sap/ui/codeeditor/js/ace/snippets/properties.js +0 -0
  348. package/src/sap/ui/codeeditor/js/ace/snippets/protobuf.js +0 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/puppet.js +0 -0
  350. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +0 -0
  351. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +0 -0
  352. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +0 -0
  353. package/src/sap/ui/codeeditor/js/ace/snippets/rdoc.js +0 -0
  354. package/src/sap/ui/codeeditor/js/ace/snippets/red.js +0 -0
  355. package/src/sap/ui/codeeditor/js/ace/snippets/redshift.js +0 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/rhtml.js +0 -0
  357. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +0 -0
  358. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +0 -0
  359. package/src/sap/ui/codeeditor/js/ace/snippets/rust.js +0 -0
  360. package/src/sap/ui/codeeditor/js/ace/snippets/sass.js +0 -0
  361. package/src/sap/ui/codeeditor/js/ace/snippets/scad.js +0 -0
  362. package/src/sap/ui/codeeditor/js/ace/snippets/scala.js +0 -0
  363. package/src/sap/ui/codeeditor/js/ace/snippets/scheme.js +0 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/scss.js +0 -0
  365. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +0 -0
  366. package/src/sap/ui/codeeditor/js/ace/snippets/sjs.js +0 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/slim.js +0 -0
  368. package/src/sap/ui/codeeditor/js/ace/snippets/smarty.js +0 -0
  369. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +0 -0
  370. package/src/sap/ui/codeeditor/js/ace/snippets/soy_template.js +0 -0
  371. package/src/sap/ui/codeeditor/js/ace/snippets/space.js +0 -0
  372. package/src/sap/ui/codeeditor/js/ace/snippets/sparql.js +0 -0
  373. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +0 -0
  374. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +0 -0
  375. package/src/sap/ui/codeeditor/js/ace/snippets/stylus.js +0 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/svg.js +0 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/swift.js +0 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +0 -0
  379. package/src/sap/ui/codeeditor/js/ace/snippets/terraform.js +0 -0
  380. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +0 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/text.js +0 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +0 -0
  383. package/src/sap/ui/codeeditor/js/ace/snippets/toml.js +0 -0
  384. package/src/sap/ui/codeeditor/js/ace/snippets/tsx.js +0 -0
  385. package/src/sap/ui/codeeditor/js/ace/snippets/turtle.js +0 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/twig.js +0 -0
  387. package/src/sap/ui/codeeditor/js/ace/snippets/typescript.js +0 -0
  388. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +0 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/vbscript.js +0 -0
  390. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +0 -0
  391. package/src/sap/ui/codeeditor/js/ace/snippets/verilog.js +0 -0
  392. package/src/sap/ui/codeeditor/js/ace/snippets/vhdl.js +0 -0
  393. package/src/sap/ui/codeeditor/js/ace/snippets/vue.js +9 -0
  394. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +0 -0
  395. package/src/sap/ui/codeeditor/js/ace/snippets/xml.js +0 -0
  396. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +0 -0
  397. package/src/sap/ui/codeeditor/js/ace/snippets/yaml.js +0 -0
  398. package/src/sap/ui/codeeditor/js/ace/snippets/zig.js +9 -0
  399. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +0 -0
  400. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +0 -0
  401. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +0 -0
  402. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor.js +18 -0
  403. package/src/sap/ui/codeeditor/js/ace/theme-cloud_editor_dark.js +18 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +0 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +0 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +0 -0
  407. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +0 -0
  408. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +0 -0
  409. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +0 -0
  410. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +0 -0
  411. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +0 -0
  412. package/src/sap/ui/codeeditor/js/ace/theme-github.js +0 -0
  413. package/src/sap/ui/codeeditor/js/ace/theme-github_light_default.js +18 -0
  414. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +0 -0
  415. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +0 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +0 -0
  417. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +0 -0
  418. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +0 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +0 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +0 -0
  421. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +0 -0
  422. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +0 -0
  423. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +0 -0
  424. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +0 -0
  425. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +0 -0
  426. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +1 -1
  427. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +0 -0
  428. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +0 -0
  429. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +0 -0
  430. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +0 -0
  431. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +0 -0
  432. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +0 -0
  433. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +0 -0
  434. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +0 -0
  435. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +0 -0
  436. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +0 -0
  437. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +0 -0
  438. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +0 -0
  439. package/src/sap/ui/codeeditor/js/ace/worker-base.js +3 -13
  440. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +3 -13
  441. package/src/sap/ui/codeeditor/js/ace/worker-css.js +3 -13
  442. package/src/sap/ui/codeeditor/js/ace/worker-html.js +3 -13
  443. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +3 -13
  444. package/src/sap/ui/codeeditor/js/ace/worker-json.js +3 -13
  445. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +3 -13
  446. package/src/sap/ui/codeeditor/js/ace/worker-php.js +3 -13
  447. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +8 -15
  448. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +3 -13
  449. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +6 -16
  450. package/src/sap/ui/codeeditor/library.js +2 -2
  451. package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
  452. package/LICENSES/Unicode-DFS-2015.txt +0 -51
@@ -60,14 +60,13 @@ module.exports.overlayPage = function overlayPage(editor, contentElement, callba
60
60
  });
61
61
 
62
62
  ace.define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"], function(require, exports, module){/*jslint indent: 4, maxerr: 50, white: true, browser: true, vars: true*/
63
- "use strict";
64
- var keys = require("../../lib/keys");
63
+ "use strict"; var keys = require("../../lib/keys");
65
64
  module.exports.getEditorKeybordShortcuts = function (editor) {
66
65
  var KEY_MODS = keys.KEY_MODS;
67
66
  var keybindings = [];
68
67
  var commandMap = {};
69
68
  editor.keyBinding.$handlers.forEach(function (handler) {
70
- var ckb = handler.commandKeyBinding;
69
+ var ckb = handler["commandKeyBinding"];
71
70
  for (var i in ckb) {
72
71
  var key = i.replace(/(^|-)\w/g, function (x) { return x.toUpperCase(); });
73
72
  var commands = ckb[i];
@@ -116,8 +115,12 @@ module.exports.init = function (editor) {
116
115
  };
117
116
  editor.commands.addCommands([{
118
117
  name: "showKeyboardShortcuts",
119
- bindKey: { win: "Ctrl-Alt-h", mac: "Command-Alt-h" },
120
- exec: function (editor, line) {
118
+ bindKey: {
119
+ win: "Ctrl-Alt-h",
120
+ mac: "Command-Alt-h"
121
+ },
122
+ exec:
123
+ function (editor, line) {
121
124
  editor.showKeyboardShortcuts();
122
125
  }
123
126
  }]);
@@ -87,7 +87,7 @@ var SnippetManager = /** @class */ (function () {
87
87
  this.variables = VARIABLES;
88
88
  }
89
89
  SnippetManager.prototype.getTokenizer = function () {
90
- return SnippetManager.$tokenizer || this.createTokenizer();
90
+ return SnippetManager["$tokenizer"] || this.createTokenizer();
91
91
  };
92
92
  SnippetManager.prototype.createTokenizer = function () {
93
93
  function TabstopToken(str) {
@@ -110,7 +110,7 @@ var SnippetManager = /** @class */ (function () {
110
110
  },
111
111
  next: "formatString"
112
112
  };
113
- SnippetManager.$tokenizer = new Tokenizer({
113
+ SnippetManager["$tokenizer"] = new Tokenizer({
114
114
  start: [
115
115
  { regex: /\\./, onMatch: function (val, state, stack) {
116
116
  var ch = val[1];
@@ -207,7 +207,7 @@ var SnippetManager = /** @class */ (function () {
207
207
  { regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "formatString" }
208
208
  ]
209
209
  });
210
- return SnippetManager.$tokenizer;
210
+ return SnippetManager["$tokenizer"];
211
211
  };
212
212
  SnippetManager.prototype.tokenizeTmSnippet = function (str, startState) {
213
213
  return this.getTokenizer().getLineTokens(str, startState).tokens.map(function (x) {
@@ -529,7 +529,7 @@ var SnippetManager = /** @class */ (function () {
529
529
  };
530
530
  SnippetManager.prototype.parseSnippetFile = function (str) {
531
531
  str = str.replace(/\r/g, "");
532
- var list = [], snippet = {};
532
+ var list = [], /**@type{Snippet}*/ snippet = {};
533
533
  var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
534
534
  var m;
535
535
  while (m = re.exec(str)) {
@@ -806,8 +806,10 @@ var TabstopManager = /** @class */ (function () {
806
806
  if (index == max)
807
807
  index = 0;
808
808
  this.selectTabstop(index);
809
- if (index === 0)
809
+ this.updateTabstopMarkers();
810
+ if (index === 0) {
810
811
  this.detach();
812
+ }
811
813
  };
812
814
  TabstopManager.prototype.selectTabstop = function (index) {
813
815
  this.$openTabstops = null;
@@ -852,8 +854,10 @@ var TabstopManager = /** @class */ (function () {
852
854
  var i = this.index;
853
855
  var arg = [i + 1, 0];
854
856
  var ranges = this.ranges;
857
+ var snippetId = this.snippetId = (this.snippetId || 0) + 1;
855
858
  tabstops.forEach(function (ts, index) {
856
859
  var dest = this.$openTabstops[index] || ts;
860
+ dest.snippetId = snippetId;
857
861
  for (var i = 0; i < ts.length; i++) {
858
862
  var p = ts[i];
859
863
  var range = Range.fromPoints(p.start, p.end || p.start);
@@ -904,6 +908,20 @@ var TabstopManager = /** @class */ (function () {
904
908
  range.markerId = null;
905
909
  });
906
910
  };
911
+ TabstopManager.prototype.updateTabstopMarkers = function () {
912
+ if (!this.selectedTabstop)
913
+ return;
914
+ var currentSnippetId = this.selectedTabstop.snippetId;
915
+ if (this.selectedTabstop.index === 0) {
916
+ currentSnippetId--;
917
+ }
918
+ this.tabstops.forEach(function (ts) {
919
+ if (ts.snippetId === currentSnippetId)
920
+ this.addTabstopMarkers(ts);
921
+ else
922
+ this.removeTabstopMarkers(ts);
923
+ }, this);
924
+ };
907
925
  TabstopManager.prototype.removeRange = function (range) {
908
926
  var i = range.tabstop.indexOf(range);
909
927
  if (i != -1)
@@ -965,7 +983,7 @@ var Editor = require("./editor").Editor;
965
983
 
966
984
  });
967
985
 
968
- 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";
986
+ 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";
969
987
  var Renderer = require("../virtual_renderer").VirtualRenderer;
970
988
  var Editor = require("../editor").Editor;
971
989
  var Range = require("../range").Range;
@@ -973,9 +991,13 @@ var event = require("../lib/event");
973
991
  var lang = require("../lib/lang");
974
992
  var dom = require("../lib/dom");
975
993
  var nls = require("../config").nls;
994
+ var userAgent = require("./../lib/useragent");
976
995
  var getAriaId = function (index) {
977
996
  return "suggest-aria-id:".concat(index);
978
997
  };
998
+ var popupAriaRole = userAgent.isSafari ? "menu" : "listbox";
999
+ var optionAriaRole = userAgent.isSafari ? "menuitem" : "option";
1000
+ var ariaActiveState = userAgent.isSafari ? "aria-current" : "aria-selected";
979
1001
  var $singleLineEditor = function (el) {
980
1002
  var renderer = new Renderer(el);
981
1003
  renderer.$maxLines = 4;
@@ -991,15 +1013,16 @@ var $singleLineEditor = function (el) {
991
1013
  var AcePopup = /** @class */ (function () {
992
1014
  function AcePopup(parentNode) {
993
1015
  var el = dom.createElement("div");
994
- var popup = new $singleLineEditor(el);
1016
+ var popup = $singleLineEditor(el);
995
1017
  if (parentNode) {
996
1018
  parentNode.appendChild(el);
997
1019
  }
998
1020
  el.style.display = "none";
999
1021
  popup.renderer.content.style.cursor = "default";
1000
1022
  popup.renderer.setStyle("ace_autocomplete");
1001
- popup.renderer.$textLayer.element.setAttribute("role", "listbox");
1002
- popup.renderer.$textLayer.element.setAttribute("aria-label", nls("Autocomplete suggestions"));
1023
+ popup.renderer.$textLayer.element.setAttribute("role", popupAriaRole);
1024
+ popup.renderer.$textLayer.element.setAttribute("aria-roledescription", nls("autocomplete.popup.aria-roledescription", "Autocomplete suggestions"));
1025
+ popup.renderer.$textLayer.element.setAttribute("aria-label", nls("autocomplete.popup.aria-label", "Autocomplete suggestions"));
1003
1026
  popup.renderer.textarea.setAttribute("aria-hidden", "true");
1004
1027
  popup.setOption("displayIndentGuides", false);
1005
1028
  popup.setOption("dragDelay", 150);
@@ -1007,7 +1030,7 @@ var AcePopup = /** @class */ (function () {
1007
1030
  popup.focus = noop;
1008
1031
  popup.$isFocused = true;
1009
1032
  popup.renderer.$cursorLayer.restartTimer = noop;
1010
- popup.renderer.$cursorLayer.element.style.opacity = 0;
1033
+ popup.renderer.$cursorLayer.element.style.opacity = "0";
1011
1034
  popup.renderer.$maxLines = 8;
1012
1035
  popup.renderer.$keepTextAreaAtCursor = false;
1013
1036
  popup.setHighlightActiveLine(false);
@@ -1063,25 +1086,28 @@ var AcePopup = /** @class */ (function () {
1063
1086
  popup.renderer.on("afterRender", function () {
1064
1087
  var row = popup.getRow();
1065
1088
  var t = popup.renderer.$textLayer;
1066
- var selected = t.element.childNodes[row - t.config.firstRow];
1089
+ var selected = /** @type {HTMLElement|null} */ (t.element.childNodes[row - t.config.firstRow]);
1067
1090
  var el = document.activeElement; // Active element is textarea of main editor
1068
- if (selected !== t.selectedNode && t.selectedNode) {
1069
- dom.removeCssClass(t.selectedNode, "ace_selected");
1091
+ if (selected !== popup.selectedNode && popup.selectedNode) {
1092
+ dom.removeCssClass(popup.selectedNode, "ace_selected");
1070
1093
  el.removeAttribute("aria-activedescendant");
1071
- t.selectedNode.removeAttribute("id");
1094
+ popup.selectedNode.removeAttribute(ariaActiveState);
1095
+ popup.selectedNode.removeAttribute("id");
1072
1096
  }
1073
- t.selectedNode = selected;
1097
+ popup.selectedNode = selected;
1074
1098
  if (selected) {
1075
1099
  dom.addCssClass(selected, "ace_selected");
1076
1100
  var ariaId = getAriaId(row);
1077
1101
  selected.id = ariaId;
1078
1102
  t.element.setAttribute("aria-activedescendant", ariaId);
1079
1103
  el.setAttribute("aria-activedescendant", ariaId);
1080
- selected.setAttribute("role", "option");
1081
- selected.setAttribute("aria-label", popup.getData(row).value);
1104
+ selected.setAttribute("role", optionAriaRole);
1105
+ selected.setAttribute("aria-roledescription", nls("autocomplete.popup.item.aria-roledescription", "item"));
1106
+ selected.setAttribute("aria-label", popup.getData(row).caption || popup.getData(row).value);
1082
1107
  selected.setAttribute("aria-setsize", popup.data.length);
1083
1108
  selected.setAttribute("aria-posinset", row + 1);
1084
1109
  selected.setAttribute("aria-describedby", "doc-tooltip");
1110
+ selected.setAttribute(ariaActiveState, "true");
1085
1111
  }
1086
1112
  });
1087
1113
  var hideHoverMarker = function () { setHoverMarker(-1); };
@@ -1299,7 +1325,7 @@ var AcePopup = /** @class */ (function () {
1299
1325
  }
1300
1326
  return AcePopup;
1301
1327
  }());
1302
- 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);
1328
+ 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);
1303
1329
  exports.AcePopup = AcePopup;
1304
1330
  exports.$singleLineEditor = $singleLineEditor;
1305
1331
  exports.getAriaId = getAriaId;
@@ -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
  }
@@ -2409,7 +2509,8 @@ var liveAutocompleteTimer = lang.delayedCall(function () {
2409
2509
  var showLiveAutocomplete = function (e) {
2410
2510
  var editor = e.editor;
2411
2511
  var prefix = util.getCompletionPrefix(editor);
2412
- var triggerAutocomplete = util.triggerAutocomplete(editor);
2512
+ var previousChar = e.args;
2513
+ var triggerAutocomplete = util.triggerAutocomplete(editor, previousChar);
2413
2514
  if (prefix && prefix.length >= editor.$liveAutocompletionThreshold || triggerAutocomplete) {
2414
2515
  var completer = Autocomplete.for(editor);
2415
2516
  completer.autoShown = true;
File without changes
@@ -44,10 +44,12 @@ var supportedModes = {
44
44
  AQL: ["aql"],
45
45
  AsciiDoc: ["asciidoc|adoc"],
46
46
  ASL: ["dsl|asl|asl.json"],
47
+ Assembly_ARM32: ["s"],
47
48
  Assembly_x86: ["asm|a"],
48
49
  Astro: ["astro"],
49
50
  AutoHotKey: ["ahk"],
50
51
  BatchFile: ["bat|cmd"],
52
+ Basic: ["bas|bak"],
51
53
  BibTeX: ["bib"],
52
54
  C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp|ino"],
53
55
  C9Search: ["c9search_results"],
@@ -97,7 +99,7 @@ var supportedModes = {
97
99
  Haskell_Cabal: ["cabal"],
98
100
  haXe: ["hx"],
99
101
  Hjson: ["hjson"],
100
- HTML: ["html|htm|xhtml|vue|we|wpy"],
102
+ HTML: ["html|htm|xhtml|we|wpy"],
101
103
  HTML_Elixir: ["eex|html.eex"],
102
104
  HTML_Ruby: ["erb|rhtml|html.erb"],
103
105
  INI: ["ini|conf|cfg|prefs"],
@@ -106,7 +108,7 @@ var supportedModes = {
106
108
  Jack: ["jack"],
107
109
  Jade: ["jade|pug"],
108
110
  Java: ["java"],
109
- JavaScript: ["js|jsm|jsx|cjs|mjs"],
111
+ JavaScript: ["js|jsm|cjs|mjs"],
110
112
  JEXL: ["jexl"],
111
113
  JSON: ["json"],
112
114
  JSON5: ["json5"],
@@ -214,11 +216,13 @@ var supportedModes = {
214
216
  Verilog: ["v|vh|sv|svh"],
215
217
  VHDL: ["vhd|vhdl"],
216
218
  Visualforce: ["vfp|component|page"],
219
+ Vue: ["vue"],
217
220
  Wollok: ["wlk|wpgm|wtest"],
218
221
  XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],
219
222
  XQuery: ["xq"],
220
223
  YAML: ["yaml|yml"],
221
- Zeek: ["zeek|bro"]
224
+ Zeek: ["zeek|bro"],
225
+ Zig: ["zig"]
222
226
  };
223
227
  var nameOverrides = {
224
228
  ObjectiveC: "Objective-C",