@openui5/sap.ui.codeeditor 1.94.0 → 1.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/.reuse/dep5 +12 -12
  2. package/THIRDPARTY.txt +21 -17
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +6 -6
  5. package/src/sap/ui/codeeditor/CodeEditor.js +41 -15
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +1705 -1669
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +1025 -0
  8. package/src/sap/ui/codeeditor/js/ace/css/ambiance-1.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/ambiance-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/chrome-1.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/clouds-1.png +0 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-1.png +0 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/cobalt-1.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-1.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/dawn-1.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/dracula-1.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-1.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/eclipse-1.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/github-1.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/gob-1.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/gruvbox-1.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-1.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/iplastic-1.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/iplastic-2.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/kr_theme-1.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/main-1.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
  29. package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
  30. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  31. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/main-2.png +0 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/main-3.png +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/css/main-4.png +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/css/main-5.png +0 -0
  38. package/src/sap/ui/codeeditor/js/ace/css/main-6.png +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/css/main-7.png +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/css/merbivore-1.png +0 -0
  43. package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-1.png +0 -0
  44. package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-1.png +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/css/monokai-1.png +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/css/one_dark-1.png +0 -0
  47. package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-1.png +0 -0
  48. package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-1.png +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/css/solarized_light-1.png +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/css/sqlserver-1.png +0 -0
  51. package/src/sap/ui/codeeditor/js/ace/css/terminal-1.png +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/css/textmate-1.png +0 -0
  53. package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +168 -0
  54. package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +146 -0
  55. package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +119 -0
  56. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +87 -0
  57. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +88 -0
  58. package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +104 -0
  59. package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +110 -0
  60. package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +100 -0
  61. package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +119 -0
  62. package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +134 -0
  63. package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +88 -0
  64. package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +95 -0
  65. package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +103 -0
  66. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +73 -0
  67. package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +88 -0
  68. package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +113 -0
  69. package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +113 -0
  70. package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +96 -0
  71. package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +52 -0
  72. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +87 -0
  73. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +88 -0
  74. package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +99 -0
  75. package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +97 -0
  76. package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +85 -0
  77. package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +123 -0
  78. package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +100 -0
  79. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +80 -0
  80. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +83 -0
  81. package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +129 -0
  82. package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +105 -0
  83. package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +119 -0
  84. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +100 -0
  85. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +100 -0
  86. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +98 -0
  87. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +113 -0
  88. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +100 -0
  89. package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +100 -0
  90. package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +86 -0
  91. package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +80 -0
  92. package/src/sap/ui/codeeditor/js/ace/css/tomorrow-1.png +0 -0
  93. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-1.png +0 -0
  94. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-1.png +0 -0
  95. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-1.png +0 -0
  96. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-1.png +0 -0
  97. package/src/sap/ui/codeeditor/js/ace/css/twilight-1.png +0 -0
  98. package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-1.png +0 -0
  99. package/src/sap/ui/codeeditor/js/ace/css/xcode-1.png +0 -0
  100. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +17 -10
  101. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +238 -0
  102. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +1 -1
  103. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +343 -238
  104. package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +85 -0
  105. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +26 -11
  106. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +435 -272
  107. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +2 -2
  108. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +22 -11
  109. package/src/sap/ui/codeeditor/js/ace/ext-options.js +85 -35
  110. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +510 -299
  111. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +1 -3
  112. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +2 -2
  113. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +89 -39
  114. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +1 -2
  115. package/src/sap/ui/codeeditor/js/ace/ext-split.js +2 -2
  116. package/src/sap/ui/codeeditor/js/ace/ext-static_highlight.js +3 -229
  117. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +3 -3
  118. package/src/sap/ui/codeeditor/js/ace/ext-textarea.js +3 -563
  119. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +4 -2
  120. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +1 -1
  121. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +29 -30
  122. package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +2 -5
  123. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +718 -184
  124. package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +262 -0
  125. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +3 -3
  126. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +6 -3
  127. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +4 -3
  128. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +2 -2
  129. package/src/sap/ui/codeeditor/js/ace/mode-alda.js +311 -0
  130. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +3 -3
  131. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +4 -4
  132. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +3 -3
  133. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +2 -2
  134. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +3 -3
  135. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +21 -20
  136. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +3 -3
  137. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +6 -4
  138. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +3 -3
  139. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +4 -4
  140. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +7 -6
  141. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +5 -5
  142. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +4 -3
  143. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +2 -2
  144. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +5 -4
  145. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +22 -19
  146. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +4 -4
  147. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +6 -6
  148. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +178 -61
  149. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +162 -51
  150. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +34 -25
  151. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +2 -2
  152. package/src/sap/ui/codeeditor/js/ace/mode-css.js +7 -6
  153. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +22 -19
  154. package/src/sap/ui/codeeditor/js/ace/mode-d.js +5 -5
  155. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +10 -8
  156. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +4 -3
  157. package/src/sap/ui/codeeditor/js/ace/mode-django.js +22 -18
  158. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +6 -5
  159. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +5 -5
  160. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +7 -6
  161. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +4 -3
  162. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +2 -2
  163. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +692 -184
  164. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +3 -3
  165. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +3 -3
  166. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +4 -3
  167. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +3 -3
  168. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +3 -3
  169. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +5 -5
  170. package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +4 -3
  171. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +7 -7
  172. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +2 -2
  173. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +2 -4
  174. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +2 -2
  175. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +9 -8
  176. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +259 -99
  177. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +5 -5
  178. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +4 -3
  179. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +8 -7
  180. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +428 -113
  181. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +23 -20
  182. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +4 -3
  183. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +3 -3
  184. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +5 -5
  185. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +3 -3
  186. package/src/sap/ui/codeeditor/js/ace/mode-html.js +20 -17
  187. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +25 -22
  188. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +693 -185
  189. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +3 -3
  190. package/src/sap/ui/codeeditor/js/ace/mode-io.js +5 -10
  191. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +4 -4
  192. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +13 -13
  193. package/src/sap/ui/codeeditor/js/ace/mode-java.js +11 -9
  194. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +6 -5
  195. package/src/sap/ui/codeeditor/js/ace/mode-json.js +7 -4
  196. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +360 -0
  197. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +6 -5
  198. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +12 -11
  199. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +3 -3
  200. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +5 -5
  201. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +3 -3
  202. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +5 -3
  203. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +3 -3
  204. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +2708 -0
  205. package/src/sap/ui/codeeditor/js/ace/mode-less.js +7 -7
  206. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +24 -20
  207. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +2 -2
  208. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +2 -2
  209. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +4 -4
  210. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +3 -3
  211. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +5 -4
  212. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +4 -3
  213. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +26 -22
  214. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +78 -10
  215. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +5 -4
  216. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +30 -24
  217. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +12 -12
  218. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +2 -2
  219. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +4 -3
  220. package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +592 -0
  221. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +3 -3
  222. package/src/sap/ui/codeeditor/js/ace/{mode-mipsassembler.js → mode-mips.js} +99 -31
  223. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +2 -2
  224. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +3 -3
  225. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +3 -3
  226. package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +13 -12
  227. package/src/sap/ui/codeeditor/js/ace/mode-nim.js +10 -9
  228. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +9 -8
  229. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +4 -4
  230. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +2698 -0
  231. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +6 -6
  232. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +3 -3
  233. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +3 -3
  234. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +5 -4
  235. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +9 -9
  236. package/src/sap/ui/codeeditor/js/ace/mode-php.js +513 -302
  237. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +515 -304
  238. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +3 -3
  239. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +1 -1
  240. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +4 -4
  241. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +4 -4
  242. package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +489 -0
  243. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +3 -3
  244. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +2 -2
  245. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +9 -8
  246. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +12 -13
  247. package/src/sap/ui/codeeditor/js/ace/mode-python.js +6 -5
  248. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +381 -0
  249. package/src/sap/ui/codeeditor/js/ace/mode-r.js +5 -4
  250. package/src/sap/ui/codeeditor/js/ace/{mode-perl6.js → mode-raku.js} +13 -13
  251. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +25 -21
  252. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +4 -4
  253. package/src/sap/ui/codeeditor/js/ace/mode-red.js +4 -4
  254. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +4 -4
  255. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +24 -21
  256. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +3 -2
  257. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +672 -167
  258. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +9 -8
  259. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +5 -5
  260. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +5 -5
  261. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +8 -7
  262. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +3 -3
  263. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +364 -0
  264. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +7 -7
  265. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +4 -3
  266. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +8 -7
  267. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +745 -146
  268. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +22 -19
  269. package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +507 -0
  270. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +3 -2
  271. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +22 -19
  272. package/src/sap/ui/codeeditor/js/ace/mode-space.js +3 -3
  273. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +3 -3
  274. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +163 -2
  275. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +7 -6
  276. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +4 -4
  277. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +13 -12
  278. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +10 -4
  279. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +8 -4
  280. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +18 -15
  281. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +4 -3
  282. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +4 -3
  283. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +3 -3
  284. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +9 -8
  285. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +3 -3
  286. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +22 -19
  287. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +8 -7
  288. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +5 -4
  289. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +445 -16
  290. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +24 -20
  291. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +2 -2
  292. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +7 -8
  293. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +22 -19
  294. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +9 -7
  295. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +4 -4
  296. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +6 -5
  297. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +4 -4
  298. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +539 -0
  299. package/src/sap/ui/codeeditor/js/ace/snippets/abap.js +1 -7
  300. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +2 -3
  301. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +2 -3
  302. package/src/sap/ui/codeeditor/js/ace/snippets/ada.js +1 -7
  303. package/src/sap/ui/codeeditor/js/ace/snippets/alda.js +9 -0
  304. package/src/sap/ui/codeeditor/js/ace/snippets/apache_conf.js +1 -7
  305. package/src/sap/ui/codeeditor/js/ace/snippets/apex.js +2 -7
  306. package/src/sap/ui/codeeditor/js/ace/snippets/applescript.js +1 -7
  307. package/src/sap/ui/codeeditor/js/ace/snippets/aql.js +2 -7
  308. package/src/sap/ui/codeeditor/js/ace/snippets/asciidoc.js +1 -7
  309. package/src/sap/ui/codeeditor/js/ace/snippets/asl.js +1 -6
  310. package/src/sap/ui/codeeditor/js/ace/snippets/assembly_x86.js +1 -7
  311. package/src/sap/ui/codeeditor/js/ace/snippets/autohotkey.js +1 -7
  312. package/src/sap/ui/codeeditor/js/ace/snippets/batchfile.js +1 -7
  313. package/src/sap/ui/codeeditor/js/ace/snippets/c9search.js +1 -7
  314. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +2 -3
  315. package/src/sap/ui/codeeditor/js/ace/snippets/cirru.js +1 -7
  316. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +2 -3
  317. package/src/sap/ui/codeeditor/js/ace/snippets/cobol.js +1 -7
  318. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +2 -3
  319. package/src/sap/ui/codeeditor/js/ace/snippets/coldfusion.js +1 -7
  320. package/src/sap/ui/codeeditor/js/ace/snippets/crystal.js +2 -7
  321. package/src/sap/ui/codeeditor/js/ace/snippets/csharp.js +1 -7
  322. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +2 -3
  323. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +2 -3
  324. package/src/sap/ui/codeeditor/js/ace/snippets/csound_score.js +1 -7
  325. package/src/sap/ui/codeeditor/js/ace/snippets/csp.js +1 -7
  326. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +2 -3
  327. package/src/sap/ui/codeeditor/js/ace/snippets/curly.js +1 -7
  328. package/src/sap/ui/codeeditor/js/ace/snippets/d.js +1 -7
  329. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +2 -3
  330. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +2 -3
  331. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +2 -3
  332. package/src/sap/ui/codeeditor/js/ace/snippets/dockerfile.js +1 -7
  333. package/src/sap/ui/codeeditor/js/ace/snippets/dot.js +1 -7
  334. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +2 -3
  335. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +2 -3
  336. package/src/sap/ui/codeeditor/js/ace/snippets/eiffel.js +1 -7
  337. package/src/sap/ui/codeeditor/js/ace/snippets/ejs.js +1 -7
  338. package/src/sap/ui/codeeditor/js/ace/snippets/elixir.js +1 -7
  339. package/src/sap/ui/codeeditor/js/ace/snippets/elm.js +1 -7
  340. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +2 -3
  341. package/src/sap/ui/codeeditor/js/ace/snippets/forth.js +1 -7
  342. package/src/sap/ui/codeeditor/js/ace/snippets/fortran.js +1 -7
  343. package/src/sap/ui/codeeditor/js/ace/snippets/fsharp.js +1 -7
  344. package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +2 -2
  345. package/src/sap/ui/codeeditor/js/ace/snippets/ftl.js +1 -7
  346. package/src/sap/ui/codeeditor/js/ace/snippets/gcode.js +1 -7
  347. package/src/sap/ui/codeeditor/js/ace/snippets/gherkin.js +1 -7
  348. package/src/sap/ui/codeeditor/js/ace/snippets/gitignore.js +1 -7
  349. package/src/sap/ui/codeeditor/js/ace/snippets/glsl.js +1 -7
  350. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +1695 -26
  351. package/src/sap/ui/codeeditor/js/ace/snippets/golang.js +1 -7
  352. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +2 -3
  353. package/src/sap/ui/codeeditor/js/ace/snippets/groovy.js +1 -7
  354. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +2 -3
  355. package/src/sap/ui/codeeditor/js/ace/snippets/handlebars.js +1 -7
  356. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +2 -3
  357. package/src/sap/ui/codeeditor/js/ace/snippets/haskell_cabal.js +1 -7
  358. package/src/sap/ui/codeeditor/js/ace/snippets/haxe.js +1 -7
  359. package/src/sap/ui/codeeditor/js/ace/snippets/hjson.js +1 -7
  360. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +4 -7
  361. package/src/sap/ui/codeeditor/js/ace/snippets/html_elixir.js +1 -7
  362. package/src/sap/ui/codeeditor/js/ace/snippets/html_ruby.js +1 -7
  363. package/src/sap/ui/codeeditor/js/ace/snippets/ini.js +1 -7
  364. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +2 -3
  365. package/src/sap/ui/codeeditor/js/ace/snippets/jack.js +1 -7
  366. package/src/sap/ui/codeeditor/js/ace/snippets/jade.js +1 -7
  367. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +2 -3
  368. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +2 -3
  369. package/src/sap/ui/codeeditor/js/ace/snippets/json.js +1 -7
  370. package/src/sap/ui/codeeditor/js/ace/snippets/json5.js +9 -0
  371. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +2 -3
  372. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +2 -3
  373. package/src/sap/ui/codeeditor/js/ace/snippets/jssm.js +1 -7
  374. package/src/sap/ui/codeeditor/js/ace/snippets/jsx.js +1 -7
  375. package/src/sap/ui/codeeditor/js/ace/snippets/julia.js +1 -7
  376. package/src/sap/ui/codeeditor/js/ace/snippets/kotlin.js +1 -7
  377. package/src/sap/ui/codeeditor/js/ace/snippets/latex.js +1 -7
  378. package/src/sap/ui/codeeditor/js/ace/snippets/latte.js +9 -0
  379. package/src/sap/ui/codeeditor/js/ace/snippets/less.js +1 -7
  380. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +884 -4
  381. package/src/sap/ui/codeeditor/js/ace/snippets/lisp.js +1 -7
  382. package/src/sap/ui/codeeditor/js/ace/snippets/livescript.js +1 -7
  383. package/src/sap/ui/codeeditor/js/ace/snippets/logiql.js +1 -7
  384. package/src/sap/ui/codeeditor/js/ace/snippets/logtalk.js +2 -7
  385. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +2 -3
  386. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +2 -3
  387. package/src/sap/ui/codeeditor/js/ace/snippets/luapage.js +1 -7
  388. package/src/sap/ui/codeeditor/js/ace/snippets/lucene.js +1 -7
  389. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +2 -3
  390. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +2 -3
  391. package/src/sap/ui/codeeditor/js/ace/snippets/mask.js +1 -7
  392. package/src/sap/ui/codeeditor/js/ace/snippets/matlab.js +1 -7
  393. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +2 -3
  394. package/src/sap/ui/codeeditor/js/ace/snippets/mediawiki.js +9 -0
  395. package/src/sap/ui/codeeditor/js/ace/snippets/mel.js +1 -7
  396. package/src/sap/ui/codeeditor/js/ace/snippets/mips.js +9 -0
  397. package/src/sap/ui/codeeditor/js/ace/snippets/mixal.js +1 -7
  398. package/src/sap/ui/codeeditor/js/ace/snippets/mushcode.js +1 -7
  399. package/src/sap/ui/codeeditor/js/ace/snippets/mysql.js +1 -7
  400. package/src/sap/ui/codeeditor/js/ace/snippets/nginx.js +2 -7
  401. package/src/sap/ui/codeeditor/js/ace/snippets/nim.js +2 -7
  402. package/src/sap/ui/codeeditor/js/ace/snippets/nix.js +1 -7
  403. package/src/sap/ui/codeeditor/js/ace/snippets/nsis.js +1 -7
  404. package/src/sap/ui/codeeditor/js/ace/snippets/nunjucks.js +9 -0
  405. package/src/sap/ui/codeeditor/js/ace/snippets/objectivec.js +1 -7
  406. package/src/sap/ui/codeeditor/js/ace/snippets/ocaml.js +1 -7
  407. package/src/sap/ui/codeeditor/js/ace/snippets/pascal.js +1 -7
  408. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +2 -3
  409. package/src/sap/ui/codeeditor/js/ace/snippets/pgsql.js +1 -7
  410. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +2 -3
  411. package/src/sap/ui/codeeditor/js/ace/snippets/php_laravel_blade.js +1 -7
  412. package/src/sap/ui/codeeditor/js/ace/snippets/pig.js +1 -7
  413. package/src/sap/ui/codeeditor/js/ace/snippets/plain_text.js +1 -7
  414. package/src/sap/ui/codeeditor/js/ace/snippets/powershell.js +1 -7
  415. package/src/sap/ui/codeeditor/js/ace/snippets/praat.js +1 -7
  416. package/src/sap/ui/codeeditor/js/ace/snippets/prisma.js +9 -0
  417. package/src/sap/ui/codeeditor/js/ace/snippets/prolog.js +1 -7
  418. package/src/sap/ui/codeeditor/js/ace/snippets/properties.js +1 -7
  419. package/src/sap/ui/codeeditor/js/ace/snippets/protobuf.js +1 -7
  420. package/src/sap/ui/codeeditor/js/ace/snippets/puppet.js +1 -7
  421. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +2 -3
  422. package/src/sap/ui/codeeditor/js/ace/snippets/qml.js +9 -0
  423. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +2 -3
  424. package/src/sap/ui/codeeditor/js/ace/snippets/raku.js +9 -0
  425. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +2 -3
  426. package/src/sap/ui/codeeditor/js/ace/snippets/rdoc.js +1 -7
  427. package/src/sap/ui/codeeditor/js/ace/snippets/red.js +1 -7
  428. package/src/sap/ui/codeeditor/js/ace/snippets/redshift.js +1 -7
  429. package/src/sap/ui/codeeditor/js/ace/snippets/rhtml.js +1 -7
  430. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +2 -3
  431. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +2 -3
  432. package/src/sap/ui/codeeditor/js/ace/snippets/rust.js +1 -7
  433. package/src/sap/ui/codeeditor/js/ace/snippets/sass.js +1 -7
  434. package/src/sap/ui/codeeditor/js/ace/snippets/scad.js +1 -7
  435. package/src/sap/ui/codeeditor/js/ace/snippets/scala.js +1 -7
  436. package/src/sap/ui/codeeditor/js/ace/snippets/scheme.js +1 -7
  437. package/src/sap/ui/codeeditor/js/ace/snippets/scrypt.js +9 -0
  438. package/src/sap/ui/codeeditor/js/ace/snippets/scss.js +1 -7
  439. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +2 -3
  440. package/src/sap/ui/codeeditor/js/ace/snippets/sjs.js +1 -7
  441. package/src/sap/ui/codeeditor/js/ace/snippets/slim.js +1 -7
  442. package/src/sap/ui/codeeditor/js/ace/snippets/smarty.js +1 -7
  443. package/src/sap/ui/codeeditor/js/ace/snippets/smithy.js +9 -0
  444. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +2 -3
  445. package/src/sap/ui/codeeditor/js/ace/snippets/soy_template.js +1 -7
  446. package/src/sap/ui/codeeditor/js/ace/snippets/space.js +1 -7
  447. package/src/sap/ui/codeeditor/js/ace/snippets/sparql.js +1 -7
  448. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +2 -3
  449. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +2 -3
  450. package/src/sap/ui/codeeditor/js/ace/snippets/stylus.js +1 -7
  451. package/src/sap/ui/codeeditor/js/ace/snippets/svg.js +1 -7
  452. package/src/sap/ui/codeeditor/js/ace/snippets/swift.js +1 -7
  453. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +2 -3
  454. package/src/sap/ui/codeeditor/js/ace/snippets/terraform.js +1 -7
  455. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +2 -3
  456. package/src/sap/ui/codeeditor/js/ace/snippets/text.js +1 -7
  457. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +2 -3
  458. package/src/sap/ui/codeeditor/js/ace/snippets/toml.js +1 -7
  459. package/src/sap/ui/codeeditor/js/ace/snippets/tsx.js +1 -7
  460. package/src/sap/ui/codeeditor/js/ace/snippets/turtle.js +1 -7
  461. package/src/sap/ui/codeeditor/js/ace/snippets/twig.js +1 -7
  462. package/src/sap/ui/codeeditor/js/ace/snippets/typescript.js +1 -7
  463. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +2 -3
  464. package/src/sap/ui/codeeditor/js/ace/snippets/vbscript.js +1 -7
  465. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +2 -3
  466. package/src/sap/ui/codeeditor/js/ace/snippets/verilog.js +1 -7
  467. package/src/sap/ui/codeeditor/js/ace/snippets/vhdl.js +1 -7
  468. package/src/sap/ui/codeeditor/js/ace/snippets/visualforce.js +2 -7
  469. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +2 -3
  470. package/src/sap/ui/codeeditor/js/ace/snippets/xml.js +1 -7
  471. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +2 -3
  472. package/src/sap/ui/codeeditor/js/ace/snippets/yaml.js +1 -7
  473. package/src/sap/ui/codeeditor/js/ace/snippets/zeek.js +9 -0
  474. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -4
  475. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +3 -3
  476. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +2 -2
  477. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +2 -2
  478. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +2 -2
  479. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +2 -2
  480. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +2 -2
  481. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +2 -2
  482. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +2 -2
  483. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +2 -2
  484. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +2 -2
  485. package/src/sap/ui/codeeditor/js/ace/theme-github.js +2 -2
  486. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +2 -2
  487. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +2 -2
  488. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +2 -2
  489. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +2 -2
  490. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +2 -2
  491. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +2 -2
  492. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +2 -2
  493. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +2 -2
  494. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +2 -2
  495. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +2 -2
  496. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +2 -2
  497. package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +102 -0
  498. package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +139 -0
  499. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +2 -2
  500. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +2 -2
  501. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +2 -2
  502. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +2 -2
  503. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +2 -2
  504. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +2 -2
  505. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +2 -2
  506. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +2 -2
  507. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +2 -2
  508. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +2 -2
  509. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +2 -2
  510. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +5 -5
  511. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +2 -2
  512. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +2 -2
  513. package/src/sap/ui/codeeditor/js/ace/worker-base.js +1421 -0
  514. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +17 -703
  515. package/src/sap/ui/codeeditor/js/ace/worker-css.js +3629 -3396
  516. package/src/sap/ui/codeeditor/js/ace/worker-html.js +17 -703
  517. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +7831 -5361
  518. package/src/sap/ui/codeeditor/js/ace/worker-json.js +17 -703
  519. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +973 -1001
  520. package/src/sap/ui/codeeditor/js/ace/worker-php.js +859 -1477
  521. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +26 -707
  522. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +17 -703
  523. package/src/sap/ui/codeeditor/library.js +2 -2
  524. package/ui5.yaml +4 -1
  525. package/src/sap/ui/codeeditor/js/ace/LICENSE.txt +0 -24
  526. package/src/sap/ui/codeeditor/js/ace/ext-chromevox.js +0 -540
  527. package/src/sap/ui/codeeditor/js/ace/ext-old_ie.js +0 -502
  528. package/src/sap/ui/codeeditor/js/ace/mode-bro.js +0 -334
  529. package/src/sap/ui/codeeditor/js/ace/mode-lean.js +0 -281
  530. package/src/sap/ui/codeeditor/js/ace/mode-live_script.js +0 -481
  531. package/src/sap/ui/codeeditor/js/ace/mode-mavens_mate_log.js +0 -160
  532. package/src/sap/ui/codeeditor/js/ace/mode-mips_assembler.js +0 -235
  533. package/src/sap/ui/codeeditor/js/ace/mode-swig.js +0 -1099
  534. package/src/sap/ui/codeeditor/js/ace/snippets/bro.js +0 -15
  535. package/src/sap/ui/codeeditor/js/ace/snippets/lean.js +0 -7
  536. package/src/sap/ui/codeeditor/js/ace/snippets/live_script.js +0 -7
  537. package/src/sap/ui/codeeditor/js/ace/snippets/mips_assembler.js +0 -7
  538. package/src/sap/ui/codeeditor/js/ace/snippets/mipsassembler.js +0 -7
  539. package/src/sap/ui/codeeditor/js/ace/snippets/perl6.js +0 -14
  540. package/src/sap/ui/codeeditor/js/ace/snippets/swig.js +0 -7
@@ -1,4 +1,4 @@
1
- ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
1
+ ace.define("ace/mode/css_highlight_rules",[], function(require, exports, module) {
2
2
  "use strict";
3
3
 
4
4
  var oop = require("../lib/oop");
@@ -193,7 +193,7 @@ exports.CssHighlightRules = CssHighlightRules;
193
193
 
194
194
  });
195
195
 
196
- ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
196
+ ace.define("ace/mode/doc_comment_highlight_rules",[], function(require, exports, module) {
197
197
  "use strict";
198
198
 
199
199
  var oop = require("../lib/oop");
@@ -243,7 +243,7 @@ exports.DocCommentHighlightRules = DocCommentHighlightRules;
243
243
 
244
244
  });
245
245
 
246
- ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
246
+ ace.define("ace/mode/javascript_highlight_rules",[], function(require, exports, module) {
247
247
  "use strict";
248
248
 
249
249
  var oop = require("../lib/oop");
@@ -717,7 +717,7 @@ function comments(next) {
717
717
  exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
718
718
  });
719
719
 
720
- ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
720
+ ace.define("ace/mode/xml_highlight_rules",[], function(require, exports, module) {
721
721
  "use strict";
722
722
 
723
723
  var oop = require("../lib/oop");
@@ -920,7 +920,7 @@ oop.inherits(XmlHighlightRules, TextHighlightRules);
920
920
  exports.XmlHighlightRules = XmlHighlightRules;
921
921
  });
922
922
 
923
- ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"], function(require, exports, module) {
923
+ ace.define("ace/mode/html_highlight_rules",[], function(require, exports, module) {
924
924
  "use strict";
925
925
 
926
926
  var oop = require("../lib/oop");
@@ -1002,7 +1002,7 @@ oop.inherits(HtmlHighlightRules, XmlHighlightRules);
1002
1002
  exports.HtmlHighlightRules = HtmlHighlightRules;
1003
1003
  });
1004
1004
 
1005
- ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
1005
+ ace.define("ace/mode/ruby_highlight_rules",[], function(require, exports, module) {
1006
1006
  "use strict";
1007
1007
 
1008
1008
  var oop = require("../lib/oop");
@@ -1012,17 +1012,17 @@ var constantOtherSymbol = exports.constantOtherSymbol = {
1012
1012
  regex : "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
1013
1013
  };
1014
1014
 
1015
- var qString = exports.qString = {
1015
+ exports.qString = {
1016
1016
  token : "string", // single line
1017
1017
  regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
1018
1018
  };
1019
1019
 
1020
- var qqString = exports.qqString = {
1020
+ exports.qqString = {
1021
1021
  token : "string", // single line
1022
1022
  regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
1023
1023
  };
1024
1024
 
1025
- var tString = exports.tString = {
1025
+ exports.tString = {
1026
1026
  token : "string", // backtick string
1027
1027
  regex : "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
1028
1028
  };
@@ -1032,9 +1032,34 @@ var constantNumericHex = exports.constantNumericHex = {
1032
1032
  regex : "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
1033
1033
  };
1034
1034
 
1035
+ var constantNumericBinary = exports.constantNumericBinary = {
1036
+ token: "constant.numeric",
1037
+ regex: /\b(0[bB][01](?:[01]|_(?=[01]))*)\b/
1038
+ };
1039
+
1040
+ var constantNumericDecimal = exports.constantNumericDecimal = {
1041
+ token: "constant.numeric",
1042
+ regex: /\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/
1043
+ };
1044
+
1045
+ var constantNumericOctal = exports.constantNumericDecimal = {
1046
+ token: "constant.numeric",
1047
+ regex: /\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/
1048
+ };
1049
+
1050
+ var constantNumericRational = exports.constantNumericRational = {
1051
+ token: "constant.numeric", //rational + complex
1052
+ regex: /\b([\d]+(?:[./][\d]+)?ri?)\b/
1053
+ };
1054
+
1055
+ var constantNumericComplex = exports.constantNumericComplex = {
1056
+ token: "constant.numeric", //simple complex numbers
1057
+ regex: /\b([\d]i)\b/
1058
+ };
1059
+
1035
1060
  var constantNumericFloat = exports.constantNumericFloat = {
1036
- token : "constant.numeric", // float
1037
- regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"
1061
+ token : "constant.numeric", // float + complex
1062
+ regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"
1038
1063
  };
1039
1064
 
1040
1065
  var instanceVariable = exports.instanceVariable = {
@@ -1074,18 +1099,19 @@ var RubyHighlightRules = function() {
1074
1099
  "filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|" +
1075
1100
  "translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" +
1076
1101
  "cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" +
1077
- "has_many|has_one|belongs_to|has_and_belongs_to_many"
1102
+ "has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|" +
1103
+ "private_class_method|remove_method|undef_method"
1078
1104
  );
1079
1105
 
1080
1106
  var keywords = (
1081
1107
  "alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
1082
1108
  "__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" +
1083
- "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield"
1109
+ "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend"
1084
1110
  );
1085
1111
 
1086
1112
  var buildinConstants = (
1087
1113
  "true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
1088
- "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING"
1114
+ "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION"
1089
1115
  );
1090
1116
 
1091
1117
  var builtinVariables = (
@@ -1101,126 +1127,191 @@ var RubyHighlightRules = function() {
1101
1127
  "invalid.deprecated": "debugger" // TODO is this a remnant from js mode?
1102
1128
  }, "identifier");
1103
1129
 
1130
+ var escapedChars = "\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'\"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})";
1131
+
1132
+ var closeParen = {
1133
+ "(": ")",
1134
+ "[": "]",
1135
+ "{": "}",
1136
+ "<": ">",
1137
+ "^": "^",
1138
+ "|": "|",
1139
+ "%": "%"
1140
+ };
1141
+
1104
1142
  this.$rules = {
1105
- "start" : [
1143
+ "start": [
1106
1144
  {
1107
- token : "comment",
1108
- regex : "#.*$"
1145
+ token: "comment",
1146
+ regex: "#.*$"
1109
1147
  }, {
1110
- token : "comment", // multi line comment
1111
- regex : "^=begin(?:$|\\s.*$)",
1112
- next : "comment"
1148
+ token: "comment.multiline", // multi line comment
1149
+ regex: "^=begin(?=$|\\s.*$)",
1150
+ next: "comment"
1113
1151
  }, {
1114
- token : "string.regexp",
1115
- regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
1152
+ token: "string.regexp",
1153
+ regex: /[/](?=.*\/)/,
1154
+ next: "regex"
1116
1155
  },
1117
1156
 
1118
1157
  [{
1119
- regex: "[{}]", onMatch: function(val, state, stack) {
1120
- this.next = val == "{" ? this.nextState : "";
1121
- if (val == "{" && stack.length) {
1122
- stack.unshift("start", state);
1123
- return "paren.lparen";
1124
- }
1125
- if (val == "}" && stack.length) {
1126
- stack.shift();
1127
- this.next = stack.shift();
1128
- if (this.next.indexOf("string") != -1)
1129
- return "paren.end";
1130
- }
1131
- return val == "{" ? "paren.lparen" : "paren.rparen";
1132
- },
1133
- nextState: "start"
1134
- }, {
1135
- token : "string.start",
1136
- regex : /"/,
1137
- push : [{
1138
- token : "constant.language.escape",
1139
- regex : /\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/
1158
+ token: ["constant.other.symbol.ruby", "string.start"],
1159
+ regex: /(:)?(")/,
1160
+ push: [{
1161
+ token: "constant.language.escape",
1162
+ regex: escapedChars
1140
1163
  }, {
1141
- token : "paren.start",
1142
- regex : /#{/,
1143
- push : "start"
1164
+ token: "paren.start",
1165
+ regex: /#{/,
1166
+ push: "start"
1144
1167
  }, {
1145
- token : "string.end",
1146
- regex : /"/,
1147
- next : "pop"
1168
+ token: "string.end",
1169
+ regex: /"/,
1170
+ next: "pop"
1148
1171
  }, {
1149
1172
  defaultToken: "string"
1150
1173
  }]
1151
1174
  }, {
1152
- token : "string.start",
1153
- regex : /`/,
1154
- push : [{
1155
- token : "constant.language.escape",
1156
- regex : /\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/
1175
+ token: "string.start",
1176
+ regex: /`/,
1177
+ push: [{
1178
+ token: "constant.language.escape",
1179
+ regex: escapedChars
1157
1180
  }, {
1158
- token : "paren.start",
1159
- regex : /#{/,
1160
- push : "start"
1181
+ token: "paren.start",
1182
+ regex: /#{/,
1183
+ push: "start"
1161
1184
  }, {
1162
- token : "string.end",
1163
- regex : /`/,
1164
- next : "pop"
1185
+ token: "string.end",
1186
+ regex: /`/,
1187
+ next: "pop"
1165
1188
  }, {
1166
1189
  defaultToken: "string"
1167
1190
  }]
1168
1191
  }, {
1169
- token : "string.start",
1170
- regex : /'/,
1171
- push : [{
1172
- token : "constant.language.escape",
1173
- regex : /\\['\\]/
1174
- }, {
1175
- token : "string.end",
1176
- regex : /'/,
1177
- next : "pop"
1192
+ token: ["constant.other.symbol.ruby", "string.start"],
1193
+ regex: /(:)?(')/,
1194
+ push: [{
1195
+ token: "constant.language.escape",
1196
+ regex: /\\['\\]/
1197
+ }, {
1198
+ token: "string.end",
1199
+ regex: /'/,
1200
+ next: "pop"
1178
1201
  }, {
1179
1202
  defaultToken: "string"
1180
1203
  }]
1204
+ }, {
1205
+ token: "string.start",//doesn't see any differences between strings and array of strings in highlighting
1206
+ regex: /%[qwx]([(\[<{^|%])/, onMatch: function (val, state, stack) {
1207
+ if (stack.length)
1208
+ stack = [];
1209
+ var paren = val[val.length - 1];
1210
+ stack.unshift(paren, state);
1211
+ this.next = "qStateWithoutInterpolation";
1212
+ return this.token;
1213
+ }
1214
+ }, {
1215
+ token: "string.start", //doesn't see any differences between strings and array of strings in highlighting
1216
+ regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
1217
+ if (stack.length)
1218
+ stack = [];
1219
+ var paren = val[val.length - 1];
1220
+ stack.unshift(paren, state);
1221
+ this.next = "qStateWithInterpolation";
1222
+ return this.token;
1223
+ }
1224
+ }, {
1225
+ token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
1226
+ regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
1227
+ if (stack.length)
1228
+ stack = [];
1229
+ var paren = val[val.length - 1];
1230
+ stack.unshift(paren, state);
1231
+ this.next = "sStateWithoutInterpolation";
1232
+ return this.token;
1233
+ }
1234
+ }, {
1235
+ token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
1236
+ regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
1237
+ if (stack.length)
1238
+ stack = [];
1239
+ var paren = val[val.length - 1];
1240
+ stack.unshift(paren, state);
1241
+ this.next = "sStateWithInterpolation";
1242
+ return this.token;
1243
+ }
1244
+ }, {
1245
+ token: "string.regexp",
1246
+ regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
1247
+ if (stack.length)
1248
+ stack = [];
1249
+ var paren = val[val.length - 1];
1250
+ stack.unshift(paren, state);
1251
+ this.next = "rState";
1252
+ return this.token;
1253
+ }
1181
1254
  }],
1182
1255
 
1183
1256
  {
1184
- token : "text", // namespaces aren't symbols
1185
- regex : "::"
1257
+ token: "punctuation", // namespaces aren't symbols
1258
+ regex: "::"
1259
+ },
1260
+ instanceVariable,
1261
+ {
1262
+ token: "variable.global", // global variable
1263
+ regex: "[$][a-zA-Z_\\d]+"
1264
+ }, {
1265
+ token: "support.class", // class name
1266
+ regex: "[A-Z][a-zA-Z_\\d]*"
1186
1267
  }, {
1187
- token : "variable.instance", // instance variable
1188
- regex : "@{1,2}[a-zA-Z_\\d]+"
1268
+ token: ["punctuation.operator", "support.function"],
1269
+ regex: /(\.)([a-zA-Z_\d]+)(?=\()/
1189
1270
  }, {
1190
- token : "support.class", // class name
1191
- regex : "[A-Z][a-zA-Z_\\d]+"
1271
+ token: ["punctuation.operator", "identifier"],
1272
+ regex: /(\.)([a-zA-Z_][a-zA-Z_\d]*)/
1273
+ }, {
1274
+ token: "string.character",
1275
+ regex: "\\B\\?(?:" + escapedChars + "|\\S)"
1276
+ }, {
1277
+ token: "punctuation.operator",
1278
+ regex: /\?(?=.+:)/
1192
1279
  },
1193
1280
 
1281
+ constantNumericRational,
1282
+ constantNumericComplex,
1194
1283
  constantOtherSymbol,
1195
1284
  constantNumericHex,
1196
1285
  constantNumericFloat,
1197
-
1286
+ constantNumericBinary,
1287
+ constantNumericDecimal,
1288
+ constantNumericOctal,
1198
1289
  {
1199
- token : "constant.language.boolean",
1200
- regex : "(?:true|false)\\b"
1290
+ token: "constant.language.boolean",
1291
+ regex: "(?:true|false)\\b"
1201
1292
  }, {
1202
- token : keywordMapper,
1203
- regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
1293
+ token: keywordMapper,
1294
+ regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
1204
1295
  }, {
1205
- token : "punctuation.separator.key-value",
1206
- regex : "=>"
1296
+ token: "punctuation.separator.key-value",
1297
+ regex: "=>"
1207
1298
  }, {
1208
1299
  stateName: "heredoc",
1209
- onMatch : function(value, currentState, stack) {
1210
- var next = value[2] == '-' ? "indentedHeredoc" : "heredoc";
1300
+ onMatch: function (value, currentState, stack) {
1301
+ var next = (value[2] == '-' || value[2] == '~') ? "indentedHeredoc" : "heredoc";
1211
1302
  var tokens = value.split(this.splitRegex);
1212
1303
  stack.push(next, tokens[3]);
1213
1304
  return [
1214
- {type:"constant", value: tokens[1]},
1215
- {type:"string", value: tokens[2]},
1216
- {type:"support.class", value: tokens[3]},
1217
- {type:"string", value: tokens[4]}
1305
+ {type: "constant", value: tokens[1]},
1306
+ {type: "string", value: tokens[2]},
1307
+ {type: "support.class", value: tokens[3]},
1308
+ {type: "string", value: tokens[4]}
1218
1309
  ];
1219
1310
  },
1220
- regex : "(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",
1311
+ regex: "(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",
1221
1312
  rules: {
1222
1313
  heredoc: [{
1223
- onMatch: function(value, currentState, stack) {
1314
+ onMatch: function(value, currentState, stack) {
1224
1315
  if (value === stack[1]) {
1225
1316
  stack.shift();
1226
1317
  stack.shift();
@@ -1237,7 +1328,7 @@ var RubyHighlightRules = function() {
1237
1328
  token: "string",
1238
1329
  regex: "^ +"
1239
1330
  }, {
1240
- onMatch: function(value, currentState, stack) {
1331
+ onMatch: function(value, currentState, stack) {
1241
1332
  if (value === stack[1]) {
1242
1333
  stack.shift();
1243
1334
  stack.shift();
@@ -1252,38 +1343,261 @@ var RubyHighlightRules = function() {
1252
1343
  }]
1253
1344
  }
1254
1345
  }, {
1255
- regex : "$",
1256
- token : "empty",
1257
- next : function(currentState, stack) {
1346
+ regex: "$",
1347
+ token: "empty",
1348
+ next: function(currentState, stack) {
1258
1349
  if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
1259
1350
  return stack[0];
1260
1351
  return currentState;
1261
1352
  }
1353
+ }, {
1354
+ token: "keyword.operator",
1355
+ regex: "!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"
1356
+ }, {
1357
+ token: "paren.lparen",
1358
+ regex: "[[({]"
1359
+ }, {
1360
+ token: "paren.rparen",
1361
+ regex: "[\\])}]",
1362
+ onMatch: function(value, currentState, stack) {
1363
+ this.next = '';
1364
+ if (value == "}" && stack.length > 1 && stack[1] != "start") {
1365
+ stack.shift();
1366
+ this.next = stack.shift();
1367
+ }
1368
+ return this.token;
1369
+ }
1262
1370
  }, {
1263
- token : "string.character",
1264
- regex : "\\B\\?."
1371
+ token: "text",
1372
+ regex: "\\s+"
1265
1373
  }, {
1266
- token : "keyword.operator",
1267
- regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
1374
+ token: "punctuation.operator",
1375
+ regex: /[?:,;.]/
1376
+ }
1377
+ ],
1378
+ "comment": [
1379
+ {
1380
+ token: "comment.multiline", // closing comment
1381
+ regex: "^=end(?=$|\\s.*$)",
1382
+ next: "start"
1268
1383
  }, {
1269
- token : "paren.lparen",
1270
- regex : "[[({]"
1384
+ token: "comment", // comment spanning whole line
1385
+ regex: ".+"
1386
+ }
1387
+ ],
1388
+ "qStateWithInterpolation": [{
1389
+ token: "string.start",// excluded nested |^% due to difficulty in realization
1390
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
1391
+ if (stack.length && val === stack[0]) {
1392
+ stack.unshift(val, state);
1393
+ return this.token;
1394
+ }
1395
+ return "string";
1396
+ }
1397
+ }, {
1398
+ token: "constant.language.escape",
1399
+ regex: escapedChars
1400
+ }, {
1401
+ token: "constant.language.escape",
1402
+ regex: /\\./
1403
+ }, {
1404
+ token: "paren.start",
1405
+ regex: /#{/,
1406
+ push: "start"
1407
+ }, {
1408
+ token: "string.end",
1409
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
1410
+ if (stack.length && val === closeParen[stack[0]]) {
1411
+ stack.shift();
1412
+ this.next = stack.shift();
1413
+ return this.token;
1414
+ }
1415
+ this.next = '';
1416
+ return "string";
1417
+ }
1418
+ }, {
1419
+ defaultToken: "string"
1420
+ }],
1421
+ "qStateWithoutInterpolation": [{
1422
+ token: "string.start",// excluded nested |^% due to difficulty in realization
1423
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
1424
+ if (stack.length && val === stack[0]) {
1425
+ stack.unshift(val, state);
1426
+ return this.token;
1427
+ }
1428
+ return "string";
1429
+ }
1430
+ }, {
1431
+ token: "constant.language.escape",
1432
+ regex: /\\['\\]/
1433
+ }, {
1434
+ token: "constant.language.escape",
1435
+ regex: /\\./
1436
+ }, {
1437
+ token: "string.end",
1438
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
1439
+ if (stack.length && val === closeParen[stack[0]]) {
1440
+ stack.shift();
1441
+ this.next = stack.shift();
1442
+ return this.token;
1443
+ }
1444
+ this.next = '';
1445
+ return "string";
1446
+ }
1447
+ }, {
1448
+ defaultToken: "string"
1449
+ }],
1450
+ "sStateWithoutInterpolation": [{
1451
+ token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
1452
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
1453
+ if (stack.length && val === stack[0]) {
1454
+ stack.unshift(val, state);
1455
+ return this.token;
1456
+ }
1457
+ return "constant.other.symbol.ruby";
1458
+ }
1459
+ }, {
1460
+ token: "constant.other.symbol.ruby",
1461
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
1462
+ if (stack.length && val === closeParen[stack[0]]) {
1463
+ stack.shift();
1464
+ this.next = stack.shift();
1465
+ return this.token;
1466
+ }
1467
+ this.next = '';
1468
+ return "constant.other.symbol.ruby";
1469
+ }
1470
+ }, {
1471
+ defaultToken: "constant.other.symbol.ruby"
1472
+ }],
1473
+ "sStateWithInterpolation": [{
1474
+ token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
1475
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
1476
+ if (stack.length && val === stack[0]) {
1477
+ stack.unshift(val, state);
1478
+ return this.token;
1479
+ }
1480
+ return "constant.other.symbol.ruby";
1481
+ }
1482
+ }, {
1483
+ token: "constant.language.escape",
1484
+ regex: escapedChars
1485
+ }, {
1486
+ token: "constant.language.escape",
1487
+ regex: /\\./
1488
+ }, {
1489
+ token: "paren.start",
1490
+ regex: /#{/,
1491
+ push: "start"
1492
+ }, {
1493
+ token: "constant.other.symbol.ruby",
1494
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
1495
+ if (stack.length && val === closeParen[stack[0]]) {
1496
+ stack.shift();
1497
+ this.next = stack.shift();
1498
+ return this.token;
1499
+ }
1500
+ this.next = '';
1501
+ return "constant.other.symbol.ruby";
1502
+ }
1503
+ }, {
1504
+ defaultToken: "constant.other.symbol.ruby"
1505
+ }],
1506
+ "rState": [{
1507
+ token: "string.regexp",// excluded nested |^% due to difficulty in realization
1508
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
1509
+ if (stack.length && val === stack[0]) {
1510
+ stack.unshift(val, state);
1511
+ return this.token;
1512
+ }
1513
+ return "constant.language.escape";
1514
+ }
1515
+ }, {
1516
+ token: "paren.start",
1517
+ regex: /#{/,
1518
+ push: "start"
1519
+ }, {
1520
+ token: "string.regexp",
1521
+ regex: /\//
1522
+ }, {
1523
+ token: "string.regexp",
1524
+ regex: /[)\]>}^|%][imxouesn]*/, onMatch: function (val, state, stack) {
1525
+ if (stack.length && val[0] === closeParen[stack[0]]) {
1526
+ stack.shift();
1527
+ this.next = stack.shift();
1528
+ return this.token;
1529
+ }
1530
+ this.next = '';
1531
+ return "constant.language.escape";
1532
+ }
1533
+ },
1534
+ {include: "regex"},
1535
+ {
1536
+ defaultToken: "string.regexp"
1537
+ }],
1538
+ "regex": [
1539
+ {// character classes
1540
+ token: "regexp.keyword",
1541
+ regex: /\\[wWdDhHsS]/
1271
1542
  }, {
1272
- token : "paren.rparen",
1273
- regex : "[\\])}]"
1543
+ token: "constant.language.escape",
1544
+ regex: /\\[AGbBzZ]/
1274
1545
  }, {
1275
- token : "text",
1276
- regex : "\\s+"
1546
+ token: "constant.language.escape",
1547
+ regex: /\\g<[a-zA-Z0-9]*>/
1548
+ }, {
1549
+ token: ["constant.language.escape", "regexp.keyword", "constant.language.escape"],
1550
+ regex: /(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/
1551
+ }, {
1552
+ token: ["constant.language.escape", "invalid", "constant.language.escape"],
1553
+ regex: /(\\p{\^?)([^/]*)(})/
1554
+ }, {// escapes
1555
+ token: "regexp.keyword.operator",
1556
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
1557
+ }, {// flag
1558
+ token: "string.regexp",
1559
+ regex: /[/][imxouesn]*/,
1560
+ next: "start"
1561
+ }, {// invalid operators
1562
+ token: "invalid",
1563
+ regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
1564
+ }, {// operators
1565
+ token: "constant.language.escape",
1566
+ regex: /\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
1567
+ }, {
1568
+ token: "constant.language.delimiter",
1569
+ regex: /\|/
1570
+ }, {
1571
+ token: "regexp.keyword",
1572
+ regex: /\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/
1573
+ }, {
1574
+ token: "constant.language.escape",
1575
+ regex: /\[\^?/,
1576
+ push: "regex_character_class"
1577
+ }, {
1578
+ defaultToken: "string.regexp"
1277
1579
  }
1278
1580
  ],
1279
- "comment" : [
1581
+ "regex_character_class": [
1280
1582
  {
1281
- token : "comment", // closing comment
1282
- regex : "^=end(?:$|\\s.*$)",
1283
- next : "start"
1583
+ token: "regexp.keyword",
1584
+ regex: /\\[wWdDhHsS]/
1585
+ }, {
1586
+ token: "regexp.charclass.keyword.operator",
1587
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
1588
+ }, {
1589
+ token: "constant.language.escape",
1590
+ regex: /&?&?\[\^?/,
1591
+ push: "regex_character_class"
1592
+ }, {
1593
+ token: "constant.language.escape",
1594
+ regex: "]",
1595
+ next: "pop"
1596
+ }, {
1597
+ token: "constant.language.escape",
1598
+ regex: "-"
1284
1599
  }, {
1285
- token : "comment", // comment spanning whole line
1286
- regex : ".+"
1600
+ defaultToken: "string.regexp.characterclass"
1287
1601
  }
1288
1602
  ]
1289
1603
  };
@@ -1296,7 +1610,7 @@ oop.inherits(RubyHighlightRules, TextHighlightRules);
1296
1610
  exports.RubyHighlightRules = RubyHighlightRules;
1297
1611
  });
1298
1612
 
1299
- ace.define("ace/mode/html_ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/ruby_highlight_rules"], function(require, exports, module) {
1613
+ ace.define("ace/mode/html_ruby_highlight_rules",[], function(require, exports, module) {
1300
1614
  "use strict";
1301
1615
 
1302
1616
  var oop = require("../lib/oop");
@@ -1351,7 +1665,7 @@ ace.define("ace/mode/html_ruby_highlight_rules",["require","exports","module","a
1351
1665
  exports.HtmlRubyHighlightRules = HtmlRubyHighlightRules;
1352
1666
  });
1353
1667
 
1354
- ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
1668
+ ace.define("ace/mode/matching_brace_outdent",[], function(require, exports, module) {
1355
1669
  "use strict";
1356
1670
 
1357
1671
  var Range = require("../range").Range;
@@ -1391,7 +1705,7 @@ var MatchingBraceOutdent = function() {};
1391
1705
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
1392
1706
  });
1393
1707
 
1394
- ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
1708
+ ace.define("ace/mode/folding/cstyle",[], function(require, exports, module) {
1395
1709
  "use strict";
1396
1710
 
1397
1711
  var oop = require("../../lib/oop");
@@ -1531,7 +1845,7 @@ oop.inherits(FoldMode, BaseFoldMode);
1531
1845
 
1532
1846
  });
1533
1847
 
1534
- ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
1848
+ ace.define("ace/mode/javascript",[], function(require, exports, module) {
1535
1849
  "use strict";
1536
1850
 
1537
1851
  var oop = require("../lib/oop");
@@ -1613,12 +1927,13 @@ oop.inherits(Mode, TextMode);
1613
1927
  };
1614
1928
 
1615
1929
  this.$id = "ace/mode/javascript";
1930
+ this.snippetFileId = "ace/snippets/javascript";
1616
1931
  }).call(Mode.prototype);
1617
1932
 
1618
1933
  exports.Mode = Mode;
1619
1934
  });
1620
1935
 
1621
- ace.define("ace/mode/css_completions",["require","exports","module"], function(require, exports, module) {
1936
+ ace.define("ace/mode/css_completions",[], function(require, exports, module) {
1622
1937
  "use strict";
1623
1938
 
1624
1939
  var propertyMap = {
@@ -1788,7 +2103,7 @@ var CssCompletions = function() {
1788
2103
  exports.CssCompletions = CssCompletions;
1789
2104
  });
1790
2105
 
1791
- ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"], function(require, exports, module) {
2106
+ ace.define("ace/mode/behaviour/css",[], function(require, exports, module) {
1792
2107
  "use strict";
1793
2108
 
1794
2109
  var oop = require("../../lib/oop");
@@ -1881,7 +2196,7 @@ oop.inherits(CssBehaviour, CstyleBehaviour);
1881
2196
  exports.CssBehaviour = CssBehaviour;
1882
2197
  });
1883
2198
 
1884
- ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"], function(require, exports, module) {
2199
+ ace.define("ace/mode/css",[], function(require, exports, module) {
1885
2200
  "use strict";
1886
2201
 
1887
2202
  var oop = require("../lib/oop");
@@ -1950,13 +2265,14 @@ oop.inherits(Mode, TextMode);
1950
2265
  };
1951
2266
 
1952
2267
  this.$id = "ace/mode/css";
2268
+ this.snippetFileId = "ace/snippets/css";
1953
2269
  }).call(Mode.prototype);
1954
2270
 
1955
2271
  exports.Mode = Mode;
1956
2272
 
1957
2273
  });
1958
2274
 
1959
- ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
2275
+ ace.define("ace/mode/behaviour/xml",[], function(require, exports, module) {
1960
2276
  "use strict";
1961
2277
 
1962
2278
  var oop = require("../../lib/oop");
@@ -2128,7 +2444,7 @@ oop.inherits(XmlBehaviour, Behaviour);
2128
2444
  exports.XmlBehaviour = XmlBehaviour;
2129
2445
  });
2130
2446
 
2131
- ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"], function(require, exports, module) {
2447
+ ace.define("ace/mode/folding/mixed",[], function(require, exports, module) {
2132
2448
  "use strict";
2133
2449
 
2134
2450
  var oop = require("../../lib/oop");
@@ -2182,7 +2498,7 @@ oop.inherits(FoldMode, BaseFoldMode);
2182
2498
 
2183
2499
  });
2184
2500
 
2185
- ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"], function(require, exports, module) {
2501
+ ace.define("ace/mode/folding/xml",[], function(require, exports, module) {
2186
2502
  "use strict";
2187
2503
 
2188
2504
  var oop = require("../../lib/oop");
@@ -2431,7 +2747,7 @@ function is(token, type) {
2431
2747
 
2432
2748
  });
2433
2749
 
2434
- ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"], function(require, exports, module) {
2750
+ ace.define("ace/mode/folding/html",[], function(require, exports, module) {
2435
2751
  "use strict";
2436
2752
 
2437
2753
  var oop = require("../../lib/oop");
@@ -2450,7 +2766,7 @@ oop.inherits(FoldMode, MixedFoldMode);
2450
2766
 
2451
2767
  });
2452
2768
 
2453
- ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"], function(require, exports, module) {
2769
+ ace.define("ace/mode/html_completions",[], function(require, exports, module) {
2454
2770
  "use strict";
2455
2771
 
2456
2772
  var TokenIterator = require("../token_iterator").TokenIterator;
@@ -2772,7 +3088,7 @@ var HtmlCompletions = function() {
2772
3088
  exports.HtmlCompletions = HtmlCompletions;
2773
3089
  });
2774
3090
 
2775
- ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"], function(require, exports, module) {
3091
+ ace.define("ace/mode/html",[], function(require, exports, module) {
2776
3092
  "use strict";
2777
3093
 
2778
3094
  var oop = require("../lib/oop");
@@ -2842,99 +3158,277 @@ oop.inherits(Mode, TextMode);
2842
3158
  };
2843
3159
 
2844
3160
  this.$id = "ace/mode/html";
3161
+ this.snippetFileId = "ace/snippets/html";
2845
3162
  }).call(Mode.prototype);
2846
3163
 
2847
3164
  exports.Mode = Mode;
2848
3165
  });
2849
3166
 
2850
- ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
3167
+ ace.define("ace/mode/folding/ruby",[], function (require, exports, module) {
2851
3168
  "use strict";
2852
3169
 
2853
3170
  var oop = require("../../lib/oop");
2854
3171
  var BaseFoldMode = require("./fold_mode").FoldMode;
2855
3172
  var Range = require("../../range").Range;
3173
+ var TokenIterator = require("../../token_iterator").TokenIterator;
3174
+
3175
+
3176
+ var FoldMode = exports.FoldMode = function () {
3177
+ };
2856
3178
 
2857
- var FoldMode = exports.FoldMode = function() {};
2858
3179
  oop.inherits(FoldMode, BaseFoldMode);
2859
3180
 
2860
- (function() {
3181
+ (function () {
3182
+ this.indentKeywords = {
3183
+ "class": 1,
3184
+ "def": 1,
3185
+ "module": 1,
3186
+ "do": 1,
3187
+ "unless": 1,
3188
+ "if": 1,
3189
+ "while": 1,
3190
+ "for": 1,
3191
+ "until": 1,
3192
+ "begin": 1,
3193
+ "else": 0,
3194
+ "elsif": 0,
3195
+ "rescue": 0,
3196
+ "ensure": 0,
3197
+ "when": 0,
3198
+ "end": -1,
3199
+ "case": 1,
3200
+ "=begin": 1,
3201
+ "=end": -1
3202
+ };
2861
3203
 
2862
- this.getFoldWidgetRange = function(session, foldStyle, row) {
2863
- var range = this.indentationBlock(session, row);
2864
- if (range)
2865
- return range;
3204
+ this.foldingStartMarker = /(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/;
3205
+ this.foldingStopMarker = /(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/;
2866
3206
 
2867
- var re = /\S/;
3207
+ this.getFoldWidget = function (session, foldStyle, row) {
2868
3208
  var line = session.getLine(row);
2869
- var startLevel = line.search(re);
2870
- if (startLevel == -1 || line[startLevel] != "#")
2871
- return;
2872
-
2873
- var startColumn = line.length;
2874
- var maxRow = session.getLength();
2875
- var startRow = row;
2876
- var endRow = row;
3209
+ var isStart = this.foldingStartMarker.test(line);
3210
+ var isEnd = this.foldingStopMarker.test(line);
3211
+
3212
+ if (isStart && !isEnd) {
3213
+ var match = line.match(this.foldingStartMarker);
3214
+ if (match[1]) {
3215
+ if (match[1] == "if" || match[1] == "else" || match[1] == "while" || match[1] == "until" || match[1] == "unless") {
3216
+ if (match[1] == "else" && /^\s*else\s*$/.test(line) === false) {
3217
+ return;
3218
+ }
3219
+ if (/^\s*(?:if|else|while|until|unless)\s*/.test(line) === false) {
3220
+ return;
3221
+ }
3222
+ }
2877
3223
 
2878
- while (++row < maxRow) {
2879
- line = session.getLine(row);
2880
- var level = line.search(re);
3224
+ if (match[1] == "when") {
3225
+ if (/\sthen\s/.test(line) === true) {
3226
+ return;
3227
+ }
3228
+ }
3229
+ if (session.getTokenAt(row, match.index + 2).type === "keyword")
3230
+ return "start";
3231
+ } else if (match[3]) {
3232
+ if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
3233
+ return "start";
3234
+ } else {
3235
+ return "start";
3236
+ }
3237
+ }
3238
+ if (foldStyle != "markbeginend" || !isEnd || isStart && isEnd)
3239
+ return "";
2881
3240
 
2882
- if (level == -1)
2883
- continue;
3241
+ var match = line.match(this.foldingStopMarker);
3242
+ if (match[3] === "end") {
3243
+ if (session.getTokenAt(row, match.index + 1).type === "keyword")
3244
+ return "end";
3245
+ } else if (match[1]) {
3246
+ if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
3247
+ return "end";
3248
+ } else
3249
+ return "end";
3250
+ };
2884
3251
 
2885
- if (line[level] != "#")
2886
- break;
3252
+ this.getFoldWidgetRange = function (session, foldStyle, row) {
3253
+ var line = session.doc.getLine(row);
3254
+ var match = this.foldingStartMarker.exec(line);
3255
+ if (match) {
3256
+ if (match[1] || match[3])
3257
+ return this.rubyBlock(session, row, match.index + 2);
2887
3258
 
2888
- endRow = row;
3259
+ return this.openingBracketBlock(session, "{", row, match.index);
2889
3260
  }
2890
3261
 
2891
- if (endRow > startRow) {
2892
- var endColumn = session.getLine(endRow).length;
2893
- return new Range(startRow, startColumn, endRow, endColumn);
3262
+ var match = this.foldingStopMarker.exec(line);
3263
+ if (match) {
3264
+ if (match[3] === "end") {
3265
+ if (session.getTokenAt(row, match.index + 1).type === "keyword")
3266
+ return this.rubyBlock(session, row, match.index + 1);
3267
+ }
3268
+
3269
+ if (match[1] === "=end") {
3270
+ if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
3271
+ return this.rubyBlock(session, row, match.index + 1);
3272
+ }
3273
+
3274
+ return this.closingBracketBlock(session, "}", row, match.index + match[0].length);
2894
3275
  }
2895
3276
  };
2896
- this.getFoldWidget = function(session, foldStyle, row) {
3277
+
3278
+ this.rubyBlock = function (session, row, column, tokenRange) {
3279
+ var stream = new TokenIterator(session, row, column);
3280
+
3281
+ var token = stream.getCurrentToken();
3282
+ if (!token || (token.type != "keyword" && token.type != "comment.multiline"))
3283
+ return;
3284
+
3285
+ var val = token.value;
2897
3286
  var line = session.getLine(row);
2898
- var indent = line.search(/\S/);
2899
- var next = session.getLine(row + 1);
2900
- var prev = session.getLine(row - 1);
2901
- var prevIndent = prev.search(/\S/);
2902
- var nextIndent = next.search(/\S/);
2903
-
2904
- if (indent == -1) {
2905
- session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
2906
- return "";
3287
+ switch (token.value) {
3288
+ case "if":
3289
+ case "unless":
3290
+ case "while":
3291
+ case "until":
3292
+ var checkToken = new RegExp("^\\s*" + token.value);
3293
+ if (!checkToken.test(line)) {
3294
+ return;
3295
+ }
3296
+ var dir = this.indentKeywords[val];
3297
+ break;
3298
+ case "when":
3299
+ if (/\sthen\s/.test(line)) {
3300
+ return;
3301
+ }
3302
+ case "elsif":
3303
+ case "rescue":
3304
+ case "ensure":
3305
+ var dir = 1;
3306
+ break;
3307
+ case "else":
3308
+ var checkToken = new RegExp("^\\s*" + token.value + "\\s*$");
3309
+ if (!checkToken.test(line)) {
3310
+ return;
3311
+ }
3312
+ var dir = 1;
3313
+ break;
3314
+ default:
3315
+ var dir = this.indentKeywords[val];
3316
+ break;
2907
3317
  }
2908
- if (prevIndent == -1) {
2909
- if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
2910
- session.foldWidgets[row - 1] = "";
2911
- session.foldWidgets[row + 1] = "";
2912
- return "start";
3318
+
3319
+ var stack = [val];
3320
+ if (!dir)
3321
+ return;
3322
+
3323
+ var startColumn = dir === -1 ? session.getLine(row - 1).length : session.getLine(row).length;
3324
+ var startRow = row;
3325
+ var ranges = [];
3326
+ ranges.push(stream.getCurrentTokenRange());
3327
+
3328
+ stream.step = dir === -1 ? stream.stepBackward : stream.stepForward;
3329
+ if (token.type == "comment.multiline") {
3330
+ while (token = stream.step()) {
3331
+ if (token.type !== "comment.multiline")
3332
+ continue;
3333
+ if (dir == 1) {
3334
+ startColumn = 6;
3335
+ if (token.value == "=end") {
3336
+ break;
3337
+ }
3338
+ } else {
3339
+ if (token.value == "=begin") {
3340
+ break;
3341
+ }
3342
+ }
2913
3343
  }
2914
- } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
2915
- if (session.getLine(row - 2).search(/\S/) == -1) {
2916
- session.foldWidgets[row - 1] = "start";
2917
- session.foldWidgets[row + 1] = "";
2918
- return "";
3344
+ } else {
3345
+ while (token = stream.step()) {
3346
+ var ignore = false;
3347
+ if (token.type !== "keyword")
3348
+ continue;
3349
+ var level = dir * this.indentKeywords[token.value];
3350
+ line = session.getLine(stream.getCurrentTokenRow());
3351
+ switch (token.value) {
3352
+ case "do":
3353
+ for (var i = stream.$tokenIndex - 1; i >= 0; i--) {
3354
+ var prevToken = stream.$rowTokens[i];
3355
+ if (prevToken && (prevToken.value == "while" || prevToken.value == "until" || prevToken.value == "for")) {
3356
+ level = 0;
3357
+ break;
3358
+ }
3359
+ }
3360
+ break;
3361
+ case "else":
3362
+ var checkToken = new RegExp("^\\s*" + token.value + "\\s*$");
3363
+ if (!checkToken.test(line) || val == "case") {
3364
+ level = 0;
3365
+ ignore = true;
3366
+ }
3367
+ break;
3368
+ case "if":
3369
+ case "unless":
3370
+ case "while":
3371
+ case "until":
3372
+ var checkToken = new RegExp("^\\s*" + token.value);
3373
+ if (!checkToken.test(line)) {
3374
+ level = 0;
3375
+ ignore = true;
3376
+ }
3377
+ break;
3378
+ case "when":
3379
+ if (/\sthen\s/.test(line) || val == "case") {
3380
+ level = 0;
3381
+ ignore = true;
3382
+ }
3383
+ break;
3384
+ }
3385
+
3386
+ if (level > 0) {
3387
+ stack.unshift(token.value);
3388
+ } else if (level <= 0 && ignore === false) {
3389
+ stack.shift();
3390
+ if (!stack.length) {
3391
+ if ((val == "while" || val == "until" || val == "for") && token.value != "do") {
3392
+ break;
3393
+ }
3394
+ if (token.value == "do" && dir == -1 && level != 0)
3395
+ break;
3396
+ if (token.value != "do")
3397
+ break;
3398
+ }
3399
+
3400
+ if (level === 0) {
3401
+ stack.unshift(token.value);
3402
+ }
3403
+ }
2919
3404
  }
2920
3405
  }
2921
3406
 
2922
- if (prevIndent!= -1 && prevIndent < indent)
2923
- session.foldWidgets[row - 1] = "start";
2924
- else
2925
- session.foldWidgets[row - 1] = "";
3407
+ if (!token)
3408
+ return null;
2926
3409
 
2927
- if (indent < nextIndent)
2928
- return "start";
2929
- else
2930
- return "";
3410
+ if (tokenRange) {
3411
+ ranges.push(stream.getCurrentTokenRange());
3412
+ return ranges;
3413
+ }
3414
+
3415
+ var row = stream.getCurrentTokenRow();
3416
+ if (dir === -1) {
3417
+ if (token.type === "comment.multiline") {
3418
+ var endColumn = 6;
3419
+ } else {
3420
+ var endColumn = session.getLine(row).length;
3421
+ }
3422
+ return new Range(row, endColumn, startRow - 1, startColumn);
3423
+ } else
3424
+ return new Range(startRow, startColumn, row - 1, session.getLine(row - 1).length);
2931
3425
  };
2932
3426
 
2933
3427
  }).call(FoldMode.prototype);
2934
3428
 
2935
3429
  });
2936
3430
 
2937
- ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"], function(require, exports, module) {
3431
+ ace.define("ace/mode/ruby",[], function(require, exports, module) {
2938
3432
  "use strict";
2939
3433
 
2940
3434
  var oop = require("../lib/oop");
@@ -2943,13 +3437,14 @@ var RubyHighlightRules = require("./ruby_highlight_rules").RubyHighlightRules;
2943
3437
  var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
2944
3438
  var Range = require("../range").Range;
2945
3439
  var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
2946
- var FoldMode = require("./folding/coffee").FoldMode;
3440
+ var FoldMode = require("./folding/ruby").FoldMode;
2947
3441
 
2948
3442
  var Mode = function() {
2949
3443
  this.HighlightRules = RubyHighlightRules;
2950
3444
  this.$outdent = new MatchingBraceOutdent();
2951
3445
  this.$behaviour = new CstyleBehaviour();
2952
3446
  this.foldingRules = new FoldMode();
3447
+ this.indentKeywords = this.foldingRules.indentKeywords;
2953
3448
  };
2954
3449
  oop.inherits(Mode, TextMode);
2955
3450
 
@@ -2964,7 +3459,7 @@ oop.inherits(Mode, TextMode);
2964
3459
  var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
2965
3460
  var tokens = tokenizedLine.tokens;
2966
3461
 
2967
- if (tokens.length && tokens[tokens.length-1].type == "comment") {
3462
+ if (tokens.length && tokens[tokens.length - 1].type == "comment") {
2968
3463
  return indent;
2969
3464
  }
2970
3465
 
@@ -2972,7 +3467,7 @@ oop.inherits(Mode, TextMode);
2972
3467
  var match = line.match(/^.*[\{\(\[]\s*$/);
2973
3468
  var startingClassOrMethod = line.match(/^\s*(class|def|module)\s.*$/);
2974
3469
  var startingDoBlock = line.match(/.*do(\s*|\s+\|.*\|\s*)$/);
2975
- var startingConditional = line.match(/^\s*(if|else|when)\s*/);
3470
+ var startingConditional = line.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);
2976
3471
  if (match || startingClassOrMethod || startingDoBlock || startingConditional) {
2977
3472
  indent += tab;
2978
3473
  }
@@ -2982,7 +3477,7 @@ oop.inherits(Mode, TextMode);
2982
3477
  };
2983
3478
 
2984
3479
  this.checkOutdent = function(state, line, input) {
2985
- return /^\s+(end|else)$/.test(line + input) || this.$outdent.checkOutdent(line, input);
3480
+ return /^\s+(end|else|rescue|ensure)$/.test(line + input) || this.$outdent.checkOutdent(line, input);
2986
3481
  };
2987
3482
 
2988
3483
  this.autoOutdent = function(state, session, row) {
@@ -2995,17 +3490,30 @@ oop.inherits(Mode, TextMode);
2995
3490
  var tab = session.getTabString();
2996
3491
  if (prevIndent.length <= indent.length) {
2997
3492
  if (indent.slice(-tab.length) == tab)
2998
- session.remove(new Range(row, indent.length-tab.length, row, indent.length));
3493
+ session.remove(new Range(row, indent.length - tab.length, row, indent.length));
2999
3494
  }
3000
3495
  };
3001
3496
 
3497
+ this.getMatching = function(session, row, column) {
3498
+ if (row == undefined) {
3499
+ var pos = session.selection.lead;
3500
+ column = pos.column;
3501
+ row = pos.row;
3502
+ }
3503
+
3504
+ var startToken = session.getTokenAt(row, column);
3505
+ if (startToken && startToken.value in this.indentKeywords)
3506
+ return this.foldingRules.rubyBlock(session, row, column, true);
3507
+ };
3508
+
3002
3509
  this.$id = "ace/mode/ruby";
3510
+ this.snippetFileId = "ace/snippets/ruby";
3003
3511
  }).call(Mode.prototype);
3004
3512
 
3005
3513
  exports.Mode = Mode;
3006
3514
  });
3007
3515
 
3008
- ace.define("ace/mode/html_ruby",["require","exports","module","ace/lib/oop","ace/mode/html_ruby_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"], function(require, exports, module) {
3516
+ ace.define("ace/mode/html_ruby",[], function(require, exports, module) {
3009
3517
  "use strict";
3010
3518
 
3011
3519
  var oop = require("../lib/oop");