@openui5/sap.ui.codeeditor 1.120.6 → 1.121.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 (457) hide show
  1. package/.reuse/dep5 +23 -21
  2. package/THIRDPARTY.txt +6 -43
  3. package/package.json +2 -2
  4. package/src/sap/ui/codeeditor/.library +2 -2
  5. package/src/sap/ui/codeeditor/CodeEditor.js +41 -27
  6. package/src/sap/ui/codeeditor/js/ace/ace.js +16262 -16597
  7. package/src/sap/ui/codeeditor/js/ace/css/ace.css +358 -86
  8. package/src/sap/ui/codeeditor/js/ace/css/ambiance-3.png +0 -0
  9. package/src/sap/ui/codeeditor/js/ace/css/chrome-2.png +0 -0
  10. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-1.png +0 -0
  11. package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-2.png +0 -0
  12. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-1.png +0 -0
  13. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-2.png +0 -0
  14. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-1.png +0 -0
  15. package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-2.png +0 -0
  16. package/src/sap/ui/codeeditor/js/ace/css/clouds-2.png +0 -0
  17. package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-2.png +0 -0
  18. package/src/sap/ui/codeeditor/js/ace/css/cobalt-2.png +0 -0
  19. package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-2.png +0 -0
  20. package/src/sap/ui/codeeditor/js/ace/css/dawn-2.png +0 -0
  21. package/src/sap/ui/codeeditor/js/ace/css/dracula-2.png +0 -0
  22. package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-2.png +0 -0
  23. package/src/sap/ui/codeeditor/js/ace/css/eclipse-2.png +0 -0
  24. package/src/sap/ui/codeeditor/js/ace/css/github-2.png +0 -0
  25. package/src/sap/ui/codeeditor/js/ace/css/github_dark-1.png +0 -0
  26. package/src/sap/ui/codeeditor/js/ace/css/github_dark-2.png +0 -0
  27. package/src/sap/ui/codeeditor/js/ace/css/gob-2.png +0 -0
  28. package/src/sap/ui/codeeditor/js/ace/css/gruvbox-2.png +0 -0
  29. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_dark_hard-1.png +0 -0
  30. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-1.png +0 -0
  31. package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-2.png +0 -0
  32. package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-2.png +0 -0
  33. package/src/sap/ui/codeeditor/js/ace/css/iplastic-3.png +0 -0
  34. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-1.png +0 -0
  35. package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-2.png +0 -0
  36. package/src/sap/ui/codeeditor/js/ace/css/kr_theme-2.png +0 -0
  37. package/src/sap/ui/codeeditor/js/ace/css/kuroir-1.png +0 -0
  38. package/src/sap/ui/codeeditor/js/ace/css/kuroir-2.png +0 -0
  39. package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
  40. package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
  41. package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
  42. package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
  43. package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
  44. package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
  45. package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
  46. package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
  47. package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
  48. package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
  49. package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
  50. package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
  51. package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
  52. package/src/sap/ui/codeeditor/js/ace/css/main-22.svg +1 -0
  53. package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
  54. package/src/sap/ui/codeeditor/js/ace/css/main-5.svg +7 -0
  55. package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +7 -0
  56. package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +9 -0
  57. package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
  58. package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +4 -0
  59. package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
  60. package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +4 -0
  61. package/src/sap/ui/codeeditor/js/ace/css/merbivore-2.png +0 -0
  62. package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-2.png +0 -0
  63. package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-2.png +0 -0
  64. package/src/sap/ui/codeeditor/js/ace/css/monokai-2.png +0 -0
  65. package/src/sap/ui/codeeditor/js/ace/css/one_dark-2.png +0 -0
  66. package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-2.png +0 -0
  67. package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-2.png +0 -0
  68. package/src/sap/ui/codeeditor/js/ace/css/solarized_light-2.png +0 -0
  69. package/src/sap/ui/codeeditor/js/ace/css/sqlserver-2.png +0 -0
  70. package/src/sap/ui/codeeditor/js/ace/css/terminal-2.png +0 -0
  71. package/src/sap/ui/codeeditor/js/ace/css/textmate-2.png +0 -0
  72. package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +120 -68
  73. package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +79 -66
  74. package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +82 -43
  75. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_day.css +160 -0
  76. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night.css +146 -0
  77. package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night_low_color.css +134 -0
  78. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +59 -31
  79. package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +60 -32
  80. package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +71 -38
  81. package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +79 -42
  82. package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +70 -40
  83. package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +95 -49
  84. package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +95 -49
  85. package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +62 -33
  86. package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +71 -38
  87. package/src/sap/ui/codeeditor/js/ace/css/theme/github_dark.css +134 -0
  88. package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +68 -38
  89. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +54 -28
  90. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_dark_hard.css +163 -0
  91. package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_light_hard.css +167 -0
  92. package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +62 -34
  93. package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +76 -45
  94. package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +91 -53
  95. package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +67 -36
  96. package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +43 -17
  97. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +57 -31
  98. package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +57 -31
  99. package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +66 -36
  100. package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +63 -35
  101. package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +55 -29
  102. package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +88 -47
  103. package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +70 -38
  104. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +52 -28
  105. package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +55 -29
  106. package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +90 -48
  107. package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +64 -34
  108. package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +82 -43
  109. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +61 -33
  110. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +61 -33
  111. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +59 -32
  112. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +71 -40
  113. package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +61 -33
  114. package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +66 -36
  115. package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +59 -32
  116. package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +54 -28
  117. package/src/sap/ui/codeeditor/js/ace/css/tomorrow-2.png +0 -0
  118. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-2.png +0 -0
  119. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-2.png +0 -0
  120. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-2.png +0 -0
  121. package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-2.png +0 -0
  122. package/src/sap/ui/codeeditor/js/ace/css/twilight-2.png +0 -0
  123. package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-2.png +0 -0
  124. package/src/sap/ui/codeeditor/js/ace/css/xcode-2.png +0 -0
  125. package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +90 -91
  126. package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +39 -75
  127. package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +457 -0
  128. package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +47 -97
  129. package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +496 -552
  130. package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +47 -16
  131. package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +3269 -0
  132. package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +45 -105
  133. package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +1438 -1128
  134. package/src/sap/ui/codeeditor/js/ace/ext-linking.js +8 -16
  135. package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +198 -185
  136. package/src/sap/ui/codeeditor/js/ace/ext-options.js +405 -443
  137. package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +1682 -1508
  138. package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +26 -28
  139. package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +160 -332
  140. package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +409 -446
  141. package/src/sap/ui/codeeditor/js/ace/ext-simple_tokenizer.js +45 -0
  142. package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +4 -10
  143. package/src/sap/ui/codeeditor/js/ace/ext-split.js +41 -63
  144. package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +19 -27
  145. package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +45 -41
  146. package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +62 -83
  147. package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +442 -551
  148. package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +338 -351
  149. package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +5242 -4758
  150. package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +228 -235
  151. package/src/sap/ui/codeeditor/js/ace/mode-abap.js +72 -93
  152. package/src/sap/ui/codeeditor/js/ace/mode-abc.js +136 -164
  153. package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +109 -150
  154. package/src/sap/ui/codeeditor/js/ace/mode-ada.js +45 -74
  155. package/src/sap/ui/codeeditor/js/ace/mode-alda.js +77 -109
  156. package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +196 -241
  157. package/src/sap/ui/codeeditor/js/ace/mode-apex.js +192 -247
  158. package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +56 -102
  159. package/src/sap/ui/codeeditor/js/ace/mode-aql.js +85 -95
  160. package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +120 -158
  161. package/src/sap/ui/codeeditor/js/ace/mode-asl.js +233 -298
  162. package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +78 -101
  163. package/src/sap/ui/codeeditor/js/ace/mode-astro.js +2414 -0
  164. package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +80 -116
  165. package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +74 -105
  166. package/src/sap/ui/codeeditor/js/ace/mode-bibtex.js +318 -0
  167. package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +72 -115
  168. package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +171 -257
  169. package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +97 -115
  170. package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +126 -119
  171. package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +48 -67
  172. package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +203 -268
  173. package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +1029 -1276
  174. package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +337 -393
  175. package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +127 -216
  176. package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +1539 -1569
  177. package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +786 -898
  178. package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +184 -237
  179. package/src/sap/ui/codeeditor/js/ace/mode-csp.js +37 -37
  180. package/src/sap/ui/codeeditor/js/ace/mode-css.js +293 -384
  181. package/src/sap/ui/codeeditor/js/ace/mode-curly.js +1019 -1262
  182. package/src/sap/ui/codeeditor/js/ace/mode-cuttlefish.js +56 -0
  183. package/src/sap/ui/codeeditor/js/ace/mode-d.js +163 -233
  184. package/src/sap/ui/codeeditor/js/ace/mode-dart.js +330 -427
  185. package/src/sap/ui/codeeditor/js/ace/mode-diff.js +20 -38
  186. package/src/sap/ui/codeeditor/js/ace/mode-django.js +1032 -1271
  187. package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +211 -284
  188. package/src/sap/ui/codeeditor/js/ace/mode-dot.js +131 -200
  189. package/src/sap/ui/codeeditor/js/ace/mode-drools.js +408 -349
  190. package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +89 -125
  191. package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +47 -62
  192. package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +1350 -1666
  193. package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +349 -407
  194. package/src/sap/ui/codeeditor/js/ace/mode-elm.js +136 -168
  195. package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +707 -881
  196. package/src/sap/ui/codeeditor/js/ace/mode-flix.js +164 -0
  197. package/src/sap/ui/codeeditor/js/ace/mode-forth.js +128 -172
  198. package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +177 -246
  199. package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +92 -131
  200. package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +91 -124
  201. package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +813 -748
  202. package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +52 -71
  203. package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +105 -119
  204. package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +12 -22
  205. package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +184 -289
  206. package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +686 -623
  207. package/src/sap/ui/codeeditor/js/ace/mode-golang.js +167 -239
  208. package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +48 -88
  209. package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +577 -471
  210. package/src/sap/ui/codeeditor/js/ace/mode-haml.js +1062 -1026
  211. package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +1061 -1305
  212. package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +199 -255
  213. package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +81 -87
  214. package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +111 -184
  215. package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +164 -199
  216. package/src/sap/ui/codeeditor/js/ace/mode-html.js +1009 -1239
  217. package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +1402 -1705
  218. package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +1390 -1706
  219. package/src/sap/ui/codeeditor/js/ace/mode-ini.js +58 -82
  220. package/src/sap/ui/codeeditor/js/ace/mode-io.js +85 -123
  221. package/src/sap/ui/codeeditor/js/ace/mode-ion.js +477 -0
  222. package/src/sap/ui/codeeditor/js/ace/mode-jack.js +109 -162
  223. package/src/sap/ui/codeeditor/js/ace/mode-jade.js +1339 -1344
  224. package/src/sap/ui/codeeditor/js/ace/mode-java.js +710 -498
  225. package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +441 -354
  226. package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +270 -0
  227. package/src/sap/ui/codeeditor/js/ace/mode-json.js +93 -147
  228. package/src/sap/ui/codeeditor/js/ace/mode-json5.js +128 -180
  229. package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +58 -112
  230. package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +1045 -865
  231. package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +158 -190
  232. package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +121 -194
  233. package/src/sap/ui/codeeditor/js/ace/mode-julia.js +128 -177
  234. package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +262 -614
  235. package/src/sap/ui/codeeditor/js/ace/mode-latex.js +94 -138
  236. package/src/sap/ui/codeeditor/js/ace/mode-latte.js +1120 -1366
  237. package/src/sap/ui/codeeditor/js/ace/mode-less.js +342 -442
  238. package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +1353 -1414
  239. package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +65 -73
  240. package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +217 -224
  241. package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +97 -142
  242. package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +187 -227
  243. package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +99 -155
  244. package/src/sap/ui/codeeditor/js/ace/mode-lua.js +152 -211
  245. package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +1167 -1470
  246. package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +25 -34
  247. package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +244 -282
  248. package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +1858 -2177
  249. package/src/sap/ui/codeeditor/js/ace/mode-mask.js +964 -1007
  250. package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +197 -221
  251. package/src/sap/ui/codeeditor/js/ace/mode-maze.js +127 -163
  252. package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +464 -476
  253. package/src/sap/ui/codeeditor/js/ace/mode-mel.js +90 -140
  254. package/src/sap/ui/codeeditor/js/ace/mode-mips.js +101 -134
  255. package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +63 -75
  256. package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +537 -576
  257. package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +85 -102
  258. package/src/sap/ui/codeeditor/js/ace/mode-nasal.js +513 -0
  259. package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +119 -155
  260. package/src/sap/ui/codeeditor/js/ace/mode-nim.js +159 -197
  261. package/src/sap/ui/codeeditor/js/ace/mode-nix.js +283 -375
  262. package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +139 -172
  263. package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +1138 -1378
  264. package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +400 -514
  265. package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +77 -120
  266. package/src/sap/ui/codeeditor/js/ace/mode-odin.js +449 -0
  267. package/src/sap/ui/codeeditor/js/ace/mode-partiql.js +750 -0
  268. package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +28 -47
  269. package/src/sap/ui/codeeditor/js/ace/mode-perl.js +122 -185
  270. package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +974 -851
  271. package/src/sap/ui/codeeditor/js/ace/mode-php.js +2282 -1502
  272. package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +2463 -1696
  273. package/src/sap/ui/codeeditor/js/ace/mode-pig.js +133 -165
  274. package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +5 -10
  275. package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +268 -0
  276. package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +332 -183
  277. package/src/sap/ui/codeeditor/js/ace/mode-praat.js +168 -234
  278. package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +292 -324
  279. package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +180 -246
  280. package/src/sap/ui/codeeditor/js/ace/mode-properties.js +26 -37
  281. package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +232 -327
  282. package/src/sap/ui/codeeditor/js/ace/mode-prql.js +320 -0
  283. package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +68 -120
  284. package/src/sap/ui/codeeditor/js/ace/mode-python.js +338 -370
  285. package/src/sap/ui/codeeditor/js/ace/mode-qml.js +244 -279
  286. package/src/sap/ui/codeeditor/js/ace/mode-r.js +295 -220
  287. package/src/sap/ui/codeeditor/js/ace/mode-raku.js +356 -433
  288. package/src/sap/ui/codeeditor/js/ace/mode-razor.js +1130 -1374
  289. package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +214 -171
  290. package/src/sap/ui/codeeditor/js/ace/mode-red.js +212 -274
  291. package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +181 -220
  292. package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +1325 -1443
  293. package/src/sap/ui/codeeditor/js/ace/mode-robot.js +168 -0
  294. package/src/sap/ui/codeeditor/js/ace/mode-rst.js +217 -229
  295. package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +338 -420
  296. package/src/sap/ui/codeeditor/js/ace/mode-rust.js +258 -155
  297. package/src/sap/ui/codeeditor/js/ace/mode-sac.js +349 -0
  298. package/src/sap/ui/codeeditor/js/ace/mode-sass.js +257 -309
  299. package/src/sap/ui/codeeditor/js/ace/mode-scad.js +127 -191
  300. package/src/sap/ui/codeeditor/js/ace/mode-scala.js +572 -468
  301. package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +104 -126
  302. package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +181 -228
  303. package/src/sap/ui/codeeditor/js/ace/mode-scss.js +364 -472
  304. package/src/sap/ui/codeeditor/js/ace/mode-sh.js +204 -266
  305. package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +477 -405
  306. package/src/sap/ui/codeeditor/js/ace/mode-slim.js +2631 -3161
  307. package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +1075 -1334
  308. package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +276 -327
  309. package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +78 -102
  310. package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +1251 -1548
  311. package/src/sap/ui/codeeditor/js/ace/mode-space.js +47 -63
  312. package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +139 -171
  313. package/src/sap/ui/codeeditor/js/ace/mode-sql.js +77 -133
  314. package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +138 -192
  315. package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +306 -338
  316. package/src/sap/ui/codeeditor/js/ace/mode-svg.js +642 -794
  317. package/src/sap/ui/codeeditor/js/ace/mode-swift.js +96 -150
  318. package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +151 -200
  319. package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +78 -132
  320. package/src/sap/ui/codeeditor/js/ace/mode-tex.js +148 -96
  321. package/src/sap/ui/codeeditor/js/ace/mode-textile.js +45 -70
  322. package/src/sap/ui/codeeditor/js/ace/mode-toml.js +63 -87
  323. package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +462 -384
  324. package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +119 -151
  325. package/src/sap/ui/codeeditor/js/ace/mode-twig.js +1099 -1350
  326. package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +455 -376
  327. package/src/sap/ui/codeeditor/js/ace/mode-vala.js +382 -505
  328. package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +231 -264
  329. package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +1116 -1388
  330. package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +61 -81
  331. package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +57 -79
  332. package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +1046 -1292
  333. package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +525 -417
  334. package/src/sap/ui/codeeditor/js/ace/mode-xml.js +182 -389
  335. package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +58 -112
  336. package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +202 -137
  337. package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +237 -274
  338. package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +5 -34
  339. package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +5 -160
  340. package/src/sap/ui/codeeditor/js/ace/snippets/astro.js +9 -0
  341. package/src/sap/ui/codeeditor/js/ace/snippets/bibtex.js +9 -0
  342. package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +5 -134
  343. package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +5 -93
  344. package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +5 -98
  345. package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +5 -13
  346. package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +5 -50
  347. package/src/sap/ui/codeeditor/js/ace/snippets/css.js +5 -970
  348. package/src/sap/ui/codeeditor/js/ace/snippets/cuttlefish.js +9 -0
  349. package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +5 -86
  350. package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +5 -14
  351. package/src/sap/ui/codeeditor/js/ace/snippets/django.js +5 -111
  352. package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +5 -22
  353. package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +8 -246
  354. package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +5 -163
  355. package/src/sap/ui/codeeditor/js/ace/snippets/flix.js +9 -0
  356. package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +6 -4
  357. package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +5 -1707
  358. package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +5 -35
  359. package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +5 -23
  360. package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +5 -85
  361. package/src/sap/ui/codeeditor/js/ace/snippets/html.js +5 -856
  362. package/src/sap/ui/codeeditor/js/ace/snippets/io.js +1 -3
  363. package/src/sap/ui/codeeditor/js/ace/snippets/ion.js +9 -0
  364. package/src/sap/ui/codeeditor/js/ace/snippets/java.js +5 -243
  365. package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +5 -198
  366. package/src/sap/ui/codeeditor/js/ace/snippets/jexl.js +9 -0
  367. package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +44 -41
  368. package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +5 -102
  369. package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +5 -884
  370. package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +5 -1235
  371. package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +5 -24
  372. package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +5 -7
  373. package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +5 -91
  374. package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +5 -12
  375. package/src/sap/ui/codeeditor/js/ace/snippets/nasal.js +9 -0
  376. package/src/sap/ui/codeeditor/js/ace/snippets/odin.js +9 -0
  377. package/src/sap/ui/codeeditor/js/ace/snippets/partiql.js +9 -0
  378. package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +5 -350
  379. package/src/sap/ui/codeeditor/js/ace/snippets/php.js +5 -386
  380. package/src/sap/ui/codeeditor/js/ace/snippets/plsql.js +9 -0
  381. package/src/sap/ui/codeeditor/js/ace/snippets/prql.js +9 -0
  382. package/src/sap/ui/codeeditor/js/ace/snippets/python.js +5 -161
  383. package/src/sap/ui/codeeditor/js/ace/snippets/r.js +5 -124
  384. package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +5 -6
  385. package/src/sap/ui/codeeditor/js/ace/snippets/robot.js +16 -0
  386. package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +5 -25
  387. package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +5 -931
  388. package/src/sap/ui/codeeditor/js/ace/snippets/sac.js +9 -0
  389. package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +5 -86
  390. package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +5 -12
  391. package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +5 -29
  392. package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +5 -72
  393. package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +5 -95
  394. package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +5 -193
  395. package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +5 -33
  396. package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +1 -2
  397. package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +5 -31
  398. package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +5 -87
  399. package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +44 -41
  400. package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -172
  401. package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +5 -150
  402. package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +6 -123
  403. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_day.js +19 -0
  404. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night.js +18 -0
  405. package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night_low_color.js +18 -0
  406. package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +6 -90
  407. package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +6 -91
  408. package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +6 -108
  409. package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +6 -113
  410. package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +6 -103
  411. package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +6 -122
  412. package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +7 -137
  413. package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +6 -92
  414. package/src/sap/ui/codeeditor/js/ace/theme-github.js +7 -99
  415. package/src/sap/ui/codeeditor/js/ace/theme-github_dark.js +18 -0
  416. package/src/sap/ui/codeeditor/js/ace/theme-gob.js +6 -107
  417. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +5 -76
  418. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_dark_hard.js +18 -0
  419. package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_light_hard.js +18 -0
  420. package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +6 -91
  421. package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +6 -116
  422. package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +6 -116
  423. package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +6 -99
  424. package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +6 -56
  425. package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +6 -90
  426. package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +6 -91
  427. package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +6 -102
  428. package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +6 -100
  429. package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +6 -89
  430. package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +10 -131
  431. package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +6 -103
  432. package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +6 -83
  433. package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +6 -86
  434. package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +6 -133
  435. package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +6 -109
  436. package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +3 -124
  437. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +6 -103
  438. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +6 -103
  439. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +6 -101
  440. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +6 -116
  441. package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +6 -103
  442. package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +6 -104
  443. package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +6 -89
  444. package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +6 -83
  445. package/src/sap/ui/codeeditor/js/ace/worker-base.js +516 -595
  446. package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +496 -575
  447. package/src/sap/ui/codeeditor/js/ace/worker-css.js +501 -578
  448. package/src/sap/ui/codeeditor/js/ace/worker-html.js +515 -584
  449. package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +2964 -2551
  450. package/src/sap/ui/codeeditor/js/ace/worker-json.js +496 -575
  451. package/src/sap/ui/codeeditor/js/ace/worker-lua.js +497 -576
  452. package/src/sap/ui/codeeditor/js/ace/worker-php.js +2906 -2795
  453. package/src/sap/ui/codeeditor/js/ace/worker-xml.js +496 -575
  454. package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +496 -575
  455. package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +5851 -0
  456. package/src/sap/ui/codeeditor/library.js +6 -5
  457. package/LICENSES/BSD-2-Clause.txt +0 -22
@@ -1,72 +1,56 @@
1
- ace.define("ace/mode/ruby_highlight_rules",[], function(require, exports, module) {
2
- "use strict";
3
-
1
+ ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
4
2
  var oop = require("../lib/oop");
5
3
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
4
  var constantOtherSymbol = exports.constantOtherSymbol = {
7
- token : "constant.other.symbol.ruby", // symbol
8
- regex : "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
5
+ token: "constant.other.symbol.ruby",
6
+ regex: "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
9
7
  };
10
-
11
8
  exports.qString = {
12
- token : "string", // single line
13
- regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
9
+ token: "string",
10
+ regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
14
11
  };
15
-
16
12
  exports.qqString = {
17
- token : "string", // single line
18
- regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
13
+ token: "string",
14
+ regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
19
15
  };
20
-
21
16
  exports.tString = {
22
- token : "string", // backtick string
23
- regex : "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
17
+ token: "string",
18
+ regex: "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
24
19
  };
25
-
26
20
  var constantNumericHex = exports.constantNumericHex = {
27
- token : "constant.numeric", // hex
28
- regex : "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
21
+ token: "constant.numeric",
22
+ regex: "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
29
23
  };
30
-
31
24
  var constantNumericBinary = exports.constantNumericBinary = {
32
25
  token: "constant.numeric",
33
26
  regex: /\b(0[bB][01](?:[01]|_(?=[01]))*)\b/
34
27
  };
35
-
36
28
  var constantNumericDecimal = exports.constantNumericDecimal = {
37
29
  token: "constant.numeric",
38
30
  regex: /\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/
39
31
  };
40
-
41
32
  var constantNumericOctal = exports.constantNumericDecimal = {
42
33
  token: "constant.numeric",
43
34
  regex: /\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/
44
35
  };
45
-
46
36
  var constantNumericRational = exports.constantNumericRational = {
47
- token: "constant.numeric", //rational + complex
37
+ token: "constant.numeric",
48
38
  regex: /\b([\d]+(?:[./][\d]+)?ri?)\b/
49
39
  };
50
-
51
40
  var constantNumericComplex = exports.constantNumericComplex = {
52
- token: "constant.numeric", //simple complex numbers
41
+ token: "constant.numeric",
53
42
  regex: /\b([\d]i)\b/
54
43
  };
55
-
56
44
  var constantNumericFloat = exports.constantNumericFloat = {
57
- token : "constant.numeric", // float + complex
58
- regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"
45
+ token: "constant.numeric",
46
+ regex: "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"
59
47
  };
60
-
61
48
  var instanceVariable = exports.instanceVariable = {
62
- token : "variable.instance", // instance variable
63
- regex : "@{1,2}[a-zA-Z_\\d]+"
49
+ token: "variable.instance",
50
+ regex: "@{1,2}[a-zA-Z_\\d]+"
64
51
  };
65
-
66
- var RubyHighlightRules = function() {
67
-
68
- var builtinFunctions = (
69
- "abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|" +
52
+ var RubyHighlightRules = function () {
53
+ var builtinFunctions = ("abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|" +
70
54
  "assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|" +
71
55
  "assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|" +
72
56
  "assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|" +
@@ -96,25 +80,14 @@ var RubyHighlightRules = function() {
96
80
  "translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" +
97
81
  "cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" +
98
82
  "has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|" +
99
- "private_class_method|remove_method|undef_method"
100
- );
101
-
102
- var keywords = (
103
- "alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
83
+ "private_class_method|remove_method|undef_method");
84
+ var keywords = ("alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
104
85
  "__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" +
105
- "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend"
106
- );
107
-
108
- var buildinConstants = (
109
- "true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
110
- "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION"
111
- );
112
-
113
- var builtinVariables = (
114
- "$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|" +
115
- "$!|root_url|flash|session|cookies|params|request|response|logger|self"
116
- );
117
-
86
+ "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend");
87
+ var buildinConstants = ("true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
88
+ "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION");
89
+ var builtinVariables = ("$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|" +
90
+ "$!|root_url|flash|session|cookies|params|request|response|logger|self");
118
91
  var keywordMapper = this.$keywords = this.createKeywordMapper({
119
92
  "keyword": keywords,
120
93
  "constant.language": buildinConstants,
@@ -122,9 +95,7 @@ var RubyHighlightRules = function() {
122
95
  "support.function": builtinFunctions,
123
96
  "invalid.deprecated": "debugger" // TODO is this a remnant from js mode?
124
97
  }, "identifier");
125
-
126
98
  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})*})";
127
-
128
99
  var closeParen = {
129
100
  "(": ")",
130
101
  "[": "]",
@@ -134,14 +105,13 @@ var RubyHighlightRules = function() {
134
105
  "|": "|",
135
106
  "%": "%"
136
107
  };
137
-
138
108
  this.$rules = {
139
109
  "start": [
140
110
  {
141
111
  token: "comment",
142
112
  regex: "#.*$"
143
113
  }, {
144
- token: "comment.multiline", // multi line comment
114
+ token: "comment.multiline",
145
115
  regex: "^=begin(?=$|\\s.*$)",
146
116
  next: "comment"
147
117
  }, {
@@ -149,116 +119,114 @@ var RubyHighlightRules = function() {
149
119
  regex: /[/](?=.*\/)/,
150
120
  next: "regex"
151
121
  },
152
-
153
122
  [{
154
- token: ["constant.other.symbol.ruby", "string.start"],
155
- regex: /(:)?(")/,
156
- push: [{
157
- token: "constant.language.escape",
158
- regex: escapedChars
159
- }, {
160
- token: "paren.start",
161
- regex: /#{/,
162
- push: "start"
123
+ token: ["constant.other.symbol.ruby", "string.start"],
124
+ regex: /(:)?(")/,
125
+ push: [{
126
+ token: "constant.language.escape",
127
+ regex: escapedChars
128
+ }, {
129
+ token: "paren.start",
130
+ regex: /#{/,
131
+ push: "start"
132
+ }, {
133
+ token: "string.end",
134
+ regex: /"/,
135
+ next: "pop"
136
+ }, {
137
+ defaultToken: "string"
138
+ }]
163
139
  }, {
164
- token: "string.end",
165
- regex: /"/,
166
- next: "pop"
140
+ token: "string.start",
141
+ regex: /`/,
142
+ push: [{
143
+ token: "constant.language.escape",
144
+ regex: escapedChars
145
+ }, {
146
+ token: "paren.start",
147
+ regex: /#{/,
148
+ push: "start"
149
+ }, {
150
+ token: "string.end",
151
+ regex: /`/,
152
+ next: "pop"
153
+ }, {
154
+ defaultToken: "string"
155
+ }]
167
156
  }, {
168
- defaultToken: "string"
169
- }]
170
- }, {
171
- token: "string.start",
172
- regex: /`/,
173
- push: [{
174
- token: "constant.language.escape",
175
- regex: escapedChars
157
+ token: ["constant.other.symbol.ruby", "string.start"],
158
+ regex: /(:)?(')/,
159
+ push: [{
160
+ token: "constant.language.escape",
161
+ regex: /\\['\\]/
162
+ }, {
163
+ token: "string.end",
164
+ regex: /'/,
165
+ next: "pop"
166
+ }, {
167
+ defaultToken: "string"
168
+ }]
176
169
  }, {
177
- token: "paren.start",
178
- regex: /#{/,
179
- push: "start"
170
+ token: "string.start",
171
+ regex: /%[qwx]([(\[<{^|%])/, onMatch: function (val, state, stack) {
172
+ if (stack.length)
173
+ stack = [];
174
+ var paren = val[val.length - 1];
175
+ stack.unshift(paren, state);
176
+ this.next = "qStateWithoutInterpolation";
177
+ return this.token;
178
+ }
180
179
  }, {
181
- token: "string.end",
182
- regex: /`/,
183
- next: "pop"
180
+ token: "string.start",
181
+ regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
182
+ if (stack.length)
183
+ stack = [];
184
+ var paren = val[val.length - 1];
185
+ stack.unshift(paren, state);
186
+ this.next = "qStateWithInterpolation";
187
+ return this.token;
188
+ }
184
189
  }, {
185
- defaultToken: "string"
186
- }]
187
- }, {
188
- token: ["constant.other.symbol.ruby", "string.start"],
189
- regex: /(:)?(')/,
190
- push: [{
191
- token: "constant.language.escape",
192
- regex: /\\['\\]/
190
+ token: "constant.other.symbol.ruby",
191
+ regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
192
+ if (stack.length)
193
+ stack = [];
194
+ var paren = val[val.length - 1];
195
+ stack.unshift(paren, state);
196
+ this.next = "sStateWithoutInterpolation";
197
+ return this.token;
198
+ }
193
199
  }, {
194
- token: "string.end",
195
- regex: /'/,
196
- next: "pop"
200
+ token: "constant.other.symbol.ruby",
201
+ regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
202
+ if (stack.length)
203
+ stack = [];
204
+ var paren = val[val.length - 1];
205
+ stack.unshift(paren, state);
206
+ this.next = "sStateWithInterpolation";
207
+ return this.token;
208
+ }
197
209
  }, {
198
- defaultToken: "string"
199
- }]
200
- }, {
201
- token: "string.start",//doesn't see any differences between strings and array of strings in highlighting
202
- regex: /%[qwx]([(\[<{^|%])/, onMatch: function (val, state, stack) {
203
- if (stack.length)
204
- stack = [];
205
- var paren = val[val.length - 1];
206
- stack.unshift(paren, state);
207
- this.next = "qStateWithoutInterpolation";
208
- return this.token;
209
- }
210
- }, {
211
- token: "string.start", //doesn't see any differences between strings and array of strings in highlighting
212
- regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
213
- if (stack.length)
214
- stack = [];
215
- var paren = val[val.length - 1];
216
- stack.unshift(paren, state);
217
- this.next = "qStateWithInterpolation";
218
- return this.token;
219
- }
220
- }, {
221
- token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
222
- regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
223
- if (stack.length)
224
- stack = [];
225
- var paren = val[val.length - 1];
226
- stack.unshift(paren, state);
227
- this.next = "sStateWithoutInterpolation";
228
- return this.token;
229
- }
230
- }, {
231
- token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
232
- regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
233
- if (stack.length)
234
- stack = [];
235
- var paren = val[val.length - 1];
236
- stack.unshift(paren, state);
237
- this.next = "sStateWithInterpolation";
238
- return this.token;
239
- }
240
- }, {
241
- token: "string.regexp",
242
- regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
243
- if (stack.length)
244
- stack = [];
245
- var paren = val[val.length - 1];
246
- stack.unshift(paren, state);
247
- this.next = "rState";
248
- return this.token;
249
- }
250
- }],
251
-
210
+ token: "string.regexp",
211
+ regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
212
+ if (stack.length)
213
+ stack = [];
214
+ var paren = val[val.length - 1];
215
+ stack.unshift(paren, state);
216
+ this.next = "rState";
217
+ return this.token;
218
+ }
219
+ }],
252
220
  {
253
- token: "punctuation", // namespaces aren't symbols
221
+ token: "punctuation",
254
222
  regex: "::"
255
223
  },
256
224
  instanceVariable,
257
225
  {
258
- token: "variable.global", // global variable
226
+ token: "variable.global",
259
227
  regex: "[$][a-zA-Z_\\d]+"
260
228
  }, {
261
- token: "support.class", // class name
229
+ token: "support.class",
262
230
  regex: "[A-Z][a-zA-Z_\\d]*"
263
231
  }, {
264
232
  token: ["punctuation.operator", "support.function"],
@@ -273,7 +241,6 @@ var RubyHighlightRules = function() {
273
241
  token: "punctuation.operator",
274
242
  regex: /\?(?=.+:)/
275
243
  },
276
-
277
244
  constantNumericRational,
278
245
  constantNumericComplex,
279
246
  constantOtherSymbol,
@@ -298,55 +265,55 @@ var RubyHighlightRules = function() {
298
265
  var tokens = value.split(this.splitRegex);
299
266
  stack.push(next, tokens[3]);
300
267
  return [
301
- {type: "constant", value: tokens[1]},
302
- {type: "string", value: tokens[2]},
303
- {type: "support.class", value: tokens[3]},
304
- {type: "string", value: tokens[4]}
268
+ { type: "constant", value: tokens[1] },
269
+ { type: "string", value: tokens[2] },
270
+ { type: "support.class", value: tokens[3] },
271
+ { type: "string", value: tokens[4] }
305
272
  ];
306
273
  },
307
274
  regex: "(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",
308
275
  rules: {
309
276
  heredoc: [{
310
- onMatch: function(value, currentState, stack) {
311
- if (value === stack[1]) {
312
- stack.shift();
313
- stack.shift();
314
- this.next = stack[0] || "start";
315
- return "support.class";
316
- }
317
- this.next = "";
318
- return "string";
319
- },
320
- regex: ".*$",
321
- next: "start"
322
- }],
277
+ onMatch: function (value, currentState, stack) {
278
+ if (value === stack[1]) {
279
+ stack.shift();
280
+ stack.shift();
281
+ this.next = stack[0] || "start";
282
+ return "support.class";
283
+ }
284
+ this.next = "";
285
+ return "string";
286
+ },
287
+ regex: ".*$",
288
+ next: "start"
289
+ }],
323
290
  indentedHeredoc: [{
324
- token: "string",
325
- regex: "^ +"
326
- }, {
327
- onMatch: function(value, currentState, stack) {
328
- if (value === stack[1]) {
329
- stack.shift();
330
- stack.shift();
331
- this.next = stack[0] || "start";
332
- return "support.class";
333
- }
334
- this.next = "";
335
- return "string";
336
- },
337
- regex: ".*$",
338
- next: "start"
339
- }]
291
+ token: "string",
292
+ regex: "^ +"
293
+ }, {
294
+ onMatch: function (value, currentState, stack) {
295
+ if (value === stack[1]) {
296
+ stack.shift();
297
+ stack.shift();
298
+ this.next = stack[0] || "start";
299
+ return "support.class";
300
+ }
301
+ this.next = "";
302
+ return "string";
303
+ },
304
+ regex: ".*$",
305
+ next: "start"
306
+ }]
340
307
  }
341
308
  }, {
342
309
  regex: "$",
343
310
  token: "empty",
344
- next: function(currentState, stack) {
311
+ next: function (currentState, stack) {
345
312
  if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
346
313
  return stack[0];
347
314
  return currentState;
348
315
  }
349
- }, {
316
+ }, {
350
317
  token: "keyword.operator",
351
318
  regex: "!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"
352
319
  }, {
@@ -355,7 +322,7 @@ var RubyHighlightRules = function() {
355
322
  }, {
356
323
  token: "paren.rparen",
357
324
  regex: "[\\])}]",
358
- onMatch: function(value, currentState, stack) {
325
+ onMatch: function (value, currentState, stack) {
359
326
  this.next = '';
360
327
  if (value == "}" && stack.length > 1 && stack[1] != "start") {
361
328
  stack.shift();
@@ -373,166 +340,166 @@ var RubyHighlightRules = function() {
373
340
  ],
374
341
  "comment": [
375
342
  {
376
- token: "comment.multiline", // closing comment
343
+ token: "comment.multiline",
377
344
  regex: "^=end(?=$|\\s.*$)",
378
345
  next: "start"
379
346
  }, {
380
- token: "comment", // comment spanning whole line
347
+ token: "comment",
381
348
  regex: ".+"
382
349
  }
383
350
  ],
384
351
  "qStateWithInterpolation": [{
385
- token: "string.start",// excluded nested |^% due to difficulty in realization
386
- regex: /[(\[<{]/, onMatch: function (val, state, stack) {
387
- if (stack.length && val === stack[0]) {
388
- stack.unshift(val, state);
389
- return this.token;
352
+ token: "string.start",
353
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
354
+ if (stack.length && val === stack[0]) {
355
+ stack.unshift(val, state);
356
+ return this.token;
357
+ }
358
+ return "string";
390
359
  }
391
- return "string";
392
- }
393
- }, {
394
- token: "constant.language.escape",
395
- regex: escapedChars
396
- }, {
397
- token: "constant.language.escape",
398
- regex: /\\./
399
- }, {
400
- token: "paren.start",
401
- regex: /#{/,
402
- push: "start"
403
- }, {
404
- token: "string.end",
405
- regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
406
- if (stack.length && val === closeParen[stack[0]]) {
407
- stack.shift();
408
- this.next = stack.shift();
409
- return this.token;
360
+ }, {
361
+ token: "constant.language.escape",
362
+ regex: escapedChars
363
+ }, {
364
+ token: "constant.language.escape",
365
+ regex: /\\./
366
+ }, {
367
+ token: "paren.start",
368
+ regex: /#{/,
369
+ push: "start"
370
+ }, {
371
+ token: "string.end",
372
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
373
+ if (stack.length && val === closeParen[stack[0]]) {
374
+ stack.shift();
375
+ this.next = stack.shift();
376
+ return this.token;
377
+ }
378
+ this.next = '';
379
+ return "string";
410
380
  }
411
- this.next = '';
412
- return "string";
413
- }
414
- }, {
415
- defaultToken: "string"
416
- }],
381
+ }, {
382
+ defaultToken: "string"
383
+ }],
417
384
  "qStateWithoutInterpolation": [{
418
- token: "string.start",// excluded nested |^% due to difficulty in realization
419
- regex: /[(\[<{]/, onMatch: function (val, state, stack) {
420
- if (stack.length && val === stack[0]) {
421
- stack.unshift(val, state);
422
- return this.token;
385
+ token: "string.start",
386
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
387
+ if (stack.length && val === stack[0]) {
388
+ stack.unshift(val, state);
389
+ return this.token;
390
+ }
391
+ return "string";
423
392
  }
424
- return "string";
425
- }
426
- }, {
427
- token: "constant.language.escape",
428
- regex: /\\['\\]/
429
- }, {
430
- token: "constant.language.escape",
431
- regex: /\\./
432
- }, {
433
- token: "string.end",
434
- regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
435
- if (stack.length && val === closeParen[stack[0]]) {
436
- stack.shift();
437
- this.next = stack.shift();
438
- return this.token;
393
+ }, {
394
+ token: "constant.language.escape",
395
+ regex: /\\['\\]/
396
+ }, {
397
+ token: "constant.language.escape",
398
+ regex: /\\./
399
+ }, {
400
+ token: "string.end",
401
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
402
+ if (stack.length && val === closeParen[stack[0]]) {
403
+ stack.shift();
404
+ this.next = stack.shift();
405
+ return this.token;
406
+ }
407
+ this.next = '';
408
+ return "string";
439
409
  }
440
- this.next = '';
441
- return "string";
442
- }
443
- }, {
444
- defaultToken: "string"
445
- }],
410
+ }, {
411
+ defaultToken: "string"
412
+ }],
446
413
  "sStateWithoutInterpolation": [{
447
- token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
448
- regex: /[(\[<{]/, onMatch: function (val, state, stack) {
449
- if (stack.length && val === stack[0]) {
450
- stack.unshift(val, state);
451
- return this.token;
414
+ token: "constant.other.symbol.ruby",
415
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
416
+ if (stack.length && val === stack[0]) {
417
+ stack.unshift(val, state);
418
+ return this.token;
419
+ }
420
+ return "constant.other.symbol.ruby";
452
421
  }
453
- return "constant.other.symbol.ruby";
454
- }
455
- }, {
456
- token: "constant.other.symbol.ruby",
457
- regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
458
- if (stack.length && val === closeParen[stack[0]]) {
459
- stack.shift();
460
- this.next = stack.shift();
461
- return this.token;
422
+ }, {
423
+ token: "constant.other.symbol.ruby",
424
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
425
+ if (stack.length && val === closeParen[stack[0]]) {
426
+ stack.shift();
427
+ this.next = stack.shift();
428
+ return this.token;
429
+ }
430
+ this.next = '';
431
+ return "constant.other.symbol.ruby";
462
432
  }
463
- this.next = '';
464
- return "constant.other.symbol.ruby";
465
- }
466
- }, {
467
- defaultToken: "constant.other.symbol.ruby"
468
- }],
433
+ }, {
434
+ defaultToken: "constant.other.symbol.ruby"
435
+ }],
469
436
  "sStateWithInterpolation": [{
470
- token: "constant.other.symbol.ruby",// excluded nested |^% due to difficulty in realization
471
- regex: /[(\[<{]/, onMatch: function (val, state, stack) {
472
- if (stack.length && val === stack[0]) {
473
- stack.unshift(val, state);
474
- return this.token;
437
+ token: "constant.other.symbol.ruby",
438
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
439
+ if (stack.length && val === stack[0]) {
440
+ stack.unshift(val, state);
441
+ return this.token;
442
+ }
443
+ return "constant.other.symbol.ruby";
475
444
  }
476
- return "constant.other.symbol.ruby";
477
- }
478
- }, {
479
- token: "constant.language.escape",
480
- regex: escapedChars
481
- }, {
482
- token: "constant.language.escape",
483
- regex: /\\./
484
- }, {
485
- token: "paren.start",
486
- regex: /#{/,
487
- push: "start"
488
- }, {
489
- token: "constant.other.symbol.ruby",
490
- regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
491
- if (stack.length && val === closeParen[stack[0]]) {
492
- stack.shift();
493
- this.next = stack.shift();
494
- return this.token;
445
+ }, {
446
+ token: "constant.language.escape",
447
+ regex: escapedChars
448
+ }, {
449
+ token: "constant.language.escape",
450
+ regex: /\\./
451
+ }, {
452
+ token: "paren.start",
453
+ regex: /#{/,
454
+ push: "start"
455
+ }, {
456
+ token: "constant.other.symbol.ruby",
457
+ regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
458
+ if (stack.length && val === closeParen[stack[0]]) {
459
+ stack.shift();
460
+ this.next = stack.shift();
461
+ return this.token;
462
+ }
463
+ this.next = '';
464
+ return "constant.other.symbol.ruby";
495
465
  }
496
- this.next = '';
497
- return "constant.other.symbol.ruby";
498
- }
499
- }, {
500
- defaultToken: "constant.other.symbol.ruby"
501
- }],
466
+ }, {
467
+ defaultToken: "constant.other.symbol.ruby"
468
+ }],
502
469
  "rState": [{
503
- token: "string.regexp",// excluded nested |^% due to difficulty in realization
504
- regex: /[(\[<{]/, onMatch: function (val, state, stack) {
505
- if (stack.length && val === stack[0]) {
506
- stack.unshift(val, state);
507
- return this.token;
470
+ token: "string.regexp",
471
+ regex: /[(\[<{]/, onMatch: function (val, state, stack) {
472
+ if (stack.length && val === stack[0]) {
473
+ stack.unshift(val, state);
474
+ return this.token;
475
+ }
476
+ return "constant.language.escape";
508
477
  }
509
- return "constant.language.escape";
510
- }
511
- }, {
512
- token: "paren.start",
513
- regex: /#{/,
514
- push: "start"
515
- }, {
516
- token: "string.regexp",
517
- regex: /\//
518
- }, {
519
- token: "string.regexp",
520
- regex: /[)\]>}^|%][imxouesn]*/, onMatch: function (val, state, stack) {
521
- if (stack.length && val[0] === closeParen[stack[0]]) {
522
- stack.shift();
523
- this.next = stack.shift();
524
- return this.token;
478
+ }, {
479
+ token: "paren.start",
480
+ regex: /#{/,
481
+ push: "start"
482
+ }, {
483
+ token: "string.regexp",
484
+ regex: /\//
485
+ }, {
486
+ token: "string.regexp",
487
+ regex: /[)\]>}^|%][imxouesn]*/, onMatch: function (val, state, stack) {
488
+ if (stack.length && val[0] === closeParen[stack[0]]) {
489
+ stack.shift();
490
+ this.next = stack.shift();
491
+ return this.token;
492
+ }
493
+ this.next = '';
494
+ return "constant.language.escape";
525
495
  }
526
- this.next = '';
527
- return "constant.language.escape";
528
- }
529
- },
530
- {include: "regex"},
496
+ },
497
+ { include: "regex" },
531
498
  {
532
499
  defaultToken: "string.regexp"
533
500
  }],
534
501
  "regex": [
535
- {// character classes
502
+ {
536
503
  token: "regexp.keyword",
537
504
  regex: /\\[wWdDhHsS]/
538
505
  }, {
@@ -547,17 +514,17 @@ var RubyHighlightRules = function() {
547
514
  }, {
548
515
  token: ["constant.language.escape", "invalid", "constant.language.escape"],
549
516
  regex: /(\\p{\^?)([^/]*)(})/
550
- }, {// escapes
517
+ }, {
551
518
  token: "regexp.keyword.operator",
552
519
  regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
553
- }, {// flag
520
+ }, {
554
521
  token: "string.regexp",
555
522
  regex: /[/][imxouesn]*/,
556
523
  next: "start"
557
- }, {// invalid operators
524
+ }, {
558
525
  token: "invalid",
559
526
  regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
560
- }, {// operators
527
+ }, {
561
528
  token: "constant.language.escape",
562
529
  regex: /\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
563
530
  }, {
@@ -597,69 +564,50 @@ var RubyHighlightRules = function() {
597
564
  }
598
565
  ]
599
566
  };
600
-
601
567
  this.normalizeRules();
602
568
  };
603
-
604
569
  oop.inherits(RubyHighlightRules, TextHighlightRules);
605
-
606
570
  exports.RubyHighlightRules = RubyHighlightRules;
607
- });
608
571
 
609
- ace.define("ace/mode/matching_brace_outdent",[], function(require, exports, module) {
610
- "use strict";
572
+ });
611
573
 
574
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module){"use strict";
612
575
  var Range = require("../range").Range;
613
-
614
- var MatchingBraceOutdent = function() {};
615
-
616
- (function() {
617
-
618
- this.checkOutdent = function(line, input) {
619
- if (! /^\s+$/.test(line))
576
+ var MatchingBraceOutdent = function () { };
577
+ (function () {
578
+ this.checkOutdent = function (line, input) {
579
+ if (!/^\s+$/.test(line))
620
580
  return false;
621
-
622
581
  return /^\s*\}/.test(input);
623
582
  };
624
-
625
- this.autoOutdent = function(doc, row) {
583
+ this.autoOutdent = function (doc, row) {
626
584
  var line = doc.getLine(row);
627
585
  var match = line.match(/^(\s*\})/);
628
-
629
- if (!match) return 0;
630
-
586
+ if (!match)
587
+ return 0;
631
588
  var column = match[1].length;
632
- var openBracePos = doc.findMatchingBracket({row: row, column: column});
633
-
634
- if (!openBracePos || openBracePos.row == row) return 0;
635
-
589
+ var openBracePos = doc.findMatchingBracket({ row: row, column: column });
590
+ if (!openBracePos || openBracePos.row == row)
591
+ return 0;
636
592
  var indent = this.$getIndent(doc.getLine(openBracePos.row));
637
- doc.replace(new Range(row, 0, row, column-1), indent);
593
+ doc.replace(new Range(row, 0, row, column - 1), indent);
638
594
  };
639
-
640
- this.$getIndent = function(line) {
595
+ this.$getIndent = function (line) {
641
596
  return line.match(/^\s*/)[0];
642
597
  };
643
-
644
598
  }).call(MatchingBraceOutdent.prototype);
645
-
646
599
  exports.MatchingBraceOutdent = MatchingBraceOutdent;
647
- });
648
600
 
649
- ace.define("ace/mode/folding/ruby",[], function (require, exports, module) {
650
- "use strict";
601
+ });
651
602
 
603
+ ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"], function(require, exports, module){"use strict";
652
604
  var oop = require("../../lib/oop");
653
605
  var BaseFoldMode = require("./fold_mode").FoldMode;
654
606
  var Range = require("../../range").Range;
655
607
  var TokenIterator = require("../../token_iterator").TokenIterator;
656
-
657
-
658
608
  var FoldMode = exports.FoldMode = function () {
659
609
  };
660
-
661
610
  oop.inherits(FoldMode, BaseFoldMode);
662
-
663
611
  (function () {
664
612
  this.indentKeywords = {
665
613
  "class": 1,
@@ -682,15 +630,12 @@ oop.inherits(FoldMode, BaseFoldMode);
682
630
  "=begin": 1,
683
631
  "=end": -1
684
632
  };
685
-
686
633
  this.foldingStartMarker = /(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/;
687
634
  this.foldingStopMarker = /(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/;
688
-
689
635
  this.getFoldWidget = function (session, foldStyle, row) {
690
636
  var line = session.getLine(row);
691
637
  var isStart = this.foldingStartMarker.test(line);
692
638
  var isEnd = this.foldingStopMarker.test(line);
693
-
694
639
  if (isStart && !isEnd) {
695
640
  var match = line.match(this.foldingStartMarker);
696
641
  if (match[1]) {
@@ -702,7 +647,6 @@ oop.inherits(FoldMode, BaseFoldMode);
702
647
  return;
703
648
  }
704
649
  }
705
-
706
650
  if (match[1] == "when") {
707
651
  if (/\sthen\s/.test(line) === true) {
708
652
  return;
@@ -710,60 +654,55 @@ oop.inherits(FoldMode, BaseFoldMode);
710
654
  }
711
655
  if (session.getTokenAt(row, match.index + 2).type === "keyword")
712
656
  return "start";
713
- } else if (match[3]) {
657
+ }
658
+ else if (match[3]) {
714
659
  if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
715
660
  return "start";
716
- } else {
661
+ }
662
+ else {
717
663
  return "start";
718
664
  }
719
665
  }
720
666
  if (foldStyle != "markbeginend" || !isEnd || isStart && isEnd)
721
667
  return "";
722
-
723
668
  var match = line.match(this.foldingStopMarker);
724
669
  if (match[3] === "end") {
725
670
  if (session.getTokenAt(row, match.index + 1).type === "keyword")
726
671
  return "end";
727
- } else if (match[1]) {
672
+ }
673
+ else if (match[1]) {
728
674
  if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
729
675
  return "end";
730
- } else
676
+ }
677
+ else
731
678
  return "end";
732
679
  };
733
-
734
680
  this.getFoldWidgetRange = function (session, foldStyle, row) {
735
681
  var line = session.doc.getLine(row);
736
682
  var match = this.foldingStartMarker.exec(line);
737
683
  if (match) {
738
684
  if (match[1] || match[3])
739
685
  return this.rubyBlock(session, row, match.index + 2);
740
-
741
686
  return this.openingBracketBlock(session, "{", row, match.index);
742
687
  }
743
-
744
688
  var match = this.foldingStopMarker.exec(line);
745
689
  if (match) {
746
690
  if (match[3] === "end") {
747
691
  if (session.getTokenAt(row, match.index + 1).type === "keyword")
748
692
  return this.rubyBlock(session, row, match.index + 1);
749
693
  }
750
-
751
694
  if (match[1] === "=end") {
752
695
  if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
753
696
  return this.rubyBlock(session, row, match.index + 1);
754
697
  }
755
-
756
698
  return this.closingBracketBlock(session, "}", row, match.index + match[0].length);
757
699
  }
758
700
  };
759
-
760
701
  this.rubyBlock = function (session, row, column, tokenRange) {
761
702
  var stream = new TokenIterator(session, row, column);
762
-
763
703
  var token = stream.getCurrentToken();
764
704
  if (!token || (token.type != "keyword" && token.type != "comment.multiline"))
765
705
  return;
766
-
767
706
  var val = token.value;
768
707
  var line = session.getLine(row);
769
708
  switch (token.value) {
@@ -797,16 +736,13 @@ oop.inherits(FoldMode, BaseFoldMode);
797
736
  var dir = this.indentKeywords[val];
798
737
  break;
799
738
  }
800
-
801
739
  var stack = [val];
802
740
  if (!dir)
803
741
  return;
804
-
805
742
  var startColumn = dir === -1 ? session.getLine(row - 1).length : session.getLine(row).length;
806
743
  var startRow = row;
807
744
  var ranges = [];
808
745
  ranges.push(stream.getCurrentTokenRange());
809
-
810
746
  stream.step = dir === -1 ? stream.stepBackward : stream.stepForward;
811
747
  if (token.type == "comment.multiline") {
812
748
  while (token = stream.step()) {
@@ -817,13 +753,15 @@ oop.inherits(FoldMode, BaseFoldMode);
817
753
  if (token.value == "=end") {
818
754
  break;
819
755
  }
820
- } else {
756
+ }
757
+ else {
821
758
  if (token.value == "=begin") {
822
759
  break;
823
760
  }
824
761
  }
825
762
  }
826
- } else {
763
+ }
764
+ else {
827
765
  while (token = stream.step()) {
828
766
  var ignore = false;
829
767
  if (token.type !== "keyword")
@@ -864,10 +802,10 @@ oop.inherits(FoldMode, BaseFoldMode);
864
802
  }
865
803
  break;
866
804
  }
867
-
868
805
  if (level > 0) {
869
806
  stack.unshift(token.value);
870
- } else if (level <= 0 && ignore === false) {
807
+ }
808
+ else if (level <= 0 && ignore === false) {
871
809
  stack.shift();
872
810
  if (!stack.length) {
873
811
  if ((val == "while" || val == "until" || val == "for") && token.value != "do") {
@@ -878,73 +816,59 @@ oop.inherits(FoldMode, BaseFoldMode);
878
816
  if (token.value != "do")
879
817
  break;
880
818
  }
881
-
882
819
  if (level === 0) {
883
820
  stack.unshift(token.value);
884
821
  }
885
822
  }
886
823
  }
887
824
  }
888
-
889
825
  if (!token)
890
826
  return null;
891
-
892
827
  if (tokenRange) {
893
828
  ranges.push(stream.getCurrentTokenRange());
894
829
  return ranges;
895
830
  }
896
-
897
831
  var row = stream.getCurrentTokenRow();
898
832
  if (dir === -1) {
899
833
  if (token.type === "comment.multiline") {
900
834
  var endColumn = 6;
901
- } else {
835
+ }
836
+ else {
902
837
  var endColumn = session.getLine(row).length;
903
838
  }
904
839
  return new Range(row, endColumn, startRow - 1, startColumn);
905
- } else
840
+ }
841
+ else
906
842
  return new Range(startRow, startColumn, row - 1, session.getLine(row - 1).length);
907
843
  };
908
-
909
844
  }).call(FoldMode.prototype);
910
845
 
911
846
  });
912
847
 
913
- ace.define("ace/mode/ruby",[], function(require, exports, module) {
914
- "use strict";
915
-
848
+ 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/folding/ruby"], function(require, exports, module){"use strict";
916
849
  var oop = require("../lib/oop");
917
850
  var TextMode = require("./text").Mode;
918
851
  var RubyHighlightRules = require("./ruby_highlight_rules").RubyHighlightRules;
919
852
  var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
920
853
  var Range = require("../range").Range;
921
- var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
922
854
  var FoldMode = require("./folding/ruby").FoldMode;
923
-
924
- var Mode = function() {
855
+ var Mode = function () {
925
856
  this.HighlightRules = RubyHighlightRules;
926
857
  this.$outdent = new MatchingBraceOutdent();
927
- this.$behaviour = new CstyleBehaviour();
858
+ this.$behaviour = this.$defaultBehaviour;
928
859
  this.foldingRules = new FoldMode();
929
860
  this.indentKeywords = this.foldingRules.indentKeywords;
930
861
  };
931
862
  oop.inherits(Mode, TextMode);
932
-
933
- (function() {
934
-
935
-
863
+ (function () {
936
864
  this.lineCommentStart = "#";
937
-
938
- this.getNextLineIndent = function(state, line, tab) {
865
+ this.getNextLineIndent = function (state, line, tab) {
939
866
  var indent = this.$getIndent(line);
940
-
941
867
  var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
942
868
  var tokens = tokenizedLine.tokens;
943
-
944
869
  if (tokens.length && tokens[tokens.length - 1].type == "comment") {
945
870
  return indent;
946
871
  }
947
-
948
872
  if (state == "start") {
949
873
  var match = line.match(/^.*[\{\(\[]\s*$/);
950
874
  var startingClassOrMethod = line.match(/^\s*(class|def|module)\s.*$/);
@@ -954,15 +878,12 @@ oop.inherits(Mode, TextMode);
954
878
  indent += tab;
955
879
  }
956
880
  }
957
-
958
881
  return indent;
959
882
  };
960
-
961
- this.checkOutdent = function(state, line, input) {
883
+ this.checkOutdent = function (state, line, input) {
962
884
  return /^\s+(end|else|rescue|ensure)$/.test(line + input) || this.$outdent.checkOutdent(line, input);
963
885
  };
964
-
965
- this.autoOutdent = function(state, session, row) {
886
+ this.autoOutdent = function (state, session, row) {
966
887
  var line = session.getLine(row);
967
888
  if (/}/.test(line))
968
889
  return this.$outdent.autoOutdent(session, row);
@@ -975,24 +896,21 @@ oop.inherits(Mode, TextMode);
975
896
  session.remove(new Range(row, indent.length - tab.length, row, indent.length));
976
897
  }
977
898
  };
978
-
979
- this.getMatching = function(session, row, column) {
899
+ this.getMatching = function (session, row, column) {
980
900
  if (row == undefined) {
981
901
  var pos = session.selection.lead;
982
902
  column = pos.column;
983
903
  row = pos.row;
984
904
  }
985
-
986
905
  var startToken = session.getTokenAt(row, column);
987
906
  if (startToken && startToken.value in this.indentKeywords)
988
907
  return this.foldingRules.rubyBlock(session, row, column, true);
989
908
  };
990
-
991
909
  this.$id = "ace/mode/ruby";
992
910
  this.snippetFileId = "ace/snippets/ruby";
993
911
  }).call(Mode.prototype);
994
-
995
912
  exports.Mode = Mode;
913
+
996
914
  }); (function() {
997
915
  ace.require(["ace/mode/ruby"], function(m) {
998
916
  if (typeof module == "object" && typeof exports == "object" && module) {