@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.
- package/.reuse/dep5 +23 -21
- package/THIRDPARTY.txt +6 -43
- package/package.json +2 -2
- package/src/sap/ui/codeeditor/.library +2 -2
- package/src/sap/ui/codeeditor/CodeEditor.js +41 -27
- package/src/sap/ui/codeeditor/js/ace/ace.js +16262 -16597
- package/src/sap/ui/codeeditor/js/ace/css/ace.css +358 -86
- package/src/sap/ui/codeeditor/js/ace/css/ambiance-3.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/chrome-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_day-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_night-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cloud9_night_low_color-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/clouds-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/clouds_midnight-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/cobalt-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/crimson_editor-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/dawn-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/dracula-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/dreamweaver-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/eclipse-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/github-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/github_dark-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/github_dark-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/gob-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/gruvbox-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/gruvbox_dark_hard-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/gruvbox_light_hard-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/idle_fingers-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/iplastic-3.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/katzenmilch-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/kr_theme-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/kuroir-1.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/kuroir-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-10.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-11.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-12.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-13.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-14.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-15.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-16.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-17.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-18.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-19.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-20.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-21.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-22.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-22.svg +1 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-23.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-5.svg +7 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-6.svg +7 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-7.svg +9 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-8.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-8.svg +4 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-9.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/main-9.svg +4 -0
- package/src/sap/ui/codeeditor/js/ace/css/merbivore-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/merbivore_soft-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/mono_industrial-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/monokai-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/one_dark-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/pastel_on_dark-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/solarized_dark-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/solarized_light-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/sqlserver-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/terminal-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/textmate-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/ambiance.css +120 -68
- package/src/sap/ui/codeeditor/js/ace/css/theme/chaos.css +79 -66
- package/src/sap/ui/codeeditor/js/ace/css/theme/chrome.css +82 -43
- package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_day.css +160 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night.css +146 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/cloud9_night_low_color.css +134 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/clouds.css +59 -31
- package/src/sap/ui/codeeditor/js/ace/css/theme/clouds_midnight.css +60 -32
- package/src/sap/ui/codeeditor/js/ace/css/theme/cobalt.css +71 -38
- package/src/sap/ui/codeeditor/js/ace/css/theme/crimson_editor.css +79 -42
- package/src/sap/ui/codeeditor/js/ace/css/theme/dawn.css +70 -40
- package/src/sap/ui/codeeditor/js/ace/css/theme/dracula.css +95 -49
- package/src/sap/ui/codeeditor/js/ace/css/theme/dreamweaver.css +95 -49
- package/src/sap/ui/codeeditor/js/ace/css/theme/eclipse.css +62 -33
- package/src/sap/ui/codeeditor/js/ace/css/theme/github.css +71 -38
- package/src/sap/ui/codeeditor/js/ace/css/theme/github_dark.css +134 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/gob.css +68 -38
- package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox.css +54 -28
- package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_dark_hard.css +163 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/gruvbox_light_hard.css +167 -0
- package/src/sap/ui/codeeditor/js/ace/css/theme/idle_fingers.css +62 -34
- package/src/sap/ui/codeeditor/js/ace/css/theme/iplastic.css +76 -45
- package/src/sap/ui/codeeditor/js/ace/css/theme/katzenmilch.css +91 -53
- package/src/sap/ui/codeeditor/js/ace/css/theme/kr_theme.css +67 -36
- package/src/sap/ui/codeeditor/js/ace/css/theme/kuroir.css +43 -17
- package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore.css +57 -31
- package/src/sap/ui/codeeditor/js/ace/css/theme/merbivore_soft.css +57 -31
- package/src/sap/ui/codeeditor/js/ace/css/theme/mono_industrial.css +66 -36
- package/src/sap/ui/codeeditor/js/ace/css/theme/monokai.css +63 -35
- package/src/sap/ui/codeeditor/js/ace/css/theme/nord_dark.css +55 -29
- package/src/sap/ui/codeeditor/js/ace/css/theme/one_dark.css +88 -47
- package/src/sap/ui/codeeditor/js/ace/css/theme/pastel_on_dark.css +70 -38
- package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_dark.css +52 -28
- package/src/sap/ui/codeeditor/js/ace/css/theme/solarized_light.css +55 -29
- package/src/sap/ui/codeeditor/js/ace/css/theme/sqlserver.css +90 -48
- package/src/sap/ui/codeeditor/js/ace/css/theme/terminal.css +64 -34
- package/src/sap/ui/codeeditor/js/ace/css/theme/textmate.css +82 -43
- package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow.css +61 -33
- package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night.css +61 -33
- package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_blue.css +59 -32
- package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_bright.css +71 -40
- package/src/sap/ui/codeeditor/js/ace/css/theme/tomorrow_night_eighties.css +61 -33
- package/src/sap/ui/codeeditor/js/ace/css/theme/twilight.css +66 -36
- package/src/sap/ui/codeeditor/js/ace/css/theme/vibrant_ink.css +59 -32
- package/src/sap/ui/codeeditor/js/ace/css/theme/xcode.css +54 -28
- package/src/sap/ui/codeeditor/js/ace/css/tomorrow-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_blue-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_bright-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/tomorrow_night_eighties-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/twilight-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/vibrant_ink-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/css/xcode-2.png +0 -0
- package/src/sap/ui/codeeditor/js/ace/ext-beautify.js +90 -91
- package/src/sap/ui/codeeditor/js/ace/ext-code_lens.js +39 -75
- package/src/sap/ui/codeeditor/js/ace/ext-command_bar.js +457 -0
- package/src/sap/ui/codeeditor/js/ace/ext-elastic_tabstops_lite.js +47 -97
- package/src/sap/ui/codeeditor/js/ace/ext-emmet.js +496 -552
- package/src/sap/ui/codeeditor/js/ace/ext-hardwrap.js +47 -16
- package/src/sap/ui/codeeditor/js/ace/ext-inline_autocomplete.js +3269 -0
- package/src/sap/ui/codeeditor/js/ace/ext-keybinding_menu.js +45 -105
- package/src/sap/ui/codeeditor/js/ace/ext-language_tools.js +1438 -1128
- package/src/sap/ui/codeeditor/js/ace/ext-linking.js +8 -16
- package/src/sap/ui/codeeditor/js/ace/ext-modelist.js +198 -185
- package/src/sap/ui/codeeditor/js/ace/ext-options.js +405 -443
- package/src/sap/ui/codeeditor/js/ace/ext-prompt.js +1682 -1508
- package/src/sap/ui/codeeditor/js/ace/ext-rtl.js +26 -28
- package/src/sap/ui/codeeditor/js/ace/ext-searchbox.js +160 -332
- package/src/sap/ui/codeeditor/js/ace/ext-settings_menu.js +409 -446
- package/src/sap/ui/codeeditor/js/ace/ext-simple_tokenizer.js +45 -0
- package/src/sap/ui/codeeditor/js/ace/ext-spellcheck.js +4 -10
- package/src/sap/ui/codeeditor/js/ace/ext-split.js +41 -63
- package/src/sap/ui/codeeditor/js/ace/ext-statusbar.js +19 -27
- package/src/sap/ui/codeeditor/js/ace/ext-themelist.js +45 -41
- package/src/sap/ui/codeeditor/js/ace/ext-whitespace.js +62 -83
- package/src/sap/ui/codeeditor/js/ace/keybinding-emacs.js +442 -551
- package/src/sap/ui/codeeditor/js/ace/keybinding-sublime.js +338 -351
- package/src/sap/ui/codeeditor/js/ace/keybinding-vim.js +5242 -4758
- package/src/sap/ui/codeeditor/js/ace/keybinding-vscode.js +228 -235
- package/src/sap/ui/codeeditor/js/ace/mode-abap.js +72 -93
- package/src/sap/ui/codeeditor/js/ace/mode-abc.js +136 -164
- package/src/sap/ui/codeeditor/js/ace/mode-actionscript.js +109 -150
- package/src/sap/ui/codeeditor/js/ace/mode-ada.js +45 -74
- package/src/sap/ui/codeeditor/js/ace/mode-alda.js +77 -109
- package/src/sap/ui/codeeditor/js/ace/mode-apache_conf.js +196 -241
- package/src/sap/ui/codeeditor/js/ace/mode-apex.js +192 -247
- package/src/sap/ui/codeeditor/js/ace/mode-applescript.js +56 -102
- package/src/sap/ui/codeeditor/js/ace/mode-aql.js +85 -95
- package/src/sap/ui/codeeditor/js/ace/mode-asciidoc.js +120 -158
- package/src/sap/ui/codeeditor/js/ace/mode-asl.js +233 -298
- package/src/sap/ui/codeeditor/js/ace/mode-assembly_x86.js +78 -101
- package/src/sap/ui/codeeditor/js/ace/mode-astro.js +2414 -0
- package/src/sap/ui/codeeditor/js/ace/mode-autohotkey.js +80 -116
- package/src/sap/ui/codeeditor/js/ace/mode-batchfile.js +74 -105
- package/src/sap/ui/codeeditor/js/ace/mode-bibtex.js +318 -0
- package/src/sap/ui/codeeditor/js/ace/mode-c9search.js +72 -115
- package/src/sap/ui/codeeditor/js/ace/mode-c_cpp.js +171 -257
- package/src/sap/ui/codeeditor/js/ace/mode-cirru.js +97 -115
- package/src/sap/ui/codeeditor/js/ace/mode-clojure.js +126 -119
- package/src/sap/ui/codeeditor/js/ace/mode-cobol.js +48 -67
- package/src/sap/ui/codeeditor/js/ace/mode-coffee.js +203 -268
- package/src/sap/ui/codeeditor/js/ace/mode-coldfusion.js +1029 -1276
- package/src/sap/ui/codeeditor/js/ace/mode-crystal.js +337 -393
- package/src/sap/ui/codeeditor/js/ace/mode-csharp.js +127 -216
- package/src/sap/ui/codeeditor/js/ace/mode-csound_document.js +1539 -1569
- package/src/sap/ui/codeeditor/js/ace/mode-csound_orchestra.js +786 -898
- package/src/sap/ui/codeeditor/js/ace/mode-csound_score.js +184 -237
- package/src/sap/ui/codeeditor/js/ace/mode-csp.js +37 -37
- package/src/sap/ui/codeeditor/js/ace/mode-css.js +293 -384
- package/src/sap/ui/codeeditor/js/ace/mode-curly.js +1019 -1262
- package/src/sap/ui/codeeditor/js/ace/mode-cuttlefish.js +56 -0
- package/src/sap/ui/codeeditor/js/ace/mode-d.js +163 -233
- package/src/sap/ui/codeeditor/js/ace/mode-dart.js +330 -427
- package/src/sap/ui/codeeditor/js/ace/mode-diff.js +20 -38
- package/src/sap/ui/codeeditor/js/ace/mode-django.js +1032 -1271
- package/src/sap/ui/codeeditor/js/ace/mode-dockerfile.js +211 -284
- package/src/sap/ui/codeeditor/js/ace/mode-dot.js +131 -200
- package/src/sap/ui/codeeditor/js/ace/mode-drools.js +408 -349
- package/src/sap/ui/codeeditor/js/ace/mode-edifact.js +89 -125
- package/src/sap/ui/codeeditor/js/ace/mode-eiffel.js +47 -62
- package/src/sap/ui/codeeditor/js/ace/mode-ejs.js +1350 -1666
- package/src/sap/ui/codeeditor/js/ace/mode-elixir.js +349 -407
- package/src/sap/ui/codeeditor/js/ace/mode-elm.js +136 -168
- package/src/sap/ui/codeeditor/js/ace/mode-erlang.js +707 -881
- package/src/sap/ui/codeeditor/js/ace/mode-flix.js +164 -0
- package/src/sap/ui/codeeditor/js/ace/mode-forth.js +128 -172
- package/src/sap/ui/codeeditor/js/ace/mode-fortran.js +177 -246
- package/src/sap/ui/codeeditor/js/ace/mode-fsharp.js +92 -131
- package/src/sap/ui/codeeditor/js/ace/mode-fsl.js +91 -124
- package/src/sap/ui/codeeditor/js/ace/mode-ftl.js +813 -748
- package/src/sap/ui/codeeditor/js/ace/mode-gcode.js +52 -71
- package/src/sap/ui/codeeditor/js/ace/mode-gherkin.js +105 -119
- package/src/sap/ui/codeeditor/js/ace/mode-gitignore.js +12 -22
- package/src/sap/ui/codeeditor/js/ace/mode-glsl.js +184 -289
- package/src/sap/ui/codeeditor/js/ace/mode-gobstones.js +686 -623
- package/src/sap/ui/codeeditor/js/ace/mode-golang.js +167 -239
- package/src/sap/ui/codeeditor/js/ace/mode-graphqlschema.js +48 -88
- package/src/sap/ui/codeeditor/js/ace/mode-groovy.js +577 -471
- package/src/sap/ui/codeeditor/js/ace/mode-haml.js +1062 -1026
- package/src/sap/ui/codeeditor/js/ace/mode-handlebars.js +1061 -1305
- package/src/sap/ui/codeeditor/js/ace/mode-haskell.js +199 -255
- package/src/sap/ui/codeeditor/js/ace/mode-haskell_cabal.js +81 -87
- package/src/sap/ui/codeeditor/js/ace/mode-haxe.js +111 -184
- package/src/sap/ui/codeeditor/js/ace/mode-hjson.js +164 -199
- package/src/sap/ui/codeeditor/js/ace/mode-html.js +1009 -1239
- package/src/sap/ui/codeeditor/js/ace/mode-html_elixir.js +1402 -1705
- package/src/sap/ui/codeeditor/js/ace/mode-html_ruby.js +1390 -1706
- package/src/sap/ui/codeeditor/js/ace/mode-ini.js +58 -82
- package/src/sap/ui/codeeditor/js/ace/mode-io.js +85 -123
- package/src/sap/ui/codeeditor/js/ace/mode-ion.js +477 -0
- package/src/sap/ui/codeeditor/js/ace/mode-jack.js +109 -162
- package/src/sap/ui/codeeditor/js/ace/mode-jade.js +1339 -1344
- package/src/sap/ui/codeeditor/js/ace/mode-java.js +710 -498
- package/src/sap/ui/codeeditor/js/ace/mode-javascript.js +441 -354
- package/src/sap/ui/codeeditor/js/ace/mode-jexl.js +270 -0
- package/src/sap/ui/codeeditor/js/ace/mode-json.js +93 -147
- package/src/sap/ui/codeeditor/js/ace/mode-json5.js +128 -180
- package/src/sap/ui/codeeditor/js/ace/mode-jsoniq.js +58 -112
- package/src/sap/ui/codeeditor/js/ace/mode-jsp.js +1045 -865
- package/src/sap/ui/codeeditor/js/ace/mode-jssm.js +158 -190
- package/src/sap/ui/codeeditor/js/ace/mode-jsx.js +121 -194
- package/src/sap/ui/codeeditor/js/ace/mode-julia.js +128 -177
- package/src/sap/ui/codeeditor/js/ace/mode-kotlin.js +262 -614
- package/src/sap/ui/codeeditor/js/ace/mode-latex.js +94 -138
- package/src/sap/ui/codeeditor/js/ace/mode-latte.js +1120 -1366
- package/src/sap/ui/codeeditor/js/ace/mode-less.js +342 -442
- package/src/sap/ui/codeeditor/js/ace/mode-liquid.js +1353 -1414
- package/src/sap/ui/codeeditor/js/ace/mode-lisp.js +65 -73
- package/src/sap/ui/codeeditor/js/ace/mode-livescript.js +217 -224
- package/src/sap/ui/codeeditor/js/ace/mode-logiql.js +97 -142
- package/src/sap/ui/codeeditor/js/ace/mode-logtalk.js +187 -227
- package/src/sap/ui/codeeditor/js/ace/mode-lsl.js +99 -155
- package/src/sap/ui/codeeditor/js/ace/mode-lua.js +152 -211
- package/src/sap/ui/codeeditor/js/ace/mode-luapage.js +1167 -1470
- package/src/sap/ui/codeeditor/js/ace/mode-lucene.js +25 -34
- package/src/sap/ui/codeeditor/js/ace/mode-makefile.js +244 -282
- package/src/sap/ui/codeeditor/js/ace/mode-markdown.js +1858 -2177
- package/src/sap/ui/codeeditor/js/ace/mode-mask.js +964 -1007
- package/src/sap/ui/codeeditor/js/ace/mode-matlab.js +197 -221
- package/src/sap/ui/codeeditor/js/ace/mode-maze.js +127 -163
- package/src/sap/ui/codeeditor/js/ace/mode-mediawiki.js +464 -476
- package/src/sap/ui/codeeditor/js/ace/mode-mel.js +90 -140
- package/src/sap/ui/codeeditor/js/ace/mode-mips.js +101 -134
- package/src/sap/ui/codeeditor/js/ace/mode-mixal.js +63 -75
- package/src/sap/ui/codeeditor/js/ace/mode-mushcode.js +537 -576
- package/src/sap/ui/codeeditor/js/ace/mode-mysql.js +85 -102
- package/src/sap/ui/codeeditor/js/ace/mode-nasal.js +513 -0
- package/src/sap/ui/codeeditor/js/ace/mode-nginx.js +119 -155
- package/src/sap/ui/codeeditor/js/ace/mode-nim.js +159 -197
- package/src/sap/ui/codeeditor/js/ace/mode-nix.js +283 -375
- package/src/sap/ui/codeeditor/js/ace/mode-nsis.js +139 -172
- package/src/sap/ui/codeeditor/js/ace/mode-nunjucks.js +1138 -1378
- package/src/sap/ui/codeeditor/js/ace/mode-objectivec.js +400 -514
- package/src/sap/ui/codeeditor/js/ace/mode-ocaml.js +77 -120
- package/src/sap/ui/codeeditor/js/ace/mode-odin.js +449 -0
- package/src/sap/ui/codeeditor/js/ace/mode-partiql.js +750 -0
- package/src/sap/ui/codeeditor/js/ace/mode-pascal.js +28 -47
- package/src/sap/ui/codeeditor/js/ace/mode-perl.js +122 -185
- package/src/sap/ui/codeeditor/js/ace/mode-pgsql.js +974 -851
- package/src/sap/ui/codeeditor/js/ace/mode-php.js +2282 -1502
- package/src/sap/ui/codeeditor/js/ace/mode-php_laravel_blade.js +2463 -1696
- package/src/sap/ui/codeeditor/js/ace/mode-pig.js +133 -165
- package/src/sap/ui/codeeditor/js/ace/mode-plain_text.js +5 -10
- package/src/sap/ui/codeeditor/js/ace/mode-plsql.js +268 -0
- package/src/sap/ui/codeeditor/js/ace/mode-powershell.js +332 -183
- package/src/sap/ui/codeeditor/js/ace/mode-praat.js +168 -234
- package/src/sap/ui/codeeditor/js/ace/mode-prisma.js +292 -324
- package/src/sap/ui/codeeditor/js/ace/mode-prolog.js +180 -246
- package/src/sap/ui/codeeditor/js/ace/mode-properties.js +26 -37
- package/src/sap/ui/codeeditor/js/ace/mode-protobuf.js +232 -327
- package/src/sap/ui/codeeditor/js/ace/mode-prql.js +320 -0
- package/src/sap/ui/codeeditor/js/ace/mode-puppet.js +68 -120
- package/src/sap/ui/codeeditor/js/ace/mode-python.js +338 -370
- package/src/sap/ui/codeeditor/js/ace/mode-qml.js +244 -279
- package/src/sap/ui/codeeditor/js/ace/mode-r.js +295 -220
- package/src/sap/ui/codeeditor/js/ace/mode-raku.js +356 -433
- package/src/sap/ui/codeeditor/js/ace/mode-razor.js +1130 -1374
- package/src/sap/ui/codeeditor/js/ace/mode-rdoc.js +214 -171
- package/src/sap/ui/codeeditor/js/ace/mode-red.js +212 -274
- package/src/sap/ui/codeeditor/js/ace/mode-redshift.js +181 -220
- package/src/sap/ui/codeeditor/js/ace/mode-rhtml.js +1325 -1443
- package/src/sap/ui/codeeditor/js/ace/mode-robot.js +168 -0
- package/src/sap/ui/codeeditor/js/ace/mode-rst.js +217 -229
- package/src/sap/ui/codeeditor/js/ace/mode-ruby.js +338 -420
- package/src/sap/ui/codeeditor/js/ace/mode-rust.js +258 -155
- package/src/sap/ui/codeeditor/js/ace/mode-sac.js +349 -0
- package/src/sap/ui/codeeditor/js/ace/mode-sass.js +257 -309
- package/src/sap/ui/codeeditor/js/ace/mode-scad.js +127 -191
- package/src/sap/ui/codeeditor/js/ace/mode-scala.js +572 -468
- package/src/sap/ui/codeeditor/js/ace/mode-scheme.js +104 -126
- package/src/sap/ui/codeeditor/js/ace/mode-scrypt.js +181 -228
- package/src/sap/ui/codeeditor/js/ace/mode-scss.js +364 -472
- package/src/sap/ui/codeeditor/js/ace/mode-sh.js +204 -266
- package/src/sap/ui/codeeditor/js/ace/mode-sjs.js +477 -405
- package/src/sap/ui/codeeditor/js/ace/mode-slim.js +2631 -3161
- package/src/sap/ui/codeeditor/js/ace/mode-smarty.js +1075 -1334
- package/src/sap/ui/codeeditor/js/ace/mode-smithy.js +276 -327
- package/src/sap/ui/codeeditor/js/ace/mode-snippets.js +78 -102
- package/src/sap/ui/codeeditor/js/ace/mode-soy_template.js +1251 -1548
- package/src/sap/ui/codeeditor/js/ace/mode-space.js +47 -63
- package/src/sap/ui/codeeditor/js/ace/mode-sparql.js +139 -171
- package/src/sap/ui/codeeditor/js/ace/mode-sql.js +77 -133
- package/src/sap/ui/codeeditor/js/ace/mode-sqlserver.js +138 -192
- package/src/sap/ui/codeeditor/js/ace/mode-stylus.js +306 -338
- package/src/sap/ui/codeeditor/js/ace/mode-svg.js +642 -794
- package/src/sap/ui/codeeditor/js/ace/mode-swift.js +96 -150
- package/src/sap/ui/codeeditor/js/ace/mode-tcl.js +151 -200
- package/src/sap/ui/codeeditor/js/ace/mode-terraform.js +78 -132
- package/src/sap/ui/codeeditor/js/ace/mode-tex.js +148 -96
- package/src/sap/ui/codeeditor/js/ace/mode-textile.js +45 -70
- package/src/sap/ui/codeeditor/js/ace/mode-toml.js +63 -87
- package/src/sap/ui/codeeditor/js/ace/mode-tsx.js +462 -384
- package/src/sap/ui/codeeditor/js/ace/mode-turtle.js +119 -151
- package/src/sap/ui/codeeditor/js/ace/mode-twig.js +1099 -1350
- package/src/sap/ui/codeeditor/js/ace/mode-typescript.js +455 -376
- package/src/sap/ui/codeeditor/js/ace/mode-vala.js +382 -505
- package/src/sap/ui/codeeditor/js/ace/mode-vbscript.js +231 -264
- package/src/sap/ui/codeeditor/js/ace/mode-velocity.js +1116 -1388
- package/src/sap/ui/codeeditor/js/ace/mode-verilog.js +61 -81
- package/src/sap/ui/codeeditor/js/ace/mode-vhdl.js +57 -79
- package/src/sap/ui/codeeditor/js/ace/mode-visualforce.js +1046 -1292
- package/src/sap/ui/codeeditor/js/ace/mode-wollok.js +525 -417
- package/src/sap/ui/codeeditor/js/ace/mode-xml.js +182 -389
- package/src/sap/ui/codeeditor/js/ace/mode-xquery.js +58 -112
- package/src/sap/ui/codeeditor/js/ace/mode-yaml.js +202 -137
- package/src/sap/ui/codeeditor/js/ace/mode-zeek.js +237 -274
- package/src/sap/ui/codeeditor/js/ace/snippets/abc.js +5 -34
- package/src/sap/ui/codeeditor/js/ace/snippets/actionscript.js +5 -160
- package/src/sap/ui/codeeditor/js/ace/snippets/astro.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/bibtex.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/c_cpp.js +5 -134
- package/src/sap/ui/codeeditor/js/ace/snippets/clojure.js +5 -93
- package/src/sap/ui/codeeditor/js/ace/snippets/coffee.js +5 -98
- package/src/sap/ui/codeeditor/js/ace/snippets/csound_document.js +5 -13
- package/src/sap/ui/codeeditor/js/ace/snippets/csound_orchestra.js +5 -50
- package/src/sap/ui/codeeditor/js/ace/snippets/css.js +5 -970
- package/src/sap/ui/codeeditor/js/ace/snippets/cuttlefish.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/dart.js +5 -86
- package/src/sap/ui/codeeditor/js/ace/snippets/diff.js +5 -14
- package/src/sap/ui/codeeditor/js/ace/snippets/django.js +5 -111
- package/src/sap/ui/codeeditor/js/ace/snippets/drools.js +5 -22
- package/src/sap/ui/codeeditor/js/ace/snippets/edifact.js +8 -246
- package/src/sap/ui/codeeditor/js/ace/snippets/erlang.js +5 -163
- package/src/sap/ui/codeeditor/js/ace/snippets/flix.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/fsl.js +6 -4
- package/src/sap/ui/codeeditor/js/ace/snippets/gobstones.js +5 -1707
- package/src/sap/ui/codeeditor/js/ace/snippets/graphqlschema.js +5 -35
- package/src/sap/ui/codeeditor/js/ace/snippets/haml.js +5 -23
- package/src/sap/ui/codeeditor/js/ace/snippets/haskell.js +5 -85
- package/src/sap/ui/codeeditor/js/ace/snippets/html.js +5 -856
- package/src/sap/ui/codeeditor/js/ace/snippets/io.js +1 -3
- package/src/sap/ui/codeeditor/js/ace/snippets/ion.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/java.js +5 -243
- package/src/sap/ui/codeeditor/js/ace/snippets/javascript.js +5 -198
- package/src/sap/ui/codeeditor/js/ace/snippets/jexl.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/jsoniq.js +44 -41
- package/src/sap/ui/codeeditor/js/ace/snippets/jsp.js +5 -102
- package/src/sap/ui/codeeditor/js/ace/snippets/liquid.js +5 -884
- package/src/sap/ui/codeeditor/js/ace/snippets/lsl.js +5 -1235
- package/src/sap/ui/codeeditor/js/ace/snippets/lua.js +5 -24
- package/src/sap/ui/codeeditor/js/ace/snippets/makefile.js +5 -7
- package/src/sap/ui/codeeditor/js/ace/snippets/markdown.js +5 -91
- package/src/sap/ui/codeeditor/js/ace/snippets/maze.js +5 -12
- package/src/sap/ui/codeeditor/js/ace/snippets/nasal.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/odin.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/partiql.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/perl.js +5 -350
- package/src/sap/ui/codeeditor/js/ace/snippets/php.js +5 -386
- package/src/sap/ui/codeeditor/js/ace/snippets/plsql.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/prql.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/python.js +5 -161
- package/src/sap/ui/codeeditor/js/ace/snippets/r.js +5 -124
- package/src/sap/ui/codeeditor/js/ace/snippets/razor.js +5 -6
- package/src/sap/ui/codeeditor/js/ace/snippets/robot.js +16 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/rst.js +5 -25
- package/src/sap/ui/codeeditor/js/ace/snippets/ruby.js +5 -931
- package/src/sap/ui/codeeditor/js/ace/snippets/sac.js +9 -0
- package/src/sap/ui/codeeditor/js/ace/snippets/sh.js +5 -86
- package/src/sap/ui/codeeditor/js/ace/snippets/snippets.js +5 -12
- package/src/sap/ui/codeeditor/js/ace/snippets/sql.js +5 -29
- package/src/sap/ui/codeeditor/js/ace/snippets/sqlserver.js +5 -72
- package/src/sap/ui/codeeditor/js/ace/snippets/tcl.js +5 -95
- package/src/sap/ui/codeeditor/js/ace/snippets/tex.js +5 -193
- package/src/sap/ui/codeeditor/js/ace/snippets/textile.js +5 -33
- package/src/sap/ui/codeeditor/js/ace/snippets/vala.js +1 -2
- package/src/sap/ui/codeeditor/js/ace/snippets/velocity.js +5 -31
- package/src/sap/ui/codeeditor/js/ace/snippets/wollok.js +5 -87
- package/src/sap/ui/codeeditor/js/ace/snippets/xquery.js +44 -41
- package/src/sap/ui/codeeditor/js/ace/theme-ambiance.js +5 -172
- package/src/sap/ui/codeeditor/js/ace/theme-chaos.js +5 -150
- package/src/sap/ui/codeeditor/js/ace/theme-chrome.js +6 -123
- package/src/sap/ui/codeeditor/js/ace/theme-cloud9_day.js +19 -0
- package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night.js +18 -0
- package/src/sap/ui/codeeditor/js/ace/theme-cloud9_night_low_color.js +18 -0
- package/src/sap/ui/codeeditor/js/ace/theme-clouds.js +6 -90
- package/src/sap/ui/codeeditor/js/ace/theme-clouds_midnight.js +6 -91
- package/src/sap/ui/codeeditor/js/ace/theme-cobalt.js +6 -108
- package/src/sap/ui/codeeditor/js/ace/theme-crimson_editor.js +6 -113
- package/src/sap/ui/codeeditor/js/ace/theme-dawn.js +6 -103
- package/src/sap/ui/codeeditor/js/ace/theme-dracula.js +6 -122
- package/src/sap/ui/codeeditor/js/ace/theme-dreamweaver.js +7 -137
- package/src/sap/ui/codeeditor/js/ace/theme-eclipse.js +6 -92
- package/src/sap/ui/codeeditor/js/ace/theme-github.js +7 -99
- package/src/sap/ui/codeeditor/js/ace/theme-github_dark.js +18 -0
- package/src/sap/ui/codeeditor/js/ace/theme-gob.js +6 -107
- package/src/sap/ui/codeeditor/js/ace/theme-gruvbox.js +5 -76
- package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_dark_hard.js +18 -0
- package/src/sap/ui/codeeditor/js/ace/theme-gruvbox_light_hard.js +18 -0
- package/src/sap/ui/codeeditor/js/ace/theme-idle_fingers.js +6 -91
- package/src/sap/ui/codeeditor/js/ace/theme-iplastic.js +6 -116
- package/src/sap/ui/codeeditor/js/ace/theme-katzenmilch.js +6 -116
- package/src/sap/ui/codeeditor/js/ace/theme-kr_theme.js +6 -99
- package/src/sap/ui/codeeditor/js/ace/theme-kuroir.js +6 -56
- package/src/sap/ui/codeeditor/js/ace/theme-merbivore.js +6 -90
- package/src/sap/ui/codeeditor/js/ace/theme-merbivore_soft.js +6 -91
- package/src/sap/ui/codeeditor/js/ace/theme-mono_industrial.js +6 -102
- package/src/sap/ui/codeeditor/js/ace/theme-monokai.js +6 -100
- package/src/sap/ui/codeeditor/js/ace/theme-nord_dark.js +6 -89
- package/src/sap/ui/codeeditor/js/ace/theme-one_dark.js +10 -131
- package/src/sap/ui/codeeditor/js/ace/theme-pastel_on_dark.js +6 -103
- package/src/sap/ui/codeeditor/js/ace/theme-solarized_dark.js +6 -83
- package/src/sap/ui/codeeditor/js/ace/theme-solarized_light.js +6 -86
- package/src/sap/ui/codeeditor/js/ace/theme-sqlserver.js +6 -133
- package/src/sap/ui/codeeditor/js/ace/theme-terminal.js +6 -109
- package/src/sap/ui/codeeditor/js/ace/theme-textmate.js +3 -124
- package/src/sap/ui/codeeditor/js/ace/theme-tomorrow.js +6 -103
- package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night.js +6 -103
- package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_blue.js +6 -101
- package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_bright.js +6 -116
- package/src/sap/ui/codeeditor/js/ace/theme-tomorrow_night_eighties.js +6 -103
- package/src/sap/ui/codeeditor/js/ace/theme-twilight.js +6 -104
- package/src/sap/ui/codeeditor/js/ace/theme-vibrant_ink.js +6 -89
- package/src/sap/ui/codeeditor/js/ace/theme-xcode.js +6 -83
- package/src/sap/ui/codeeditor/js/ace/worker-base.js +516 -595
- package/src/sap/ui/codeeditor/js/ace/worker-coffee.js +496 -575
- package/src/sap/ui/codeeditor/js/ace/worker-css.js +501 -578
- package/src/sap/ui/codeeditor/js/ace/worker-html.js +515 -584
- package/src/sap/ui/codeeditor/js/ace/worker-javascript.js +2964 -2551
- package/src/sap/ui/codeeditor/js/ace/worker-json.js +496 -575
- package/src/sap/ui/codeeditor/js/ace/worker-lua.js +497 -576
- package/src/sap/ui/codeeditor/js/ace/worker-php.js +2906 -2795
- package/src/sap/ui/codeeditor/js/ace/worker-xml.js +496 -575
- package/src/sap/ui/codeeditor/js/ace/worker-xquery.js +496 -575
- package/src/sap/ui/codeeditor/js/ace/worker-yaml.js +5851 -0
- package/src/sap/ui/codeeditor/library.js +6 -5
- package/LICENSES/BSD-2-Clause.txt +0 -22
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
ace.define("ace/mode/css_highlight_rules",[], function(require, exports, module)
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
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){"use strict";
|
|
4
2
|
var oop = require("../lib/oop");
|
|
5
3
|
var lang = require("../lib/lang");
|
|
6
4
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
7
5
|
var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
|
|
8
6
|
var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
|
|
9
|
-
var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom";
|
|
7
|
+
var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom";
|
|
10
8
|
var supportConstantColor = exports.supportConstantColor = "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen";
|
|
11
9
|
var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
|
|
12
|
-
|
|
13
10
|
var numRe = exports.numRe = "\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))";
|
|
14
11
|
var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
|
|
15
|
-
var pseudoClasses
|
|
16
|
-
|
|
17
|
-
var CssHighlightRules = function() {
|
|
18
|
-
|
|
12
|
+
var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
|
|
13
|
+
var CssHighlightRules = function () {
|
|
19
14
|
var keywordMapper = this.createKeywordMapper({
|
|
20
15
|
"support.function": supportFunction,
|
|
21
16
|
"support.constant": supportConstant,
|
|
@@ -23,263 +18,317 @@ var CssHighlightRules = function() {
|
|
|
23
18
|
"support.constant.color": supportConstantColor,
|
|
24
19
|
"support.constant.fonts": supportConstantFonts
|
|
25
20
|
}, "text", true);
|
|
26
|
-
|
|
27
21
|
this.$rules = {
|
|
28
|
-
"start"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
22
|
+
"start": [{
|
|
23
|
+
include: ["strings", "url", "comments"]
|
|
24
|
+
}, {
|
|
25
|
+
token: "paren.lparen",
|
|
26
|
+
regex: "\\{",
|
|
27
|
+
next: "ruleset"
|
|
28
|
+
}, {
|
|
29
|
+
token: "paren.rparen",
|
|
30
|
+
regex: "\\}"
|
|
31
|
+
}, {
|
|
32
|
+
token: "string",
|
|
33
|
+
regex: "@(?!viewport)",
|
|
34
|
+
next: "media"
|
|
35
|
+
}, {
|
|
36
|
+
token: "keyword",
|
|
37
|
+
regex: "#[a-z0-9-_]+"
|
|
38
|
+
}, {
|
|
39
|
+
token: "keyword",
|
|
40
|
+
regex: "%"
|
|
41
|
+
}, {
|
|
42
|
+
token: "variable",
|
|
43
|
+
regex: "\\.[a-z0-9-_]+"
|
|
44
|
+
}, {
|
|
45
|
+
token: "string",
|
|
46
|
+
regex: ":[a-z0-9-_]+"
|
|
47
|
+
}, {
|
|
48
|
+
token: "constant.numeric",
|
|
49
|
+
regex: numRe
|
|
50
|
+
}, {
|
|
51
|
+
token: "constant",
|
|
52
|
+
regex: "[a-z0-9-_]+"
|
|
53
|
+
}, {
|
|
54
|
+
caseInsensitive: true
|
|
55
|
+
}],
|
|
63
56
|
"media": [{
|
|
64
|
-
|
|
65
|
-
}, {
|
|
66
|
-
token: "paren.lparen",
|
|
67
|
-
regex: "\\{",
|
|
68
|
-
next: "start"
|
|
69
|
-
}, {
|
|
70
|
-
token: "paren.rparen",
|
|
71
|
-
regex: "\\}",
|
|
72
|
-
next: "start"
|
|
73
|
-
}, {
|
|
74
|
-
token: "string",
|
|
75
|
-
regex: ";",
|
|
76
|
-
next: "start"
|
|
77
|
-
}, {
|
|
78
|
-
token: "keyword",
|
|
79
|
-
regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
|
|
80
|
-
+ "|page|font|keyframes|viewport|counter-style|font-feature-values"
|
|
81
|
-
+ "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
|
|
82
|
-
}],
|
|
83
|
-
|
|
84
|
-
"comments" : [{
|
|
85
|
-
token: "comment", // multi line comment
|
|
86
|
-
regex: "\\/\\*",
|
|
87
|
-
push: [{
|
|
88
|
-
token : "comment",
|
|
89
|
-
regex : "\\*\\/",
|
|
90
|
-
next : "pop"
|
|
57
|
+
include: ["strings", "url", "comments"]
|
|
91
58
|
}, {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"ruleset" : [{
|
|
97
|
-
regex : "-(webkit|ms|moz|o)-",
|
|
98
|
-
token : "text"
|
|
99
|
-
}, {
|
|
100
|
-
token : "punctuation.operator",
|
|
101
|
-
regex : "[:;]"
|
|
102
|
-
}, {
|
|
103
|
-
token : "paren.rparen",
|
|
104
|
-
regex : "\\}",
|
|
105
|
-
next : "start"
|
|
106
|
-
}, {
|
|
107
|
-
include : ["strings", "url", "comments"]
|
|
108
|
-
}, {
|
|
109
|
-
token : ["constant.numeric", "keyword"],
|
|
110
|
-
regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"
|
|
111
|
-
}, {
|
|
112
|
-
token : "constant.numeric",
|
|
113
|
-
regex : numRe
|
|
114
|
-
}, {
|
|
115
|
-
token : "constant.numeric", // hex6 color
|
|
116
|
-
regex : "#[a-f0-9]{6}"
|
|
117
|
-
}, {
|
|
118
|
-
token : "constant.numeric", // hex3 color
|
|
119
|
-
regex : "#[a-f0-9]{3}"
|
|
120
|
-
}, {
|
|
121
|
-
token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
|
|
122
|
-
regex : pseudoElements
|
|
123
|
-
}, {
|
|
124
|
-
token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
|
|
125
|
-
regex : pseudoClasses
|
|
126
|
-
}, {
|
|
127
|
-
include: "url"
|
|
128
|
-
}, {
|
|
129
|
-
token : keywordMapper,
|
|
130
|
-
regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
|
|
131
|
-
}, {
|
|
132
|
-
caseInsensitive: true
|
|
133
|
-
}],
|
|
134
|
-
|
|
135
|
-
url: [{
|
|
136
|
-
token : "support.function",
|
|
137
|
-
regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
|
|
138
|
-
push: [{
|
|
139
|
-
token : "support.function",
|
|
140
|
-
regex : "\\)",
|
|
141
|
-
next : "pop"
|
|
59
|
+
token: "paren.lparen",
|
|
60
|
+
regex: "\\{",
|
|
61
|
+
next: "start"
|
|
142
62
|
}, {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
strings: [{
|
|
148
|
-
token : "string.start",
|
|
149
|
-
regex : "'",
|
|
150
|
-
push : [{
|
|
151
|
-
token : "string.end",
|
|
152
|
-
regex : "'|$",
|
|
153
|
-
next: "pop"
|
|
63
|
+
token: "paren.rparen",
|
|
64
|
+
regex: "\\}",
|
|
65
|
+
next: "start"
|
|
154
66
|
}, {
|
|
155
|
-
|
|
67
|
+
token: "string",
|
|
68
|
+
regex: ";",
|
|
69
|
+
next: "start"
|
|
156
70
|
}, {
|
|
157
|
-
token
|
|
158
|
-
regex
|
|
159
|
-
|
|
71
|
+
token: "keyword",
|
|
72
|
+
regex: "(?:media|supports|document|charset|import|namespace|media|supports|document"
|
|
73
|
+
+ "|page|font|keyframes|viewport|counter-style|font-feature-values"
|
|
74
|
+
+ "|swash|ornaments|annotation|stylistic|styleset|character-variant)"
|
|
75
|
+
}],
|
|
76
|
+
"comments": [{
|
|
77
|
+
token: "comment",
|
|
78
|
+
regex: "\\/\\*",
|
|
79
|
+
push: [{
|
|
80
|
+
token: "comment",
|
|
81
|
+
regex: "\\*\\/",
|
|
82
|
+
next: "pop"
|
|
83
|
+
}, {
|
|
84
|
+
defaultToken: "comment"
|
|
85
|
+
}]
|
|
86
|
+
}],
|
|
87
|
+
"ruleset": [{
|
|
88
|
+
regex: "-(webkit|ms|moz|o)-",
|
|
89
|
+
token: "text"
|
|
160
90
|
}, {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
token : "string.end",
|
|
168
|
-
regex : '"|$',
|
|
169
|
-
next: "pop"
|
|
91
|
+
token: "punctuation.operator",
|
|
92
|
+
regex: "[:;]"
|
|
93
|
+
}, {
|
|
94
|
+
token: "paren.rparen",
|
|
95
|
+
regex: "\\}",
|
|
96
|
+
next: "start"
|
|
170
97
|
}, {
|
|
171
|
-
include
|
|
98
|
+
include: ["strings", "url", "comments"]
|
|
172
99
|
}, {
|
|
173
|
-
token
|
|
174
|
-
regex
|
|
175
|
-
consumeLineEnd: true
|
|
100
|
+
token: ["constant.numeric", "keyword"],
|
|
101
|
+
regex: "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"
|
|
176
102
|
}, {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
103
|
+
token: "constant.numeric",
|
|
104
|
+
regex: numRe
|
|
105
|
+
}, {
|
|
106
|
+
token: "constant.numeric",
|
|
107
|
+
regex: "#[a-f0-9]{6}"
|
|
108
|
+
}, {
|
|
109
|
+
token: "constant.numeric",
|
|
110
|
+
regex: "#[a-f0-9]{3}"
|
|
111
|
+
}, {
|
|
112
|
+
token: ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
|
|
113
|
+
regex: pseudoElements
|
|
114
|
+
}, {
|
|
115
|
+
token: ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
|
|
116
|
+
regex: pseudoClasses
|
|
117
|
+
}, {
|
|
118
|
+
include: "url"
|
|
119
|
+
}, {
|
|
120
|
+
token: keywordMapper,
|
|
121
|
+
regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
|
|
122
|
+
}, {
|
|
123
|
+
caseInsensitive: true
|
|
124
|
+
}],
|
|
125
|
+
url: [{
|
|
126
|
+
token: "support.function",
|
|
127
|
+
regex: "(?:url(:?-prefix)?|domain|regexp)\\(",
|
|
128
|
+
push: [{
|
|
129
|
+
token: "support.function",
|
|
130
|
+
regex: "\\)",
|
|
131
|
+
next: "pop"
|
|
132
|
+
}, {
|
|
133
|
+
defaultToken: "string"
|
|
134
|
+
}]
|
|
135
|
+
}],
|
|
136
|
+
strings: [{
|
|
137
|
+
token: "string.start",
|
|
138
|
+
regex: "'",
|
|
139
|
+
push: [{
|
|
140
|
+
token: "string.end",
|
|
141
|
+
regex: "'|$",
|
|
142
|
+
next: "pop"
|
|
143
|
+
}, {
|
|
144
|
+
include: "escapes"
|
|
145
|
+
}, {
|
|
146
|
+
token: "constant.language.escape",
|
|
147
|
+
regex: /\\$/,
|
|
148
|
+
consumeLineEnd: true
|
|
149
|
+
}, {
|
|
150
|
+
defaultToken: "string"
|
|
151
|
+
}]
|
|
152
|
+
}, {
|
|
153
|
+
token: "string.start",
|
|
154
|
+
regex: '"',
|
|
155
|
+
push: [{
|
|
156
|
+
token: "string.end",
|
|
157
|
+
regex: '"|$',
|
|
158
|
+
next: "pop"
|
|
159
|
+
}, {
|
|
160
|
+
include: "escapes"
|
|
161
|
+
}, {
|
|
162
|
+
token: "constant.language.escape",
|
|
163
|
+
regex: /\\$/,
|
|
164
|
+
consumeLineEnd: true
|
|
165
|
+
}, {
|
|
166
|
+
defaultToken: "string"
|
|
167
|
+
}]
|
|
168
|
+
}],
|
|
180
169
|
escapes: [{
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
170
|
+
token: "constant.language.escape",
|
|
171
|
+
regex: /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
|
|
172
|
+
}]
|
|
185
173
|
};
|
|
186
|
-
|
|
187
174
|
this.normalizeRules();
|
|
188
175
|
};
|
|
189
|
-
|
|
190
176
|
oop.inherits(CssHighlightRules, TextHighlightRules);
|
|
191
|
-
|
|
192
177
|
exports.CssHighlightRules = CssHighlightRules;
|
|
193
178
|
|
|
194
179
|
});
|
|
195
180
|
|
|
196
|
-
ace.define("ace/mode/
|
|
197
|
-
"use strict";
|
|
198
|
-
|
|
181
|
+
ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
|
|
199
182
|
var oop = require("../lib/oop");
|
|
200
183
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
201
|
-
|
|
202
|
-
var DocCommentHighlightRules = function() {
|
|
184
|
+
var JsDocCommentHighlightRules = function () {
|
|
203
185
|
this.$rules = {
|
|
204
|
-
"start"
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
186
|
+
"start": [
|
|
187
|
+
{
|
|
188
|
+
token: ["comment.doc.tag", "comment.doc.text", "lparen.doc"],
|
|
189
|
+
regex: "(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",
|
|
190
|
+
push: [
|
|
191
|
+
{
|
|
192
|
+
token: "lparen.doc",
|
|
193
|
+
regex: "{",
|
|
194
|
+
push: [
|
|
195
|
+
{
|
|
196
|
+
include: "doc-syntax"
|
|
197
|
+
}, {
|
|
198
|
+
token: "rparen.doc",
|
|
199
|
+
regex: "}|(?=$)",
|
|
200
|
+
next: "pop"
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
}, {
|
|
204
|
+
token: ["rparen.doc", "text.doc", "variable.parameter.doc", "lparen.doc", "variable.parameter.doc", "rparen.doc"],
|
|
205
|
+
regex: /(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.]+)(\])))/,
|
|
206
|
+
next: "pop"
|
|
207
|
+
}, {
|
|
208
|
+
token: "rparen.doc",
|
|
209
|
+
regex: "}|(?=$)",
|
|
210
|
+
next: "pop"
|
|
211
|
+
}, {
|
|
212
|
+
include: "doc-syntax"
|
|
213
|
+
}, {
|
|
214
|
+
defaultToken: "text.doc"
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
}, {
|
|
218
|
+
token: ["comment.doc.tag", "text.doc", "lparen.doc"],
|
|
219
|
+
regex: "(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|"
|
|
220
|
+
+ "implements|external|exception|throws|enum|define|extends))(\\s*)({)",
|
|
221
|
+
push: [
|
|
222
|
+
{
|
|
223
|
+
token: "lparen.doc",
|
|
224
|
+
regex: "{",
|
|
225
|
+
push: [
|
|
226
|
+
{
|
|
227
|
+
include: "doc-syntax"
|
|
228
|
+
}, {
|
|
229
|
+
token: "rparen.doc",
|
|
230
|
+
regex: "}|(?=$)",
|
|
231
|
+
next: "pop"
|
|
232
|
+
}
|
|
233
|
+
]
|
|
234
|
+
}, {
|
|
235
|
+
token: "rparen.doc",
|
|
236
|
+
regex: "}|(?=$)",
|
|
237
|
+
next: "pop"
|
|
238
|
+
}, {
|
|
239
|
+
include: "doc-syntax"
|
|
240
|
+
}, {
|
|
241
|
+
defaultToken: "text.doc"
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
}, {
|
|
245
|
+
token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
|
|
246
|
+
regex: "(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|"
|
|
247
|
+
+ "requires|param|implements|function|extends|typedef|mixes|constructor|var|"
|
|
248
|
+
+ "memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|"
|
|
249
|
+
+ "throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#\.:\/~\"\\-]*)?"
|
|
250
|
+
}, {
|
|
251
|
+
token: ["comment.doc.tag", "text.doc", "variable.parameter.doc"],
|
|
252
|
+
regex: "(@method)(\\s+)(\\w[\\w\.\\(\\)]*)"
|
|
253
|
+
}, {
|
|
254
|
+
token: "comment.doc.tag",
|
|
255
|
+
regex: "@access\\s+(?:private|public|protected)"
|
|
256
|
+
}, {
|
|
257
|
+
token: "comment.doc.tag",
|
|
258
|
+
regex: "@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"
|
|
259
|
+
}, {
|
|
260
|
+
token: "comment.doc.tag",
|
|
261
|
+
regex: "@\\w+(?=\\s|$)"
|
|
262
|
+
},
|
|
263
|
+
JsDocCommentHighlightRules.getTagRule(),
|
|
264
|
+
{
|
|
265
|
+
defaultToken: "comment.doc",
|
|
266
|
+
caseInsensitive: true
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"doc-syntax": [{
|
|
270
|
+
token: "operator.doc",
|
|
271
|
+
regex: /[|:]/
|
|
272
|
+
}, {
|
|
273
|
+
token: "paren.doc",
|
|
274
|
+
regex: /[\[\]]/
|
|
275
|
+
}]
|
|
213
276
|
};
|
|
277
|
+
this.normalizeRules();
|
|
214
278
|
};
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
DocCommentHighlightRules.getTagRule = function(start) {
|
|
279
|
+
oop.inherits(JsDocCommentHighlightRules, TextHighlightRules);
|
|
280
|
+
JsDocCommentHighlightRules.getTagRule = function (start) {
|
|
219
281
|
return {
|
|
220
|
-
token
|
|
221
|
-
regex
|
|
282
|
+
token: "comment.doc.tag.storage.type",
|
|
283
|
+
regex: "\\b(?:TODO|FIXME|XXX|HACK)\\b"
|
|
222
284
|
};
|
|
223
285
|
};
|
|
224
|
-
|
|
225
|
-
DocCommentHighlightRules.getStartRule = function(start) {
|
|
286
|
+
JsDocCommentHighlightRules.getStartRule = function (start) {
|
|
226
287
|
return {
|
|
227
|
-
token
|
|
228
|
-
regex
|
|
229
|
-
next
|
|
288
|
+
token: "comment.doc",
|
|
289
|
+
regex: "\\/\\*(?=\\*)",
|
|
290
|
+
next: start
|
|
230
291
|
};
|
|
231
292
|
};
|
|
232
|
-
|
|
233
|
-
DocCommentHighlightRules.getEndRule = function (start) {
|
|
293
|
+
JsDocCommentHighlightRules.getEndRule = function (start) {
|
|
234
294
|
return {
|
|
235
|
-
token
|
|
236
|
-
regex
|
|
237
|
-
next
|
|
295
|
+
token: "comment.doc",
|
|
296
|
+
regex: "\\*\\/",
|
|
297
|
+
next: start
|
|
238
298
|
};
|
|
239
299
|
};
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
exports.DocCommentHighlightRules = DocCommentHighlightRules;
|
|
300
|
+
exports.JsDocCommentHighlightRules = JsDocCommentHighlightRules;
|
|
243
301
|
|
|
244
302
|
});
|
|
245
303
|
|
|
246
|
-
ace.define("ace/mode/javascript_highlight_rules",[], function(require, exports, module)
|
|
247
|
-
"use strict";
|
|
248
|
-
|
|
304
|
+
ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
|
|
249
305
|
var oop = require("../lib/oop");
|
|
250
|
-
var DocCommentHighlightRules = require("./
|
|
306
|
+
var DocCommentHighlightRules = require("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules;
|
|
251
307
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
252
308
|
var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
|
|
253
|
-
|
|
254
|
-
var JavaScriptHighlightRules = function(options) {
|
|
309
|
+
var JavaScriptHighlightRules = function (options) {
|
|
255
310
|
var keywordMapper = this.createKeywordMapper({
|
|
256
|
-
"variable.language":
|
|
257
|
-
"
|
|
258
|
-
"
|
|
259
|
-
"
|
|
260
|
-
"
|
|
261
|
-
"
|
|
262
|
-
"SyntaxError|TypeError|URIError|" +
|
|
311
|
+
"variable.language": "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|" + // Constructors
|
|
312
|
+
"Namespace|QName|XML|XMLList|" + // E4X
|
|
313
|
+
"ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
|
|
314
|
+
"Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
|
|
315
|
+
"Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
|
|
316
|
+
"SyntaxError|TypeError|URIError|" +
|
|
263
317
|
"decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
|
|
264
|
-
"isNaN|parseFloat|parseInt|"
|
|
265
|
-
"JSON|Math|"
|
|
266
|
-
"this|arguments|prototype|window|document"
|
|
267
|
-
"keyword":
|
|
268
|
-
"const|yield|import|get|set|async|await|" +
|
|
318
|
+
"isNaN|parseFloat|parseInt|" +
|
|
319
|
+
"JSON|Math|" + // Other
|
|
320
|
+
"this|arguments|prototype|window|document",
|
|
321
|
+
"keyword": "const|yield|import|get|set|async|await|" +
|
|
269
322
|
"break|case|catch|continue|default|delete|do|else|finally|for|function|" +
|
|
270
323
|
"if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
|
|
271
324
|
"__parent__|__count__|escape|unescape|with|__proto__|" +
|
|
272
|
-
"class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
|
|
273
|
-
"storage.type":
|
|
274
|
-
|
|
275
|
-
"
|
|
276
|
-
"null|Infinity|NaN|undefined",
|
|
277
|
-
"support.function":
|
|
278
|
-
"alert",
|
|
325
|
+
"class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor",
|
|
326
|
+
"storage.type": "const|let|var|function",
|
|
327
|
+
"constant.language": "null|Infinity|NaN|undefined",
|
|
328
|
+
"support.function": "alert",
|
|
279
329
|
"constant.language.boolean": "true|false"
|
|
280
330
|
}, "identifier");
|
|
281
331
|
var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
|
|
282
|
-
|
|
283
332
|
var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
|
|
284
333
|
"u[0-9a-fA-F]{4}|" + // unicode
|
|
285
334
|
"u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
|
|
@@ -287,143 +336,142 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
287
336
|
"3[0-7][0-7]?|" + // oct
|
|
288
337
|
"[4-7][0-7]?|" + //oct
|
|
289
338
|
".)";
|
|
290
|
-
|
|
291
339
|
this.$rules = {
|
|
292
|
-
"no_regex"
|
|
340
|
+
"no_regex": [
|
|
293
341
|
DocCommentHighlightRules.getStartRule("doc-start"),
|
|
294
342
|
comments("no_regex"),
|
|
295
343
|
{
|
|
296
|
-
token
|
|
297
|
-
regex
|
|
298
|
-
next
|
|
344
|
+
token: "string",
|
|
345
|
+
regex: "'(?=.)",
|
|
346
|
+
next: "qstring"
|
|
299
347
|
}, {
|
|
300
|
-
token
|
|
301
|
-
regex
|
|
302
|
-
next
|
|
348
|
+
token: "string",
|
|
349
|
+
regex: '"(?=.)',
|
|
350
|
+
next: "qqstring"
|
|
303
351
|
}, {
|
|
304
|
-
token
|
|
305
|
-
regex
|
|
352
|
+
token: "constant.numeric",
|
|
353
|
+
regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
|
|
306
354
|
}, {
|
|
307
|
-
token
|
|
308
|
-
regex
|
|
355
|
+
token: "constant.numeric",
|
|
356
|
+
regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
|
|
309
357
|
}, {
|
|
310
|
-
token
|
|
358
|
+
token: [
|
|
311
359
|
"storage.type", "punctuation.operator", "support.function",
|
|
312
|
-
"punctuation.operator", "entity.name.function", "text","keyword.operator"
|
|
360
|
+
"punctuation.operator", "entity.name.function", "text", "keyword.operator"
|
|
313
361
|
],
|
|
314
|
-
regex
|
|
362
|
+
regex: "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe + ")(\\s*)(=)",
|
|
315
363
|
next: "function_arguments"
|
|
316
364
|
}, {
|
|
317
|
-
token
|
|
365
|
+
token: [
|
|
318
366
|
"storage.type", "punctuation.operator", "entity.name.function", "text",
|
|
319
367
|
"keyword.operator", "text", "storage.type", "text", "paren.lparen"
|
|
320
368
|
],
|
|
321
|
-
regex
|
|
369
|
+
regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
|
|
322
370
|
next: "function_arguments"
|
|
323
371
|
}, {
|
|
324
|
-
token
|
|
372
|
+
token: [
|
|
325
373
|
"entity.name.function", "text", "keyword.operator", "text", "storage.type",
|
|
326
374
|
"text", "paren.lparen"
|
|
327
375
|
],
|
|
328
|
-
regex
|
|
376
|
+
regex: "(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s*)(\\()",
|
|
329
377
|
next: "function_arguments"
|
|
330
378
|
}, {
|
|
331
|
-
token
|
|
379
|
+
token: [
|
|
332
380
|
"storage.type", "punctuation.operator", "entity.name.function", "text",
|
|
333
381
|
"keyword.operator", "text",
|
|
334
382
|
"storage.type", "text", "entity.name.function", "text", "paren.lparen"
|
|
335
383
|
],
|
|
336
|
-
regex
|
|
384
|
+
regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(\\s+)(\\w+)(\\s*)(\\()",
|
|
337
385
|
next: "function_arguments"
|
|
338
386
|
}, {
|
|
339
|
-
token
|
|
387
|
+
token: [
|
|
340
388
|
"storage.type", "text", "entity.name.function", "text", "paren.lparen"
|
|
341
389
|
],
|
|
342
|
-
regex
|
|
390
|
+
regex: "(function\\*?)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
|
|
343
391
|
next: "function_arguments"
|
|
344
392
|
}, {
|
|
345
|
-
token
|
|
393
|
+
token: [
|
|
346
394
|
"entity.name.function", "text", "punctuation.operator",
|
|
347
395
|
"text", "storage.type", "text", "paren.lparen"
|
|
348
396
|
],
|
|
349
|
-
regex
|
|
397
|
+
regex: "(" + identifierRe + ")(\\s*)(:)(\\s*)(function\\*?)(\\s*)(\\()",
|
|
350
398
|
next: "function_arguments"
|
|
351
399
|
}, {
|
|
352
|
-
token
|
|
400
|
+
token: [
|
|
353
401
|
"text", "text", "storage.type", "text", "paren.lparen"
|
|
354
402
|
],
|
|
355
|
-
regex
|
|
403
|
+
regex: "(:)(\\s*)(function\\*?)(\\s*)(\\()",
|
|
356
404
|
next: "function_arguments"
|
|
357
405
|
}, {
|
|
358
|
-
token
|
|
359
|
-
regex
|
|
406
|
+
token: "keyword",
|
|
407
|
+
regex: "from(?=\\s*('|\"))"
|
|
360
408
|
}, {
|
|
361
|
-
token
|
|
362
|
-
regex
|
|
363
|
-
next
|
|
409
|
+
token: "keyword",
|
|
410
|
+
regex: "(?:" + kwBeforeRe + ")\\b",
|
|
411
|
+
next: "start"
|
|
364
412
|
}, {
|
|
365
|
-
token
|
|
366
|
-
regex
|
|
413
|
+
token: "support.constant",
|
|
414
|
+
regex: /that\b/
|
|
367
415
|
}, {
|
|
368
|
-
token
|
|
369
|
-
regex
|
|
416
|
+
token: ["storage.type", "punctuation.operator", "support.function.firebug"],
|
|
417
|
+
regex: /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
|
|
370
418
|
}, {
|
|
371
|
-
token
|
|
372
|
-
regex
|
|
419
|
+
token: keywordMapper,
|
|
420
|
+
regex: identifierRe
|
|
373
421
|
}, {
|
|
374
|
-
token
|
|
375
|
-
regex
|
|
376
|
-
next
|
|
422
|
+
token: "punctuation.operator",
|
|
423
|
+
regex: /[.](?![.])/,
|
|
424
|
+
next: "property"
|
|
377
425
|
}, {
|
|
378
|
-
token
|
|
379
|
-
regex
|
|
380
|
-
next
|
|
426
|
+
token: "storage.type",
|
|
427
|
+
regex: /=>/,
|
|
428
|
+
next: "start"
|
|
381
429
|
}, {
|
|
382
|
-
token
|
|
383
|
-
regex
|
|
384
|
-
next
|
|
430
|
+
token: "keyword.operator",
|
|
431
|
+
regex: /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
|
|
432
|
+
next: "start"
|
|
385
433
|
}, {
|
|
386
|
-
token
|
|
387
|
-
regex
|
|
388
|
-
next
|
|
434
|
+
token: "punctuation.operator",
|
|
435
|
+
regex: /[?:,;.]/,
|
|
436
|
+
next: "start"
|
|
389
437
|
}, {
|
|
390
|
-
token
|
|
391
|
-
regex
|
|
392
|
-
next
|
|
438
|
+
token: "paren.lparen",
|
|
439
|
+
regex: /[\[({]/,
|
|
440
|
+
next: "start"
|
|
393
441
|
}, {
|
|
394
|
-
token
|
|
395
|
-
regex
|
|
442
|
+
token: "paren.rparen",
|
|
443
|
+
regex: /[\])}]/
|
|
396
444
|
}, {
|
|
397
445
|
token: "comment",
|
|
398
446
|
regex: /^#!.*$/
|
|
399
447
|
}
|
|
400
448
|
],
|
|
401
449
|
property: [{
|
|
402
|
-
token
|
|
403
|
-
regex
|
|
450
|
+
token: "text",
|
|
451
|
+
regex: "\\s+"
|
|
404
452
|
}, {
|
|
405
|
-
token
|
|
453
|
+
token: [
|
|
406
454
|
"storage.type", "punctuation.operator", "entity.name.function", "text",
|
|
407
455
|
"keyword.operator", "text",
|
|
408
456
|
"storage.type", "text", "entity.name.function", "text", "paren.lparen"
|
|
409
457
|
],
|
|
410
|
-
regex
|
|
458
|
+
regex: "(" + identifierRe + ")(\\.)(" + identifierRe + ")(\\s*)(=)(\\s*)(function\\*?)(?:(\\s+)(\\w+))?(\\s*)(\\()",
|
|
411
459
|
next: "function_arguments"
|
|
412
460
|
}, {
|
|
413
|
-
token
|
|
414
|
-
regex
|
|
461
|
+
token: "punctuation.operator",
|
|
462
|
+
regex: /[.](?![.])/
|
|
415
463
|
}, {
|
|
416
|
-
token
|
|
417
|
-
regex
|
|
464
|
+
token: "support.function",
|
|
465
|
+
regex: /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
|
|
418
466
|
}, {
|
|
419
|
-
token
|
|
420
|
-
regex
|
|
467
|
+
token: "support.function.dom",
|
|
468
|
+
regex: /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
|
|
421
469
|
}, {
|
|
422
|
-
token
|
|
423
|
-
regex
|
|
470
|
+
token: "support.constant",
|
|
471
|
+
regex: /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
|
|
424
472
|
}, {
|
|
425
|
-
token
|
|
426
|
-
regex
|
|
473
|
+
token: "identifier",
|
|
474
|
+
regex: identifierRe
|
|
427
475
|
}, {
|
|
428
476
|
regex: "",
|
|
429
477
|
token: "empty",
|
|
@@ -438,9 +486,9 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
438
486
|
regex: "\\/",
|
|
439
487
|
next: "regex"
|
|
440
488
|
}, {
|
|
441
|
-
token
|
|
442
|
-
regex
|
|
443
|
-
next
|
|
489
|
+
token: "text",
|
|
490
|
+
regex: "\\s+|^$",
|
|
491
|
+
next: "start"
|
|
444
492
|
}, {
|
|
445
493
|
token: "empty",
|
|
446
494
|
regex: "",
|
|
@@ -456,13 +504,13 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
456
504
|
regex: "/[sxngimy]*",
|
|
457
505
|
next: "no_regex"
|
|
458
506
|
}, {
|
|
459
|
-
token
|
|
507
|
+
token: "invalid",
|
|
460
508
|
regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
|
|
461
509
|
}, {
|
|
462
|
-
token
|
|
510
|
+
token: "constant.language.escape",
|
|
463
511
|
regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
|
|
464
512
|
}, {
|
|
465
|
-
token
|
|
513
|
+
token: "constant.language.delimiter",
|
|
466
514
|
regex: /\|/
|
|
467
515
|
}, {
|
|
468
516
|
token: "constant.language.escape",
|
|
@@ -495,13 +543,67 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
495
543
|
defaultToken: "string.regexp.charachterclass"
|
|
496
544
|
}
|
|
497
545
|
],
|
|
546
|
+
"default_parameter": [
|
|
547
|
+
{
|
|
548
|
+
token: "string",
|
|
549
|
+
regex: "'(?=.)",
|
|
550
|
+
push: [
|
|
551
|
+
{
|
|
552
|
+
token: "string",
|
|
553
|
+
regex: "'|$",
|
|
554
|
+
next: "pop"
|
|
555
|
+
}, {
|
|
556
|
+
include: "qstring"
|
|
557
|
+
}
|
|
558
|
+
]
|
|
559
|
+
}, {
|
|
560
|
+
token: "string",
|
|
561
|
+
regex: '"(?=.)',
|
|
562
|
+
push: [
|
|
563
|
+
{
|
|
564
|
+
token: "string",
|
|
565
|
+
regex: '"|$',
|
|
566
|
+
next: "pop"
|
|
567
|
+
}, {
|
|
568
|
+
include: "qqstring"
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
}, {
|
|
572
|
+
token: "constant.language",
|
|
573
|
+
regex: "null|Infinity|NaN|undefined"
|
|
574
|
+
}, {
|
|
575
|
+
token: "constant.numeric",
|
|
576
|
+
regex: /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
|
|
577
|
+
}, {
|
|
578
|
+
token: "constant.numeric",
|
|
579
|
+
regex: /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
|
|
580
|
+
}, {
|
|
581
|
+
token: "punctuation.operator",
|
|
582
|
+
regex: ",",
|
|
583
|
+
next: "function_arguments"
|
|
584
|
+
}, {
|
|
585
|
+
token: "text",
|
|
586
|
+
regex: "\\s+"
|
|
587
|
+
}, {
|
|
588
|
+
token: "punctuation.operator",
|
|
589
|
+
regex: "$"
|
|
590
|
+
}, {
|
|
591
|
+
token: "empty",
|
|
592
|
+
regex: "",
|
|
593
|
+
next: "no_regex"
|
|
594
|
+
}
|
|
595
|
+
],
|
|
498
596
|
"function_arguments": [
|
|
597
|
+
comments("function_arguments"),
|
|
499
598
|
{
|
|
500
599
|
token: "variable.parameter",
|
|
501
600
|
regex: identifierRe
|
|
502
601
|
}, {
|
|
503
602
|
token: "punctuation.operator",
|
|
504
|
-
regex: "
|
|
603
|
+
regex: ","
|
|
604
|
+
}, {
|
|
605
|
+
token: "text",
|
|
606
|
+
regex: "\\s+"
|
|
505
607
|
}, {
|
|
506
608
|
token: "punctuation.operator",
|
|
507
609
|
regex: "$"
|
|
@@ -511,44 +613,42 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
511
613
|
next: "no_regex"
|
|
512
614
|
}
|
|
513
615
|
],
|
|
514
|
-
"qqstring"
|
|
616
|
+
"qqstring": [
|
|
515
617
|
{
|
|
516
|
-
token
|
|
517
|
-
regex
|
|
618
|
+
token: "constant.language.escape",
|
|
619
|
+
regex: escapedRe
|
|
518
620
|
}, {
|
|
519
|
-
token
|
|
520
|
-
regex
|
|
521
|
-
consumeLineEnd
|
|
621
|
+
token: "string",
|
|
622
|
+
regex: "\\\\$",
|
|
623
|
+
consumeLineEnd: true
|
|
522
624
|
}, {
|
|
523
|
-
token
|
|
524
|
-
regex
|
|
525
|
-
next
|
|
625
|
+
token: "string",
|
|
626
|
+
regex: '"|$',
|
|
627
|
+
next: "no_regex"
|
|
526
628
|
}, {
|
|
527
629
|
defaultToken: "string"
|
|
528
630
|
}
|
|
529
631
|
],
|
|
530
|
-
"qstring"
|
|
632
|
+
"qstring": [
|
|
531
633
|
{
|
|
532
|
-
token
|
|
533
|
-
regex
|
|
634
|
+
token: "constant.language.escape",
|
|
635
|
+
regex: escapedRe
|
|
534
636
|
}, {
|
|
535
|
-
token
|
|
536
|
-
regex
|
|
537
|
-
consumeLineEnd
|
|
637
|
+
token: "string",
|
|
638
|
+
regex: "\\\\$",
|
|
639
|
+
consumeLineEnd: true
|
|
538
640
|
}, {
|
|
539
|
-
token
|
|
540
|
-
regex
|
|
541
|
-
next
|
|
641
|
+
token: "string",
|
|
642
|
+
regex: "'|$",
|
|
643
|
+
next: "no_regex"
|
|
542
644
|
}, {
|
|
543
645
|
defaultToken: "string"
|
|
544
646
|
}
|
|
545
647
|
]
|
|
546
648
|
};
|
|
547
|
-
|
|
548
|
-
|
|
549
649
|
if (!options || !options.noES6) {
|
|
550
650
|
this.$rules.no_regex.unshift({
|
|
551
|
-
regex: "[{}]", onMatch: function(val, state, stack) {
|
|
651
|
+
regex: "[{}]", onMatch: function (val, state, stack) {
|
|
552
652
|
this.next = val == "{" ? this.nextState : "";
|
|
553
653
|
if (val == "{" && stack.length) {
|
|
554
654
|
stack.unshift("start", state);
|
|
@@ -563,40 +663,60 @@ var JavaScriptHighlightRules = function(options) {
|
|
|
563
663
|
},
|
|
564
664
|
nextState: "start"
|
|
565
665
|
}, {
|
|
566
|
-
token
|
|
567
|
-
regex
|
|
568
|
-
push
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
666
|
+
token: "string.quasi.start",
|
|
667
|
+
regex: /`/,
|
|
668
|
+
push: [{
|
|
669
|
+
token: "constant.language.escape",
|
|
670
|
+
regex: escapedRe
|
|
671
|
+
}, {
|
|
672
|
+
token: "paren.quasi.start",
|
|
673
|
+
regex: /\${/,
|
|
674
|
+
push: "start"
|
|
675
|
+
}, {
|
|
676
|
+
token: "string.quasi.end",
|
|
677
|
+
regex: /`/,
|
|
678
|
+
next: "pop"
|
|
679
|
+
}, {
|
|
680
|
+
defaultToken: "string.quasi"
|
|
681
|
+
}]
|
|
682
|
+
}, {
|
|
683
|
+
token: ["variable.parameter", "text"],
|
|
684
|
+
regex: "(" + identifierRe + ")(\\s*)(?=\\=>)"
|
|
685
|
+
}, {
|
|
686
|
+
token: "paren.lparen",
|
|
687
|
+
regex: "(\\()(?=.+\\s*=>)",
|
|
688
|
+
next: "function_arguments"
|
|
689
|
+
}, {
|
|
690
|
+
token: "variable.language",
|
|
691
|
+
regex: "(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"
|
|
692
|
+
});
|
|
693
|
+
this.$rules["function_arguments"].unshift({
|
|
694
|
+
token: "keyword.operator",
|
|
695
|
+
regex: "=",
|
|
696
|
+
next: "default_parameter"
|
|
697
|
+
}, {
|
|
698
|
+
token: "keyword.operator",
|
|
699
|
+
regex: "\\.{3}"
|
|
700
|
+
});
|
|
701
|
+
this.$rules["property"].unshift({
|
|
702
|
+
token: "support.function",
|
|
703
|
+
regex: "(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|"
|
|
704
|
+
+ "finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"
|
|
705
|
+
}, {
|
|
706
|
+
token: "constant.language",
|
|
707
|
+
regex: "(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"
|
|
582
708
|
});
|
|
583
|
-
|
|
584
709
|
if (!options || options.jsx != false)
|
|
585
710
|
JSX.call(this);
|
|
586
711
|
}
|
|
587
|
-
|
|
588
|
-
this.embedRules(DocCommentHighlightRules, "doc-",
|
|
589
|
-
[ DocCommentHighlightRules.getEndRule("no_regex") ]);
|
|
590
|
-
|
|
712
|
+
this.embedRules(DocCommentHighlightRules, "doc-", [DocCommentHighlightRules.getEndRule("no_regex")]);
|
|
591
713
|
this.normalizeRules();
|
|
592
714
|
};
|
|
593
|
-
|
|
594
715
|
oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
|
|
595
|
-
|
|
596
716
|
function JSX() {
|
|
597
717
|
var tagRegex = identifierRe.replace("\\d", "\\d\\-");
|
|
598
718
|
var jsxTag = {
|
|
599
|
-
onMatch
|
|
719
|
+
onMatch: function (val, state, stack) {
|
|
600
720
|
var offset = val.charAt(1) == "/" ? 2 : 1;
|
|
601
721
|
if (offset == 1) {
|
|
602
722
|
if (state != this.nextState)
|
|
@@ -604,7 +724,8 @@ function JSX() {
|
|
|
604
724
|
else
|
|
605
725
|
stack.unshift(this.next);
|
|
606
726
|
stack[2]++;
|
|
607
|
-
}
|
|
727
|
+
}
|
|
728
|
+
else if (offset == 2) {
|
|
608
729
|
if (state == this.nextState) {
|
|
609
730
|
stack[1]--;
|
|
610
731
|
if (!stack[1] || stack[1] < 0) {
|
|
@@ -614,14 +735,14 @@ function JSX() {
|
|
|
614
735
|
}
|
|
615
736
|
}
|
|
616
737
|
return [{
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
738
|
+
type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
|
|
739
|
+
value: val.slice(0, offset)
|
|
740
|
+
}, {
|
|
741
|
+
type: "meta.tag.tag-name.xml",
|
|
742
|
+
value: val.substr(offset)
|
|
743
|
+
}];
|
|
623
744
|
},
|
|
624
|
-
regex
|
|
745
|
+
regex: "</?" + tagRegex + "",
|
|
625
746
|
next: "jsxAttributes",
|
|
626
747
|
nextState: "jsx"
|
|
627
748
|
};
|
|
@@ -634,497 +755,431 @@ function JSX() {
|
|
|
634
755
|
this.$rules.jsx = [
|
|
635
756
|
jsxJsRule,
|
|
636
757
|
jsxTag,
|
|
637
|
-
{include
|
|
638
|
-
{defaultToken: "string"}
|
|
758
|
+
{ include: "reference" },
|
|
759
|
+
{ defaultToken: "string" }
|
|
639
760
|
];
|
|
640
761
|
this.$rules.jsxAttributes = [{
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
762
|
+
token: "meta.tag.punctuation.tag-close.xml",
|
|
763
|
+
regex: "/?>",
|
|
764
|
+
onMatch: function (value, currentState, stack) {
|
|
765
|
+
if (currentState == stack[0])
|
|
766
|
+
stack.shift();
|
|
767
|
+
if (value.length == 2) {
|
|
768
|
+
if (stack[0] == this.nextState)
|
|
769
|
+
stack[1]--;
|
|
770
|
+
if (!stack[1] || stack[1] < 0) {
|
|
771
|
+
stack.splice(0, 2);
|
|
772
|
+
}
|
|
651
773
|
}
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
774
|
+
this.next = stack[0] || "start";
|
|
775
|
+
return [{ type: this.token, value: value }];
|
|
776
|
+
},
|
|
777
|
+
nextState: "jsx"
|
|
655
778
|
},
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
},
|
|
688
|
-
jsxTag
|
|
779
|
+
jsxJsRule,
|
|
780
|
+
comments("jsxAttributes"),
|
|
781
|
+
{
|
|
782
|
+
token: "entity.other.attribute-name.xml",
|
|
783
|
+
regex: tagRegex
|
|
784
|
+
}, {
|
|
785
|
+
token: "keyword.operator.attribute-equals.xml",
|
|
786
|
+
regex: "="
|
|
787
|
+
}, {
|
|
788
|
+
token: "text.tag-whitespace.xml",
|
|
789
|
+
regex: "\\s+"
|
|
790
|
+
}, {
|
|
791
|
+
token: "string.attribute-value.xml",
|
|
792
|
+
regex: "'",
|
|
793
|
+
stateName: "jsx_attr_q",
|
|
794
|
+
push: [
|
|
795
|
+
{ token: "string.attribute-value.xml", regex: "'", next: "pop" },
|
|
796
|
+
{ include: "reference" },
|
|
797
|
+
{ defaultToken: "string.attribute-value.xml" }
|
|
798
|
+
]
|
|
799
|
+
}, {
|
|
800
|
+
token: "string.attribute-value.xml",
|
|
801
|
+
regex: '"',
|
|
802
|
+
stateName: "jsx_attr_qq",
|
|
803
|
+
push: [
|
|
804
|
+
{ token: "string.attribute-value.xml", regex: '"', next: "pop" },
|
|
805
|
+
{ include: "reference" },
|
|
806
|
+
{ defaultToken: "string.attribute-value.xml" }
|
|
807
|
+
]
|
|
808
|
+
},
|
|
809
|
+
jsxTag
|
|
689
810
|
];
|
|
690
811
|
this.$rules.reference = [{
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
812
|
+
token: "constant.language.escape.reference.xml",
|
|
813
|
+
regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
|
814
|
+
}];
|
|
694
815
|
}
|
|
695
|
-
|
|
696
816
|
function comments(next) {
|
|
697
817
|
return [
|
|
698
818
|
{
|
|
699
|
-
token
|
|
700
|
-
regex
|
|
819
|
+
token: "comment",
|
|
820
|
+
regex: /\/\*/,
|
|
701
821
|
next: [
|
|
702
822
|
DocCommentHighlightRules.getTagRule(),
|
|
703
|
-
{token
|
|
704
|
-
{defaultToken
|
|
823
|
+
{ token: "comment", regex: "\\*\\/", next: next || "pop" },
|
|
824
|
+
{ defaultToken: "comment", caseInsensitive: true }
|
|
705
825
|
]
|
|
706
826
|
}, {
|
|
707
|
-
token
|
|
708
|
-
regex
|
|
827
|
+
token: "comment",
|
|
828
|
+
regex: "\\/\\/",
|
|
709
829
|
next: [
|
|
710
830
|
DocCommentHighlightRules.getTagRule(),
|
|
711
|
-
{token
|
|
712
|
-
{defaultToken
|
|
831
|
+
{ token: "comment", regex: "$|^", next: next || "pop" },
|
|
832
|
+
{ defaultToken: "comment", caseInsensitive: true }
|
|
713
833
|
]
|
|
714
834
|
}
|
|
715
835
|
];
|
|
716
836
|
}
|
|
717
837
|
exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
|
|
718
|
-
});
|
|
719
838
|
|
|
720
|
-
|
|
721
|
-
"use strict";
|
|
839
|
+
});
|
|
722
840
|
|
|
841
|
+
ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
|
|
723
842
|
var oop = require("../lib/oop");
|
|
724
843
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
725
|
-
|
|
726
|
-
var XmlHighlightRules = function(normalize) {
|
|
844
|
+
var XmlHighlightRules = function (normalize) {
|
|
727
845
|
var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";
|
|
728
|
-
|
|
729
846
|
this.$rules = {
|
|
730
|
-
start
|
|
731
|
-
{token
|
|
847
|
+
start: [
|
|
848
|
+
{ token: "string.cdata.xml", regex: "<\\!\\[CDATA\\[", next: "cdata" },
|
|
732
849
|
{
|
|
733
|
-
token
|
|
734
|
-
regex
|
|
850
|
+
token: ["punctuation.instruction.xml", "keyword.instruction.xml"],
|
|
851
|
+
regex: "(<\\?)(" + tagRegex + ")", next: "processing_instruction"
|
|
735
852
|
},
|
|
736
|
-
{token
|
|
853
|
+
{ token: "comment.start.xml", regex: "<\\!--", next: "comment" },
|
|
737
854
|
{
|
|
738
|
-
token
|
|
739
|
-
regex
|
|
855
|
+
token: ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
|
|
856
|
+
regex: "(<\\!)(DOCTYPE)(?=[\\s])", next: "doctype", caseInsensitive: true
|
|
740
857
|
},
|
|
741
|
-
{include
|
|
742
|
-
{token
|
|
743
|
-
{token
|
|
744
|
-
{include
|
|
745
|
-
{defaultToken
|
|
858
|
+
{ include: "tag" },
|
|
859
|
+
{ token: "text.end-tag-open.xml", regex: "</" },
|
|
860
|
+
{ token: "text.tag-open.xml", regex: "<" },
|
|
861
|
+
{ include: "reference" },
|
|
862
|
+
{ defaultToken: "text.xml" }
|
|
746
863
|
],
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
{
|
|
766
|
-
{
|
|
767
|
-
{token
|
|
768
|
-
{token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
|
|
769
|
-
{token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
|
|
864
|
+
processing_instruction: [{
|
|
865
|
+
token: "entity.other.attribute-name.decl-attribute-name.xml",
|
|
866
|
+
regex: tagRegex
|
|
867
|
+
}, {
|
|
868
|
+
token: "keyword.operator.decl-attribute-equals.xml",
|
|
869
|
+
regex: "="
|
|
870
|
+
}, {
|
|
871
|
+
include: "whitespace"
|
|
872
|
+
}, {
|
|
873
|
+
include: "string"
|
|
874
|
+
}, {
|
|
875
|
+
token: "punctuation.xml-decl.xml",
|
|
876
|
+
regex: "\\?>",
|
|
877
|
+
next: "start"
|
|
878
|
+
}],
|
|
879
|
+
doctype: [
|
|
880
|
+
{ include: "whitespace" },
|
|
881
|
+
{ include: "string" },
|
|
882
|
+
{ token: "xml-pe.doctype.xml", regex: ">", next: "start" },
|
|
883
|
+
{ token: "xml-pe.xml", regex: "[-_a-zA-Z0-9:]+" },
|
|
884
|
+
{ token: "punctuation.int-subset", regex: "\\[", push: "int_subset" }
|
|
770
885
|
],
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
{token
|
|
796
|
-
{token : "text.xml", regex : "\\s+"},
|
|
797
|
-
{token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
|
|
886
|
+
int_subset: [{
|
|
887
|
+
token: "text.xml",
|
|
888
|
+
regex: "\\s+"
|
|
889
|
+
}, {
|
|
890
|
+
token: "punctuation.int-subset.xml",
|
|
891
|
+
regex: "]",
|
|
892
|
+
next: "pop"
|
|
893
|
+
}, {
|
|
894
|
+
token: ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
|
|
895
|
+
regex: "(<\\!)(" + tagRegex + ")",
|
|
896
|
+
push: [{
|
|
897
|
+
token: "text",
|
|
898
|
+
regex: "\\s+"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
token: "punctuation.markup-decl.xml",
|
|
902
|
+
regex: ">",
|
|
903
|
+
next: "pop"
|
|
904
|
+
},
|
|
905
|
+
{ include: "string" }]
|
|
906
|
+
}],
|
|
907
|
+
cdata: [
|
|
908
|
+
{ token: "string.cdata.xml", regex: "\\]\\]>", next: "start" },
|
|
909
|
+
{ token: "text.xml", regex: "\\s+" },
|
|
910
|
+
{ token: "text.xml", regex: "(?:[^\\]]|\\](?!\\]>))+" }
|
|
798
911
|
],
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
{
|
|
802
|
-
{defaultToken : "comment.xml"}
|
|
912
|
+
comment: [
|
|
913
|
+
{ token: "comment.end.xml", regex: "-->", next: "start" },
|
|
914
|
+
{ defaultToken: "comment.xml" }
|
|
803
915
|
],
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
}],
|
|
823
|
-
|
|
824
|
-
tag_whitespace : [
|
|
825
|
-
{token : "text.tag-whitespace.xml", regex : "\\s+"}
|
|
916
|
+
reference: [{
|
|
917
|
+
token: "constant.language.escape.reference.xml",
|
|
918
|
+
regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
|
919
|
+
}],
|
|
920
|
+
attr_reference: [{
|
|
921
|
+
token: "constant.language.escape.reference.attribute-value.xml",
|
|
922
|
+
regex: "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
|
|
923
|
+
}],
|
|
924
|
+
tag: [{
|
|
925
|
+
token: ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
|
|
926
|
+
regex: "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
|
|
927
|
+
next: [
|
|
928
|
+
{ include: "attributes" },
|
|
929
|
+
{ token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
|
|
930
|
+
]
|
|
931
|
+
}],
|
|
932
|
+
tag_whitespace: [
|
|
933
|
+
{ token: "text.tag-whitespace.xml", regex: "\\s+" }
|
|
826
934
|
],
|
|
827
|
-
whitespace
|
|
828
|
-
{token
|
|
935
|
+
whitespace: [
|
|
936
|
+
{ token: "text.whitespace.xml", regex: "\\s+" }
|
|
829
937
|
],
|
|
830
938
|
string: [{
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
939
|
+
token: "string.xml",
|
|
940
|
+
regex: "'",
|
|
941
|
+
push: [
|
|
942
|
+
{ token: "string.xml", regex: "'", next: "pop" },
|
|
943
|
+
{ defaultToken: "string.xml" }
|
|
944
|
+
]
|
|
945
|
+
}, {
|
|
946
|
+
token: "string.xml",
|
|
947
|
+
regex: '"',
|
|
948
|
+
push: [
|
|
949
|
+
{ token: "string.xml", regex: '"', next: "pop" },
|
|
950
|
+
{ defaultToken: "string.xml" }
|
|
951
|
+
]
|
|
952
|
+
}],
|
|
846
953
|
attributes: [{
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
954
|
+
token: "entity.other.attribute-name.xml",
|
|
955
|
+
regex: tagRegex
|
|
956
|
+
}, {
|
|
957
|
+
token: "keyword.operator.attribute-equals.xml",
|
|
958
|
+
regex: "="
|
|
959
|
+
}, {
|
|
960
|
+
include: "tag_whitespace"
|
|
961
|
+
}, {
|
|
962
|
+
include: "attribute_value"
|
|
963
|
+
}],
|
|
858
964
|
attribute_value: [{
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
965
|
+
token: "string.attribute-value.xml",
|
|
966
|
+
regex: "'",
|
|
967
|
+
push: [
|
|
968
|
+
{ token: "string.attribute-value.xml", regex: "'", next: "pop" },
|
|
969
|
+
{ include: "attr_reference" },
|
|
970
|
+
{ defaultToken: "string.attribute-value.xml" }
|
|
971
|
+
]
|
|
972
|
+
}, {
|
|
973
|
+
token: "string.attribute-value.xml",
|
|
974
|
+
regex: '"',
|
|
975
|
+
push: [
|
|
976
|
+
{ token: "string.attribute-value.xml", regex: '"', next: "pop" },
|
|
977
|
+
{ include: "attr_reference" },
|
|
978
|
+
{ defaultToken: "string.attribute-value.xml" }
|
|
979
|
+
]
|
|
980
|
+
}]
|
|
875
981
|
};
|
|
876
|
-
|
|
877
982
|
if (this.constructor === XmlHighlightRules)
|
|
878
983
|
this.normalizeRules();
|
|
879
984
|
};
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
(function() {
|
|
883
|
-
|
|
884
|
-
this.embedTagRules = function(HighlightRules, prefix, tag){
|
|
985
|
+
(function () {
|
|
986
|
+
this.embedTagRules = function (HighlightRules, prefix, tag) {
|
|
885
987
|
this.$rules.tag.unshift({
|
|
886
|
-
token
|
|
887
|
-
regex
|
|
988
|
+
token: ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
|
|
989
|
+
regex: "(<)(" + tag + "(?=\\s|>|$))",
|
|
888
990
|
next: [
|
|
889
|
-
{include
|
|
890
|
-
{token
|
|
991
|
+
{ include: "attributes" },
|
|
992
|
+
{ token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: prefix + "start" }
|
|
891
993
|
]
|
|
892
994
|
});
|
|
893
|
-
|
|
894
995
|
this.$rules[tag + "-end"] = [
|
|
895
|
-
{include
|
|
896
|
-
{token
|
|
897
|
-
onMatch
|
|
996
|
+
{ include: "attributes" },
|
|
997
|
+
{ token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start",
|
|
998
|
+
onMatch: function (value, currentState, stack) {
|
|
898
999
|
stack.splice(0);
|
|
899
1000
|
return this.token;
|
|
900
|
-
|
|
1001
|
+
} }
|
|
901
1002
|
];
|
|
902
|
-
|
|
903
1003
|
this.embedRules(HighlightRules, prefix, [{
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
1004
|
+
token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
|
|
1005
|
+
regex: "(</)(" + tag + "(?=\\s|>|$))",
|
|
1006
|
+
next: tag + "-end"
|
|
1007
|
+
}, {
|
|
1008
|
+
token: "string.cdata.xml",
|
|
1009
|
+
regex: "<\\!\\[CDATA\\["
|
|
1010
|
+
}, {
|
|
1011
|
+
token: "string.cdata.xml",
|
|
1012
|
+
regex: "\\]\\]>"
|
|
1013
|
+
}]);
|
|
914
1014
|
};
|
|
915
|
-
|
|
916
1015
|
}).call(TextHighlightRules.prototype);
|
|
917
|
-
|
|
918
1016
|
oop.inherits(XmlHighlightRules, TextHighlightRules);
|
|
919
|
-
|
|
920
1017
|
exports.XmlHighlightRules = XmlHighlightRules;
|
|
921
|
-
});
|
|
922
1018
|
|
|
923
|
-
|
|
924
|
-
"use strict";
|
|
1019
|
+
});
|
|
925
1020
|
|
|
1021
|
+
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){"use strict";
|
|
926
1022
|
var oop = require("../lib/oop");
|
|
927
1023
|
var lang = require("../lib/lang");
|
|
928
1024
|
var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
|
|
929
1025
|
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
|
930
1026
|
var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
|
|
931
|
-
|
|
932
1027
|
var tagMap = lang.createMap({
|
|
933
|
-
a
|
|
934
|
-
button
|
|
935
|
-
form
|
|
936
|
-
img
|
|
937
|
-
input
|
|
938
|
-
label
|
|
939
|
-
option
|
|
940
|
-
script
|
|
941
|
-
select
|
|
942
|
-
textarea
|
|
943
|
-
style
|
|
944
|
-
table
|
|
945
|
-
tbody
|
|
946
|
-
td
|
|
947
|
-
tfoot
|
|
948
|
-
th
|
|
949
|
-
tr
|
|
1028
|
+
a: 'anchor',
|
|
1029
|
+
button: 'form',
|
|
1030
|
+
form: 'form',
|
|
1031
|
+
img: 'image',
|
|
1032
|
+
input: 'form',
|
|
1033
|
+
label: 'form',
|
|
1034
|
+
option: 'form',
|
|
1035
|
+
script: 'script',
|
|
1036
|
+
select: 'form',
|
|
1037
|
+
textarea: 'form',
|
|
1038
|
+
style: 'style',
|
|
1039
|
+
table: 'table',
|
|
1040
|
+
tbody: 'table',
|
|
1041
|
+
td: 'table',
|
|
1042
|
+
tfoot: 'table',
|
|
1043
|
+
th: 'table',
|
|
1044
|
+
tr: 'table'
|
|
950
1045
|
});
|
|
951
|
-
|
|
952
|
-
var HtmlHighlightRules = function() {
|
|
1046
|
+
var HtmlHighlightRules = function () {
|
|
953
1047
|
XmlHighlightRules.call(this);
|
|
954
|
-
|
|
955
1048
|
this.addRules({
|
|
956
1049
|
attributes: [{
|
|
957
|
-
include : "tag_whitespace"
|
|
958
|
-
}, {
|
|
959
|
-
token : "entity.other.attribute-name.xml",
|
|
960
|
-
regex : "[-_a-zA-Z0-9:.]+"
|
|
961
|
-
}, {
|
|
962
|
-
token : "keyword.operator.attribute-equals.xml",
|
|
963
|
-
regex : "=",
|
|
964
|
-
push : [{
|
|
965
1050
|
include: "tag_whitespace"
|
|
966
1051
|
}, {
|
|
967
|
-
token
|
|
968
|
-
regex
|
|
969
|
-
next : "pop"
|
|
1052
|
+
token: "entity.other.attribute-name.xml",
|
|
1053
|
+
regex: "[-_a-zA-Z0-9:.]+"
|
|
970
1054
|
}, {
|
|
971
|
-
token
|
|
972
|
-
regex
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
1055
|
+
token: "keyword.operator.attribute-equals.xml",
|
|
1056
|
+
regex: "=",
|
|
1057
|
+
push: [{
|
|
1058
|
+
include: "tag_whitespace"
|
|
1059
|
+
}, {
|
|
1060
|
+
token: "string.unquoted.attribute-value.html",
|
|
1061
|
+
regex: "[^<>='\"`\\s]+",
|
|
1062
|
+
next: "pop"
|
|
1063
|
+
}, {
|
|
1064
|
+
token: "empty",
|
|
1065
|
+
regex: "",
|
|
1066
|
+
next: "pop"
|
|
1067
|
+
}]
|
|
1068
|
+
}, {
|
|
1069
|
+
include: "attribute_value"
|
|
1070
|
+
}],
|
|
978
1071
|
tag: [{
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
1072
|
+
token: function (start, tag) {
|
|
1073
|
+
var group = tagMap[tag];
|
|
1074
|
+
return ["meta.tag.punctuation." + (start == "<" ? "" : "end-") + "tag-open.xml",
|
|
1075
|
+
"meta.tag" + (group ? "." + group : "") + ".tag-name.xml"];
|
|
1076
|
+
},
|
|
1077
|
+
regex: "(</?)([-_a-zA-Z0-9:.]+)",
|
|
1078
|
+
next: "tag_stuff"
|
|
1079
|
+
}],
|
|
987
1080
|
tag_stuff: [
|
|
988
|
-
{include
|
|
989
|
-
{token
|
|
1081
|
+
{ include: "attributes" },
|
|
1082
|
+
{ token: "meta.tag.punctuation.tag-close.xml", regex: "/?>", next: "start" }
|
|
990
1083
|
]
|
|
991
1084
|
});
|
|
992
|
-
|
|
993
1085
|
this.embedTagRules(CssHighlightRules, "css-", "style");
|
|
994
|
-
this.embedTagRules(new JavaScriptHighlightRules({jsx: false}).getRules(), "js-", "script");
|
|
995
|
-
|
|
1086
|
+
this.embedTagRules(new JavaScriptHighlightRules({ jsx: false }).getRules(), "js-", "script");
|
|
996
1087
|
if (this.constructor === HtmlHighlightRules)
|
|
997
1088
|
this.normalizeRules();
|
|
998
1089
|
};
|
|
999
|
-
|
|
1000
1090
|
oop.inherits(HtmlHighlightRules, XmlHighlightRules);
|
|
1001
|
-
|
|
1002
1091
|
exports.HtmlHighlightRules = HtmlHighlightRules;
|
|
1003
|
-
});
|
|
1004
1092
|
|
|
1005
|
-
|
|
1006
|
-
"use strict";
|
|
1093
|
+
});
|
|
1007
1094
|
|
|
1095
|
+
ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module){"use strict";
|
|
1008
1096
|
var Range = require("../range").Range;
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
(
|
|
1013
|
-
|
|
1014
|
-
this.checkOutdent = function(line, input) {
|
|
1015
|
-
if (! /^\s+$/.test(line))
|
|
1097
|
+
var MatchingBraceOutdent = function () { };
|
|
1098
|
+
(function () {
|
|
1099
|
+
this.checkOutdent = function (line, input) {
|
|
1100
|
+
if (!/^\s+$/.test(line))
|
|
1016
1101
|
return false;
|
|
1017
|
-
|
|
1018
1102
|
return /^\s*\}/.test(input);
|
|
1019
1103
|
};
|
|
1020
|
-
|
|
1021
|
-
this.autoOutdent = function(doc, row) {
|
|
1104
|
+
this.autoOutdent = function (doc, row) {
|
|
1022
1105
|
var line = doc.getLine(row);
|
|
1023
1106
|
var match = line.match(/^(\s*\})/);
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1107
|
+
if (!match)
|
|
1108
|
+
return 0;
|
|
1027
1109
|
var column = match[1].length;
|
|
1028
|
-
var openBracePos = doc.findMatchingBracket({row: row, column: column});
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1110
|
+
var openBracePos = doc.findMatchingBracket({ row: row, column: column });
|
|
1111
|
+
if (!openBracePos || openBracePos.row == row)
|
|
1112
|
+
return 0;
|
|
1032
1113
|
var indent = this.$getIndent(doc.getLine(openBracePos.row));
|
|
1033
|
-
doc.replace(new Range(row, 0, row, column-1), indent);
|
|
1114
|
+
doc.replace(new Range(row, 0, row, column - 1), indent);
|
|
1034
1115
|
};
|
|
1035
|
-
|
|
1036
|
-
this.$getIndent = function(line) {
|
|
1116
|
+
this.$getIndent = function (line) {
|
|
1037
1117
|
return line.match(/^\s*/)[0];
|
|
1038
1118
|
};
|
|
1039
|
-
|
|
1040
1119
|
}).call(MatchingBraceOutdent.prototype);
|
|
1041
|
-
|
|
1042
1120
|
exports.MatchingBraceOutdent = MatchingBraceOutdent;
|
|
1043
|
-
});
|
|
1044
1121
|
|
|
1045
|
-
|
|
1046
|
-
"use strict";
|
|
1122
|
+
});
|
|
1047
1123
|
|
|
1124
|
+
ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
|
|
1048
1125
|
var oop = require("../../lib/oop");
|
|
1049
1126
|
var Range = require("../../range").Range;
|
|
1050
1127
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
|
1051
|
-
|
|
1052
|
-
var FoldMode = exports.FoldMode = function(commentRegex) {
|
|
1128
|
+
var FoldMode = exports.FoldMode = function (commentRegex) {
|
|
1053
1129
|
if (commentRegex) {
|
|
1054
|
-
this.foldingStartMarker = new RegExp(
|
|
1055
|
-
|
|
1056
|
-
);
|
|
1057
|
-
this.foldingStopMarker = new RegExp(
|
|
1058
|
-
this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
|
|
1059
|
-
);
|
|
1130
|
+
this.foldingStartMarker = new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start));
|
|
1131
|
+
this.foldingStopMarker = new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end));
|
|
1060
1132
|
}
|
|
1061
1133
|
};
|
|
1062
1134
|
oop.inherits(FoldMode, BaseFoldMode);
|
|
1063
|
-
|
|
1064
|
-
(function() {
|
|
1065
|
-
|
|
1135
|
+
(function () {
|
|
1066
1136
|
this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
|
|
1067
1137
|
this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
|
|
1068
|
-
this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
|
|
1138
|
+
this.singleLineBlockCommentRe = /^\s*(\/\*).*\*\/\s*$/;
|
|
1069
1139
|
this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
|
|
1070
1140
|
this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
|
|
1071
1141
|
this._getFoldWidgetBase = this.getFoldWidget;
|
|
1072
|
-
this.getFoldWidget = function(session, foldStyle, row) {
|
|
1142
|
+
this.getFoldWidget = function (session, foldStyle, row) {
|
|
1073
1143
|
var line = session.getLine(row);
|
|
1074
|
-
|
|
1075
1144
|
if (this.singleLineBlockCommentRe.test(line)) {
|
|
1076
1145
|
if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
|
|
1077
1146
|
return "";
|
|
1078
1147
|
}
|
|
1079
|
-
|
|
1080
1148
|
var fw = this._getFoldWidgetBase(session, foldStyle, row);
|
|
1081
|
-
|
|
1082
1149
|
if (!fw && this.startRegionRe.test(line))
|
|
1083
1150
|
return "start"; // lineCommentRegionStart
|
|
1084
|
-
|
|
1085
1151
|
return fw;
|
|
1086
1152
|
};
|
|
1087
|
-
|
|
1088
|
-
this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
|
|
1153
|
+
this.getFoldWidgetRange = function (session, foldStyle, row, forceMultiline) {
|
|
1089
1154
|
var line = session.getLine(row);
|
|
1090
|
-
|
|
1091
1155
|
if (this.startRegionRe.test(line))
|
|
1092
1156
|
return this.getCommentRegionBlock(session, line, row);
|
|
1093
|
-
|
|
1094
1157
|
var match = line.match(this.foldingStartMarker);
|
|
1095
1158
|
if (match) {
|
|
1096
1159
|
var i = match.index;
|
|
1097
|
-
|
|
1098
1160
|
if (match[1])
|
|
1099
1161
|
return this.openingBracketBlock(session, match[1], row, i);
|
|
1100
|
-
|
|
1101
1162
|
var range = session.getCommentFoldRange(row, i + match[0].length, 1);
|
|
1102
|
-
|
|
1103
1163
|
if (range && !range.isMultiLine()) {
|
|
1104
1164
|
if (forceMultiline) {
|
|
1105
1165
|
range = this.getSectionRange(session, row);
|
|
1106
|
-
}
|
|
1166
|
+
}
|
|
1167
|
+
else if (foldStyle != "all")
|
|
1107
1168
|
range = null;
|
|
1108
1169
|
}
|
|
1109
|
-
|
|
1110
1170
|
return range;
|
|
1111
1171
|
}
|
|
1112
|
-
|
|
1113
1172
|
if (foldStyle === "markbegin")
|
|
1114
1173
|
return;
|
|
1115
|
-
|
|
1116
1174
|
var match = line.match(this.foldingStopMarker);
|
|
1117
1175
|
if (match) {
|
|
1118
1176
|
var i = match.index + match[0].length;
|
|
1119
|
-
|
|
1120
1177
|
if (match[1])
|
|
1121
1178
|
return this.closingBracketBlock(session, match[1], row, i);
|
|
1122
|
-
|
|
1123
1179
|
return session.getCommentFoldRange(row, i, -1);
|
|
1124
1180
|
}
|
|
1125
1181
|
};
|
|
1126
|
-
|
|
1127
|
-
this.getSectionRange = function(session, row) {
|
|
1182
|
+
this.getSectionRange = function (session, row) {
|
|
1128
1183
|
var line = session.getLine(row);
|
|
1129
1184
|
var startIndent = line.search(/\S/);
|
|
1130
1185
|
var startRow = row;
|
|
@@ -1137,54 +1192,52 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
1137
1192
|
var indent = line.search(/\S/);
|
|
1138
1193
|
if (indent === -1)
|
|
1139
1194
|
continue;
|
|
1140
|
-
if
|
|
1195
|
+
if (startIndent > indent)
|
|
1141
1196
|
break;
|
|
1142
1197
|
var subRange = this.getFoldWidgetRange(session, "all", row);
|
|
1143
|
-
|
|
1144
1198
|
if (subRange) {
|
|
1145
1199
|
if (subRange.start.row <= startRow) {
|
|
1146
1200
|
break;
|
|
1147
|
-
}
|
|
1201
|
+
}
|
|
1202
|
+
else if (subRange.isMultiLine()) {
|
|
1148
1203
|
row = subRange.end.row;
|
|
1149
|
-
}
|
|
1204
|
+
}
|
|
1205
|
+
else if (startIndent == indent) {
|
|
1150
1206
|
break;
|
|
1151
1207
|
}
|
|
1152
1208
|
}
|
|
1153
1209
|
endRow = row;
|
|
1154
1210
|
}
|
|
1155
|
-
|
|
1156
1211
|
return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
|
|
1157
1212
|
};
|
|
1158
|
-
this.getCommentRegionBlock = function(session, line, row) {
|
|
1213
|
+
this.getCommentRegionBlock = function (session, line, row) {
|
|
1159
1214
|
var startColumn = line.search(/\s*$/);
|
|
1160
1215
|
var maxRow = session.getLength();
|
|
1161
1216
|
var startRow = row;
|
|
1162
|
-
|
|
1163
1217
|
var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
|
|
1164
1218
|
var depth = 1;
|
|
1165
1219
|
while (++row < maxRow) {
|
|
1166
1220
|
line = session.getLine(row);
|
|
1167
1221
|
var m = re.exec(line);
|
|
1168
|
-
if (!m)
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1222
|
+
if (!m)
|
|
1223
|
+
continue;
|
|
1224
|
+
if (m[1])
|
|
1225
|
+
depth--;
|
|
1226
|
+
else
|
|
1227
|
+
depth++;
|
|
1228
|
+
if (!depth)
|
|
1229
|
+
break;
|
|
1173
1230
|
}
|
|
1174
|
-
|
|
1175
1231
|
var endRow = row;
|
|
1176
1232
|
if (endRow > startRow) {
|
|
1177
1233
|
return new Range(startRow, startColumn, endRow, line.length);
|
|
1178
1234
|
}
|
|
1179
1235
|
};
|
|
1180
|
-
|
|
1181
1236
|
}).call(FoldMode.prototype);
|
|
1182
1237
|
|
|
1183
1238
|
});
|
|
1184
1239
|
|
|
1185
|
-
ace.define("ace/mode/javascript",[], function(require, exports, module)
|
|
1186
|
-
"use strict";
|
|
1187
|
-
|
|
1240
|
+
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){"use strict";
|
|
1188
1241
|
var oop = require("../lib/oop");
|
|
1189
1242
|
var TextMode = require("./text").Mode;
|
|
1190
1243
|
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
|
@@ -1192,39 +1245,35 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd
|
|
|
1192
1245
|
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
|
1193
1246
|
var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
|
|
1194
1247
|
var CStyleFoldMode = require("./folding/cstyle").FoldMode;
|
|
1195
|
-
|
|
1196
|
-
var Mode = function() {
|
|
1248
|
+
var Mode = function () {
|
|
1197
1249
|
this.HighlightRules = JavaScriptHighlightRules;
|
|
1198
|
-
|
|
1199
1250
|
this.$outdent = new MatchingBraceOutdent();
|
|
1200
1251
|
this.$behaviour = new CstyleBehaviour();
|
|
1201
1252
|
this.foldingRules = new CStyleFoldMode();
|
|
1202
1253
|
};
|
|
1203
1254
|
oop.inherits(Mode, TextMode);
|
|
1204
|
-
|
|
1205
|
-
(function() {
|
|
1206
|
-
|
|
1255
|
+
(function () {
|
|
1207
1256
|
this.lineCommentStart = "//";
|
|
1208
|
-
this.blockComment = {start: "/*", end: "*/"};
|
|
1209
|
-
this.$quotes = {'"': '"', "'": "'", "`": "`"};
|
|
1210
|
-
|
|
1211
|
-
|
|
1257
|
+
this.blockComment = { start: "/*", end: "*/" };
|
|
1258
|
+
this.$quotes = { '"': '"', "'": "'", "`": "`" };
|
|
1259
|
+
this.$pairQuotesAfter = {
|
|
1260
|
+
"`": /\w/
|
|
1261
|
+
};
|
|
1262
|
+
this.getNextLineIndent = function (state, line, tab) {
|
|
1212
1263
|
var indent = this.$getIndent(line);
|
|
1213
|
-
|
|
1214
1264
|
var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
|
|
1215
1265
|
var tokens = tokenizedLine.tokens;
|
|
1216
1266
|
var endState = tokenizedLine.state;
|
|
1217
|
-
|
|
1218
|
-
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
|
1267
|
+
if (tokens.length && tokens[tokens.length - 1].type == "comment") {
|
|
1219
1268
|
return indent;
|
|
1220
1269
|
}
|
|
1221
|
-
|
|
1222
1270
|
if (state == "start" || state == "no_regex") {
|
|
1223
1271
|
var match = line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);
|
|
1224
1272
|
if (match) {
|
|
1225
1273
|
indent += tab;
|
|
1226
1274
|
}
|
|
1227
|
-
}
|
|
1275
|
+
}
|
|
1276
|
+
else if (state == "doc-start") {
|
|
1228
1277
|
if (endState == "start" || endState == "no_regex") {
|
|
1229
1278
|
return "";
|
|
1230
1279
|
}
|
|
@@ -1236,109 +1285,98 @@ oop.inherits(Mode, TextMode);
|
|
|
1236
1285
|
indent += "* ";
|
|
1237
1286
|
}
|
|
1238
1287
|
}
|
|
1239
|
-
|
|
1240
1288
|
return indent;
|
|
1241
1289
|
};
|
|
1242
|
-
|
|
1243
|
-
this.checkOutdent = function(state, line, input) {
|
|
1290
|
+
this.checkOutdent = function (state, line, input) {
|
|
1244
1291
|
return this.$outdent.checkOutdent(line, input);
|
|
1245
1292
|
};
|
|
1246
|
-
|
|
1247
|
-
this.autoOutdent = function(state, doc, row) {
|
|
1293
|
+
this.autoOutdent = function (state, doc, row) {
|
|
1248
1294
|
this.$outdent.autoOutdent(doc, row);
|
|
1249
1295
|
};
|
|
1250
|
-
|
|
1251
|
-
this.createWorker = function(session) {
|
|
1296
|
+
this.createWorker = function (session) {
|
|
1252
1297
|
var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
|
|
1253
1298
|
worker.attachToDocument(session.getDocument());
|
|
1254
|
-
|
|
1255
|
-
worker.on("annotate", function(results) {
|
|
1299
|
+
worker.on("annotate", function (results) {
|
|
1256
1300
|
session.setAnnotations(results.data);
|
|
1257
1301
|
});
|
|
1258
|
-
|
|
1259
|
-
worker.on("terminate", function() {
|
|
1302
|
+
worker.on("terminate", function () {
|
|
1260
1303
|
session.clearAnnotations();
|
|
1261
1304
|
});
|
|
1262
|
-
|
|
1263
1305
|
return worker;
|
|
1264
1306
|
};
|
|
1265
|
-
|
|
1266
1307
|
this.$id = "ace/mode/javascript";
|
|
1267
1308
|
this.snippetFileId = "ace/snippets/javascript";
|
|
1268
1309
|
}).call(Mode.prototype);
|
|
1269
|
-
|
|
1270
1310
|
exports.Mode = Mode;
|
|
1271
|
-
});
|
|
1272
1311
|
|
|
1273
|
-
|
|
1274
|
-
"use strict";
|
|
1312
|
+
});
|
|
1275
1313
|
|
|
1314
|
+
ace.define("ace/mode/css_completions",["require","exports","module"], function(require, exports, module){"use strict";
|
|
1276
1315
|
var propertyMap = {
|
|
1277
|
-
"background": {"#$0": 1},
|
|
1278
|
-
"background-color": {"#$0": 1, "transparent": 1, "fixed": 1},
|
|
1279
|
-
"background-image": {"url('/$0')": 1},
|
|
1280
|
-
"background-repeat": {"repeat": 1, "repeat-x": 1, "repeat-y": 1, "no-repeat": 1, "inherit": 1},
|
|
1281
|
-
"background-position": {"bottom":2, "center":2, "left":2, "right":2, "top":2, "inherit":2},
|
|
1282
|
-
"background-attachment": {"scroll": 1, "fixed": 1},
|
|
1283
|
-
"background-size": {"cover": 1, "contain": 1},
|
|
1284
|
-
"background-clip": {"border-box": 1, "padding-box": 1, "content-box": 1},
|
|
1285
|
-
"background-origin": {"border-box": 1, "padding-box": 1, "content-box": 1},
|
|
1286
|
-
"border": {"solid $0": 1, "dashed $0": 1, "dotted $0": 1, "#$0": 1},
|
|
1287
|
-
"border-color": {"#$0": 1},
|
|
1288
|
-
"border-style": {"solid":2, "dashed":2, "dotted":2, "double":2, "groove":2, "hidden":2, "inherit":2, "inset":2, "none":2, "outset":2, "ridged":2},
|
|
1289
|
-
"border-collapse": {"collapse": 1, "separate": 1},
|
|
1290
|
-
"bottom": {"px": 1, "em": 1, "%": 1},
|
|
1291
|
-
"clear": {"left": 1, "right": 1, "both": 1, "none": 1},
|
|
1292
|
-
"color": {"#$0": 1, "rgb(#$00,0,0)": 1},
|
|
1293
|
-
"cursor": {"default": 1, "pointer": 1, "move": 1, "text": 1, "wait": 1, "help": 1, "progress": 1, "n-resize": 1, "ne-resize": 1, "e-resize": 1, "se-resize": 1, "s-resize": 1, "sw-resize": 1, "w-resize": 1, "nw-resize": 1},
|
|
1294
|
-
"display": {"none": 1, "block": 1, "inline": 1, "inline-block": 1, "table-cell": 1},
|
|
1295
|
-
"empty-cells": {"show": 1, "hide": 1},
|
|
1296
|
-
"float": {"left": 1, "right": 1, "none": 1},
|
|
1297
|
-
"font-family": {"Arial":2,"Comic Sans MS":2,"Consolas":2,"Courier New":2,"Courier":2,"Georgia":2,"Monospace":2,"Sans-Serif":2, "Segoe UI":2,"Tahoma":2,"Times New Roman":2,"Trebuchet MS":2,"Verdana": 1},
|
|
1298
|
-
"font-size": {"px": 1, "em": 1, "%": 1},
|
|
1299
|
-
"font-weight": {"bold": 1, "normal": 1},
|
|
1300
|
-
"font-style": {"italic": 1, "normal": 1},
|
|
1301
|
-
"font-variant": {"normal": 1, "small-caps": 1},
|
|
1302
|
-
"height": {"px": 1, "em": 1, "%": 1},
|
|
1303
|
-
"left": {"px": 1, "em": 1, "%": 1},
|
|
1304
|
-
"letter-spacing": {"normal": 1},
|
|
1305
|
-
"line-height": {"normal": 1},
|
|
1306
|
-
"list-style-type": {"none": 1, "disc": 1, "circle": 1, "square": 1, "decimal": 1, "decimal-leading-zero": 1, "lower-roman": 1, "upper-roman": 1, "lower-greek": 1, "lower-latin": 1, "upper-latin": 1, "georgian": 1, "lower-alpha": 1, "upper-alpha": 1},
|
|
1307
|
-
"margin": {"px": 1, "em": 1, "%": 1},
|
|
1308
|
-
"margin-right": {"px": 1, "em": 1, "%": 1},
|
|
1309
|
-
"margin-left": {"px": 1, "em": 1, "%": 1},
|
|
1310
|
-
"margin-top": {"px": 1, "em": 1, "%": 1},
|
|
1311
|
-
"margin-bottom": {"px": 1, "em": 1, "%": 1},
|
|
1312
|
-
"max-height": {"px": 1, "em": 1, "%": 1},
|
|
1313
|
-
"max-width": {"px": 1, "em": 1, "%": 1},
|
|
1314
|
-
"min-height": {"px": 1, "em": 1, "%": 1},
|
|
1315
|
-
"min-width": {"px": 1, "em": 1, "%": 1},
|
|
1316
|
-
"overflow": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},
|
|
1317
|
-
"overflow-x": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},
|
|
1318
|
-
"overflow-y": {"hidden": 1, "visible": 1, "auto": 1, "scroll": 1},
|
|
1319
|
-
"padding": {"px": 1, "em": 1, "%": 1},
|
|
1320
|
-
"padding-top": {"px": 1, "em": 1, "%": 1},
|
|
1321
|
-
"padding-right": {"px": 1, "em": 1, "%": 1},
|
|
1322
|
-
"padding-bottom": {"px": 1, "em": 1, "%": 1},
|
|
1323
|
-
"padding-left": {"px": 1, "em": 1, "%": 1},
|
|
1324
|
-
"page-break-after": {"auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1},
|
|
1325
|
-
"page-break-before": {"auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1},
|
|
1326
|
-
"position": {"absolute": 1, "relative": 1, "fixed": 1, "static": 1},
|
|
1327
|
-
"right": {"px": 1, "em": 1, "%": 1},
|
|
1328
|
-
"table-layout": {"fixed": 1, "auto": 1},
|
|
1329
|
-
"text-decoration": {"none": 1, "underline": 1, "line-through": 1, "blink": 1},
|
|
1330
|
-
"text-align": {"left": 1, "right": 1, "center": 1, "justify": 1},
|
|
1331
|
-
"text-transform": {"capitalize": 1, "uppercase": 1, "lowercase": 1, "none": 1},
|
|
1332
|
-
"top": {"px": 1, "em": 1, "%": 1},
|
|
1333
|
-
"vertical-align": {"top": 1, "bottom": 1},
|
|
1334
|
-
"visibility": {"hidden": 1, "visible": 1},
|
|
1335
|
-
"white-space": {"nowrap": 1, "normal": 1, "pre": 1, "pre-line": 1, "pre-wrap": 1},
|
|
1336
|
-
"width": {"px": 1, "em": 1, "%": 1},
|
|
1337
|
-
"word-spacing": {"normal": 1},
|
|
1338
|
-
"filter": {"alpha(opacity=$0100)": 1},
|
|
1339
|
-
|
|
1340
|
-
"text-
|
|
1341
|
-
"text-overflow": {"ellipsis-word": 1, "clip": 1, "ellipsis": 1},
|
|
1316
|
+
"background": { "#$0": 1 },
|
|
1317
|
+
"background-color": { "#$0": 1, "transparent": 1, "fixed": 1 },
|
|
1318
|
+
"background-image": { "url('/$0')": 1 },
|
|
1319
|
+
"background-repeat": { "repeat": 1, "repeat-x": 1, "repeat-y": 1, "no-repeat": 1, "inherit": 1 },
|
|
1320
|
+
"background-position": { "bottom": 2, "center": 2, "left": 2, "right": 2, "top": 2, "inherit": 2 },
|
|
1321
|
+
"background-attachment": { "scroll": 1, "fixed": 1 },
|
|
1322
|
+
"background-size": { "cover": 1, "contain": 1 },
|
|
1323
|
+
"background-clip": { "border-box": 1, "padding-box": 1, "content-box": 1 },
|
|
1324
|
+
"background-origin": { "border-box": 1, "padding-box": 1, "content-box": 1 },
|
|
1325
|
+
"border": { "solid $0": 1, "dashed $0": 1, "dotted $0": 1, "#$0": 1 },
|
|
1326
|
+
"border-color": { "#$0": 1 },
|
|
1327
|
+
"border-style": { "solid": 2, "dashed": 2, "dotted": 2, "double": 2, "groove": 2, "hidden": 2, "inherit": 2, "inset": 2, "none": 2, "outset": 2, "ridged": 2 },
|
|
1328
|
+
"border-collapse": { "collapse": 1, "separate": 1 },
|
|
1329
|
+
"bottom": { "px": 1, "em": 1, "%": 1 },
|
|
1330
|
+
"clear": { "left": 1, "right": 1, "both": 1, "none": 1 },
|
|
1331
|
+
"color": { "#$0": 1, "rgb(#$00,0,0)": 1 },
|
|
1332
|
+
"cursor": { "default": 1, "pointer": 1, "move": 1, "text": 1, "wait": 1, "help": 1, "progress": 1, "n-resize": 1, "ne-resize": 1, "e-resize": 1, "se-resize": 1, "s-resize": 1, "sw-resize": 1, "w-resize": 1, "nw-resize": 1 },
|
|
1333
|
+
"display": { "none": 1, "block": 1, "inline": 1, "inline-block": 1, "table-cell": 1 },
|
|
1334
|
+
"empty-cells": { "show": 1, "hide": 1 },
|
|
1335
|
+
"float": { "left": 1, "right": 1, "none": 1 },
|
|
1336
|
+
"font-family": { "Arial": 2, "Comic Sans MS": 2, "Consolas": 2, "Courier New": 2, "Courier": 2, "Georgia": 2, "Monospace": 2, "Sans-Serif": 2, "Segoe UI": 2, "Tahoma": 2, "Times New Roman": 2, "Trebuchet MS": 2, "Verdana": 1 },
|
|
1337
|
+
"font-size": { "px": 1, "em": 1, "%": 1 },
|
|
1338
|
+
"font-weight": { "bold": 1, "normal": 1 },
|
|
1339
|
+
"font-style": { "italic": 1, "normal": 1 },
|
|
1340
|
+
"font-variant": { "normal": 1, "small-caps": 1 },
|
|
1341
|
+
"height": { "px": 1, "em": 1, "%": 1 },
|
|
1342
|
+
"left": { "px": 1, "em": 1, "%": 1 },
|
|
1343
|
+
"letter-spacing": { "normal": 1 },
|
|
1344
|
+
"line-height": { "normal": 1 },
|
|
1345
|
+
"list-style-type": { "none": 1, "disc": 1, "circle": 1, "square": 1, "decimal": 1, "decimal-leading-zero": 1, "lower-roman": 1, "upper-roman": 1, "lower-greek": 1, "lower-latin": 1, "upper-latin": 1, "georgian": 1, "lower-alpha": 1, "upper-alpha": 1 },
|
|
1346
|
+
"margin": { "px": 1, "em": 1, "%": 1 },
|
|
1347
|
+
"margin-right": { "px": 1, "em": 1, "%": 1 },
|
|
1348
|
+
"margin-left": { "px": 1, "em": 1, "%": 1 },
|
|
1349
|
+
"margin-top": { "px": 1, "em": 1, "%": 1 },
|
|
1350
|
+
"margin-bottom": { "px": 1, "em": 1, "%": 1 },
|
|
1351
|
+
"max-height": { "px": 1, "em": 1, "%": 1 },
|
|
1352
|
+
"max-width": { "px": 1, "em": 1, "%": 1 },
|
|
1353
|
+
"min-height": { "px": 1, "em": 1, "%": 1 },
|
|
1354
|
+
"min-width": { "px": 1, "em": 1, "%": 1 },
|
|
1355
|
+
"overflow": { "hidden": 1, "visible": 1, "auto": 1, "scroll": 1 },
|
|
1356
|
+
"overflow-x": { "hidden": 1, "visible": 1, "auto": 1, "scroll": 1 },
|
|
1357
|
+
"overflow-y": { "hidden": 1, "visible": 1, "auto": 1, "scroll": 1 },
|
|
1358
|
+
"padding": { "px": 1, "em": 1, "%": 1 },
|
|
1359
|
+
"padding-top": { "px": 1, "em": 1, "%": 1 },
|
|
1360
|
+
"padding-right": { "px": 1, "em": 1, "%": 1 },
|
|
1361
|
+
"padding-bottom": { "px": 1, "em": 1, "%": 1 },
|
|
1362
|
+
"padding-left": { "px": 1, "em": 1, "%": 1 },
|
|
1363
|
+
"page-break-after": { "auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1 },
|
|
1364
|
+
"page-break-before": { "auto": 1, "always": 1, "avoid": 1, "left": 1, "right": 1 },
|
|
1365
|
+
"position": { "absolute": 1, "relative": 1, "fixed": 1, "static": 1 },
|
|
1366
|
+
"right": { "px": 1, "em": 1, "%": 1 },
|
|
1367
|
+
"table-layout": { "fixed": 1, "auto": 1 },
|
|
1368
|
+
"text-decoration": { "none": 1, "underline": 1, "line-through": 1, "blink": 1 },
|
|
1369
|
+
"text-align": { "left": 1, "right": 1, "center": 1, "justify": 1 },
|
|
1370
|
+
"text-transform": { "capitalize": 1, "uppercase": 1, "lowercase": 1, "none": 1 },
|
|
1371
|
+
"top": { "px": 1, "em": 1, "%": 1 },
|
|
1372
|
+
"vertical-align": { "top": 1, "bottom": 1 },
|
|
1373
|
+
"visibility": { "hidden": 1, "visible": 1 },
|
|
1374
|
+
"white-space": { "nowrap": 1, "normal": 1, "pre": 1, "pre-line": 1, "pre-wrap": 1 },
|
|
1375
|
+
"width": { "px": 1, "em": 1, "%": 1 },
|
|
1376
|
+
"word-spacing": { "normal": 1 },
|
|
1377
|
+
"filter": { "alpha(opacity=$0100)": 1 },
|
|
1378
|
+
"text-shadow": { "$02px 2px 2px #777": 1 },
|
|
1379
|
+
"text-overflow": { "ellipsis-word": 1, "clip": 1, "ellipsis": 1 },
|
|
1342
1380
|
"-moz-border-radius": 1,
|
|
1343
1381
|
"-moz-border-radius-topright": 1,
|
|
1344
1382
|
"-moz-border-radius-bottomright": 1,
|
|
@@ -1351,81 +1389,71 @@ var propertyMap = {
|
|
|
1351
1389
|
"-webkit-border-bottom-left-radius": 1,
|
|
1352
1390
|
"-moz-box-shadow": 1,
|
|
1353
1391
|
"-webkit-box-shadow": 1,
|
|
1354
|
-
"transform": {"rotate($00deg)": 1, "skew($00deg)": 1},
|
|
1355
|
-
"-moz-transform": {"rotate($00deg)": 1, "skew($00deg)": 1},
|
|
1356
|
-
"-webkit-transform": {"rotate($00deg)": 1, "skew($00deg)": 1 }
|
|
1392
|
+
"transform": { "rotate($00deg)": 1, "skew($00deg)": 1 },
|
|
1393
|
+
"-moz-transform": { "rotate($00deg)": 1, "skew($00deg)": 1 },
|
|
1394
|
+
"-webkit-transform": { "rotate($00deg)": 1, "skew($00deg)": 1 }
|
|
1357
1395
|
};
|
|
1358
|
-
|
|
1359
|
-
var CssCompletions = function() {
|
|
1360
|
-
|
|
1396
|
+
var CssCompletions = function () {
|
|
1361
1397
|
};
|
|
1362
|
-
|
|
1363
|
-
(function() {
|
|
1364
|
-
|
|
1398
|
+
(function () {
|
|
1365
1399
|
this.completionsDefined = false;
|
|
1366
|
-
|
|
1367
|
-
this.defineCompletions = function() {
|
|
1400
|
+
this.defineCompletions = function () {
|
|
1368
1401
|
if (document) {
|
|
1369
1402
|
var style = document.createElement('c').style;
|
|
1370
|
-
|
|
1371
1403
|
for (var i in style) {
|
|
1372
1404
|
if (typeof style[i] !== 'string')
|
|
1373
1405
|
continue;
|
|
1374
|
-
|
|
1375
|
-
var name = i.replace(/[A-Z]/g, function(x) {
|
|
1406
|
+
var name = i.replace(/[A-Z]/g, function (x) {
|
|
1376
1407
|
return '-' + x.toLowerCase();
|
|
1377
1408
|
});
|
|
1378
|
-
|
|
1379
1409
|
if (!propertyMap.hasOwnProperty(name))
|
|
1380
1410
|
propertyMap[name] = 1;
|
|
1381
1411
|
}
|
|
1382
1412
|
}
|
|
1383
|
-
|
|
1384
1413
|
this.completionsDefined = true;
|
|
1385
1414
|
};
|
|
1386
|
-
|
|
1387
|
-
this.getCompletions = function(state, session, pos, prefix) {
|
|
1415
|
+
this.getCompletions = function (state, session, pos, prefix) {
|
|
1388
1416
|
if (!this.completionsDefined) {
|
|
1389
1417
|
this.defineCompletions();
|
|
1390
1418
|
}
|
|
1391
|
-
|
|
1392
|
-
if (state==='ruleset' || session.$mode.$id == "ace/mode/scss") {
|
|
1419
|
+
if (state === 'ruleset' || session.$mode.$id == "ace/mode/scss") {
|
|
1393
1420
|
var line = session.getLine(pos.row).substr(0, pos.column);
|
|
1421
|
+
var inParens = /\([^)]*$/.test(line);
|
|
1422
|
+
if (inParens) {
|
|
1423
|
+
line = line.substr(line.lastIndexOf('(') + 1);
|
|
1424
|
+
}
|
|
1394
1425
|
if (/:[^;]+$/.test(line)) {
|
|
1395
1426
|
/([\w\-]+):[^:]*$/.test(line);
|
|
1396
|
-
|
|
1397
1427
|
return this.getPropertyValueCompletions(state, session, pos, prefix);
|
|
1398
|
-
}
|
|
1399
|
-
|
|
1428
|
+
}
|
|
1429
|
+
else {
|
|
1430
|
+
return this.getPropertyCompletions(state, session, pos, prefix, inParens);
|
|
1400
1431
|
}
|
|
1401
1432
|
}
|
|
1402
|
-
|
|
1403
1433
|
return [];
|
|
1404
1434
|
};
|
|
1405
|
-
|
|
1406
|
-
|
|
1435
|
+
this.getPropertyCompletions = function (state, session, pos, prefix, skipSemicolon) {
|
|
1436
|
+
skipSemicolon = skipSemicolon || false;
|
|
1407
1437
|
var properties = Object.keys(propertyMap);
|
|
1408
|
-
return properties.map(function(property){
|
|
1438
|
+
return properties.map(function (property) {
|
|
1409
1439
|
return {
|
|
1410
1440
|
caption: property,
|
|
1411
|
-
snippet: property + ': $0;',
|
|
1441
|
+
snippet: property + ': $0' + (skipSemicolon ? '' : ';'),
|
|
1412
1442
|
meta: "property",
|
|
1413
1443
|
score: 1000000
|
|
1414
1444
|
};
|
|
1415
1445
|
});
|
|
1416
1446
|
};
|
|
1417
|
-
|
|
1418
|
-
this.getPropertyValueCompletions = function(state, session, pos, prefix) {
|
|
1447
|
+
this.getPropertyValueCompletions = function (state, session, pos, prefix) {
|
|
1419
1448
|
var line = session.getLine(pos.row).substr(0, pos.column);
|
|
1420
1449
|
var property = (/([\w\-]+):[^:]*$/.exec(line) || {})[1];
|
|
1421
|
-
|
|
1422
1450
|
if (!property)
|
|
1423
1451
|
return [];
|
|
1424
1452
|
var values = [];
|
|
1425
1453
|
if (property in propertyMap && typeof propertyMap[property] === "object") {
|
|
1426
1454
|
values = Object.keys(propertyMap[property]);
|
|
1427
1455
|
}
|
|
1428
|
-
return values.map(function(value){
|
|
1456
|
+
return values.map(function (value) {
|
|
1429
1457
|
return {
|
|
1430
1458
|
caption: value,
|
|
1431
1459
|
snippet: value,
|
|
@@ -1434,24 +1462,18 @@ var CssCompletions = function() {
|
|
|
1434
1462
|
};
|
|
1435
1463
|
});
|
|
1436
1464
|
};
|
|
1437
|
-
|
|
1438
1465
|
}).call(CssCompletions.prototype);
|
|
1439
|
-
|
|
1440
1466
|
exports.CssCompletions = CssCompletions;
|
|
1441
|
-
});
|
|
1442
1467
|
|
|
1443
|
-
|
|
1444
|
-
"use strict";
|
|
1468
|
+
});
|
|
1445
1469
|
|
|
1470
|
+
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){"use strict";
|
|
1446
1471
|
var oop = require("../../lib/oop");
|
|
1447
1472
|
var Behaviour = require("../behaviour").Behaviour;
|
|
1448
1473
|
var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
|
|
1449
1474
|
var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
1450
|
-
|
|
1451
1475
|
var CssBehaviour = function () {
|
|
1452
|
-
|
|
1453
1476
|
this.inherit(CstyleBehaviour);
|
|
1454
|
-
|
|
1455
1477
|
this.add("colon", "insertion", function (state, action, editor, session, text) {
|
|
1456
1478
|
if (text === ':' && editor.selection.isEmpty()) {
|
|
1457
1479
|
var cursor = editor.getCursorPosition();
|
|
@@ -1465,20 +1487,19 @@ var CssBehaviour = function () {
|
|
|
1465
1487
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
1466
1488
|
if (rightChar === ':') {
|
|
1467
1489
|
return {
|
|
1468
|
-
|
|
1469
|
-
|
|
1490
|
+
text: '',
|
|
1491
|
+
selection: [1, 1]
|
|
1470
1492
|
};
|
|
1471
1493
|
}
|
|
1472
1494
|
if (/^(\s+[^;]|\s*$)/.test(line.substring(cursor.column))) {
|
|
1473
1495
|
return {
|
|
1474
|
-
|
|
1475
|
-
|
|
1496
|
+
text: ':;',
|
|
1497
|
+
selection: [1, 1]
|
|
1476
1498
|
};
|
|
1477
1499
|
}
|
|
1478
1500
|
}
|
|
1479
1501
|
}
|
|
1480
1502
|
});
|
|
1481
|
-
|
|
1482
1503
|
this.add("colon", "deletion", function (state, action, editor, session, range) {
|
|
1483
1504
|
var selected = session.doc.getTextRange(range);
|
|
1484
1505
|
if (!range.isMultiLine() && selected === ':') {
|
|
@@ -1492,13 +1513,12 @@ var CssBehaviour = function () {
|
|
|
1492
1513
|
var line = session.doc.getLine(range.start.row);
|
|
1493
1514
|
var rightChar = line.substring(range.end.column, range.end.column + 1);
|
|
1494
1515
|
if (rightChar === ';') {
|
|
1495
|
-
range.end.column
|
|
1516
|
+
range.end.column++;
|
|
1496
1517
|
return range;
|
|
1497
1518
|
}
|
|
1498
1519
|
}
|
|
1499
1520
|
}
|
|
1500
1521
|
});
|
|
1501
|
-
|
|
1502
1522
|
this.add("semicolon", "insertion", function (state, action, editor, session, text) {
|
|
1503
1523
|
if (text === ';' && editor.selection.isEmpty()) {
|
|
1504
1524
|
var cursor = editor.getCursorPosition();
|
|
@@ -1506,18 +1526,16 @@ var CssBehaviour = function () {
|
|
|
1506
1526
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
1507
1527
|
if (rightChar === ';') {
|
|
1508
1528
|
return {
|
|
1509
|
-
|
|
1510
|
-
|
|
1529
|
+
text: '',
|
|
1530
|
+
selection: [1, 1]
|
|
1511
1531
|
};
|
|
1512
1532
|
}
|
|
1513
1533
|
}
|
|
1514
1534
|
});
|
|
1515
|
-
|
|
1516
1535
|
this.add("!important", "insertion", function (state, action, editor, session, text) {
|
|
1517
1536
|
if (text === '!' && editor.selection.isEmpty()) {
|
|
1518
1537
|
var cursor = editor.getCursorPosition();
|
|
1519
1538
|
var line = session.doc.getLine(cursor.row);
|
|
1520
|
-
|
|
1521
1539
|
if (/^\s*(;|}|$)/.test(line.substring(cursor.column))) {
|
|
1522
1540
|
return {
|
|
1523
1541
|
text: '!important',
|
|
@@ -1526,16 +1544,13 @@ var CssBehaviour = function () {
|
|
|
1526
1544
|
}
|
|
1527
1545
|
}
|
|
1528
1546
|
});
|
|
1529
|
-
|
|
1530
1547
|
};
|
|
1531
1548
|
oop.inherits(CssBehaviour, CstyleBehaviour);
|
|
1532
|
-
|
|
1533
1549
|
exports.CssBehaviour = CssBehaviour;
|
|
1534
|
-
});
|
|
1535
1550
|
|
|
1536
|
-
|
|
1537
|
-
"use strict";
|
|
1551
|
+
});
|
|
1538
1552
|
|
|
1553
|
+
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){"use strict";
|
|
1539
1554
|
var oop = require("../lib/oop");
|
|
1540
1555
|
var TextMode = require("./text").Mode;
|
|
1541
1556
|
var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
|
|
@@ -1544,8 +1559,7 @@ var WorkerClient = require("../worker/worker_client").WorkerClient;
|
|
|
1544
1559
|
var CssCompletions = require("./css_completions").CssCompletions;
|
|
1545
1560
|
var CssBehaviour = require("./behaviour/css").CssBehaviour;
|
|
1546
1561
|
var CStyleFoldMode = require("./folding/cstyle").FoldMode;
|
|
1547
|
-
|
|
1548
|
-
var Mode = function() {
|
|
1562
|
+
var Mode = function () {
|
|
1549
1563
|
this.HighlightRules = CssHighlightRules;
|
|
1550
1564
|
this.$outdent = new MatchingBraceOutdent();
|
|
1551
1565
|
this.$behaviour = new CssBehaviour();
|
|
@@ -1553,76 +1567,57 @@ var Mode = function() {
|
|
|
1553
1567
|
this.foldingRules = new CStyleFoldMode();
|
|
1554
1568
|
};
|
|
1555
1569
|
oop.inherits(Mode, TextMode);
|
|
1556
|
-
|
|
1557
|
-
(function() {
|
|
1558
|
-
|
|
1570
|
+
(function () {
|
|
1559
1571
|
this.foldingRules = "cStyle";
|
|
1560
|
-
this.blockComment = {start: "/*", end: "*/"};
|
|
1561
|
-
|
|
1562
|
-
this.getNextLineIndent = function(state, line, tab) {
|
|
1572
|
+
this.blockComment = { start: "/*", end: "*/" };
|
|
1573
|
+
this.getNextLineIndent = function (state, line, tab) {
|
|
1563
1574
|
var indent = this.$getIndent(line);
|
|
1564
1575
|
var tokens = this.getTokenizer().getLineTokens(line, state).tokens;
|
|
1565
|
-
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
|
1576
|
+
if (tokens.length && tokens[tokens.length - 1].type == "comment") {
|
|
1566
1577
|
return indent;
|
|
1567
1578
|
}
|
|
1568
|
-
|
|
1569
1579
|
var match = line.match(/^.*\{\s*$/);
|
|
1570
1580
|
if (match) {
|
|
1571
1581
|
indent += tab;
|
|
1572
1582
|
}
|
|
1573
|
-
|
|
1574
1583
|
return indent;
|
|
1575
1584
|
};
|
|
1576
|
-
|
|
1577
|
-
this.checkOutdent = function(state, line, input) {
|
|
1585
|
+
this.checkOutdent = function (state, line, input) {
|
|
1578
1586
|
return this.$outdent.checkOutdent(line, input);
|
|
1579
1587
|
};
|
|
1580
|
-
|
|
1581
|
-
this.autoOutdent = function(state, doc, row) {
|
|
1588
|
+
this.autoOutdent = function (state, doc, row) {
|
|
1582
1589
|
this.$outdent.autoOutdent(doc, row);
|
|
1583
1590
|
};
|
|
1584
|
-
|
|
1585
|
-
this.getCompletions = function(state, session, pos, prefix) {
|
|
1591
|
+
this.getCompletions = function (state, session, pos, prefix) {
|
|
1586
1592
|
return this.$completer.getCompletions(state, session, pos, prefix);
|
|
1587
1593
|
};
|
|
1588
|
-
|
|
1589
|
-
this.createWorker = function(session) {
|
|
1594
|
+
this.createWorker = function (session) {
|
|
1590
1595
|
var worker = new WorkerClient(["ace"], "ace/mode/css_worker", "Worker");
|
|
1591
1596
|
worker.attachToDocument(session.getDocument());
|
|
1592
|
-
|
|
1593
|
-
worker.on("annotate", function(e) {
|
|
1597
|
+
worker.on("annotate", function (e) {
|
|
1594
1598
|
session.setAnnotations(e.data);
|
|
1595
1599
|
});
|
|
1596
|
-
|
|
1597
|
-
worker.on("terminate", function() {
|
|
1600
|
+
worker.on("terminate", function () {
|
|
1598
1601
|
session.clearAnnotations();
|
|
1599
1602
|
});
|
|
1600
|
-
|
|
1601
1603
|
return worker;
|
|
1602
1604
|
};
|
|
1603
|
-
|
|
1604
1605
|
this.$id = "ace/mode/css";
|
|
1605
1606
|
this.snippetFileId = "ace/snippets/css";
|
|
1606
1607
|
}).call(Mode.prototype);
|
|
1607
|
-
|
|
1608
1608
|
exports.Mode = Mode;
|
|
1609
1609
|
|
|
1610
1610
|
});
|
|
1611
1611
|
|
|
1612
|
-
ace.define("ace/mode/behaviour/xml",[], function(require, exports, module)
|
|
1613
|
-
"use strict";
|
|
1614
|
-
|
|
1612
|
+
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){"use strict";
|
|
1615
1613
|
var oop = require("../../lib/oop");
|
|
1616
1614
|
var Behaviour = require("../behaviour").Behaviour;
|
|
1617
1615
|
var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
1618
1616
|
var lang = require("../../lib/lang");
|
|
1619
|
-
|
|
1620
1617
|
function is(token, type) {
|
|
1621
1618
|
return token && token.type.lastIndexOf(type + ".xml") > -1;
|
|
1622
1619
|
}
|
|
1623
|
-
|
|
1624
1620
|
var XmlBehaviour = function () {
|
|
1625
|
-
|
|
1626
1621
|
this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
|
|
1627
1622
|
if (text == '"' || text == "'") {
|
|
1628
1623
|
var quote = text;
|
|
@@ -1633,26 +1628,21 @@ var XmlBehaviour = function () {
|
|
|
1633
1628
|
selection: false
|
|
1634
1629
|
};
|
|
1635
1630
|
}
|
|
1636
|
-
|
|
1637
1631
|
var cursor = editor.getCursorPosition();
|
|
1638
1632
|
var line = session.doc.getLine(cursor.row);
|
|
1639
1633
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
1640
1634
|
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
|
1641
1635
|
var token = iterator.getCurrentToken();
|
|
1642
|
-
|
|
1643
1636
|
if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
|
|
1644
1637
|
return {
|
|
1645
1638
|
text: "",
|
|
1646
1639
|
selection: [1, 1]
|
|
1647
1640
|
};
|
|
1648
1641
|
}
|
|
1649
|
-
|
|
1650
1642
|
if (!token)
|
|
1651
1643
|
token = iterator.stepBackward();
|
|
1652
|
-
|
|
1653
1644
|
if (!token)
|
|
1654
1645
|
return;
|
|
1655
|
-
|
|
1656
1646
|
while (is(token, "tag-whitespace") || is(token, "whitespace")) {
|
|
1657
1647
|
token = iterator.stepBackward();
|
|
1658
1648
|
}
|
|
@@ -1665,8 +1655,7 @@ var XmlBehaviour = function () {
|
|
|
1665
1655
|
}
|
|
1666
1656
|
}
|
|
1667
1657
|
});
|
|
1668
|
-
|
|
1669
|
-
this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
|
|
1658
|
+
this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
|
|
1670
1659
|
var selected = session.doc.getTextRange(range);
|
|
1671
1660
|
if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
|
|
1672
1661
|
var line = session.doc.getLine(range.start.row);
|
|
@@ -1677,7 +1666,6 @@ var XmlBehaviour = function () {
|
|
|
1677
1666
|
}
|
|
1678
1667
|
}
|
|
1679
1668
|
});
|
|
1680
|
-
|
|
1681
1669
|
this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
|
|
1682
1670
|
if (text == '>') {
|
|
1683
1671
|
var position = editor.getSelectionRange().start;
|
|
@@ -1698,7 +1686,6 @@ var XmlBehaviour = function () {
|
|
|
1698
1686
|
iterator.stepBackward();
|
|
1699
1687
|
}
|
|
1700
1688
|
}
|
|
1701
|
-
|
|
1702
1689
|
if (/^\s*>/.test(session.getLine(position.row).slice(position.column)))
|
|
1703
1690
|
return;
|
|
1704
1691
|
while (!is(token, "tag-name")) {
|
|
@@ -1708,63 +1695,54 @@ var XmlBehaviour = function () {
|
|
|
1708
1695
|
break;
|
|
1709
1696
|
}
|
|
1710
1697
|
}
|
|
1711
|
-
|
|
1712
1698
|
var tokenRow = iterator.getCurrentTokenRow();
|
|
1713
1699
|
var tokenColumn = iterator.getCurrentTokenColumn();
|
|
1714
1700
|
if (is(iterator.stepBackward(), "end-tag-open"))
|
|
1715
1701
|
return;
|
|
1716
|
-
|
|
1717
1702
|
var element = token.value;
|
|
1718
1703
|
if (tokenRow == position.row)
|
|
1719
1704
|
element = element.substring(0, position.column - tokenColumn);
|
|
1720
|
-
|
|
1721
1705
|
if (this.voidElements.hasOwnProperty(element.toLowerCase()))
|
|
1722
|
-
|
|
1723
|
-
|
|
1706
|
+
return;
|
|
1724
1707
|
return {
|
|
1725
|
-
|
|
1726
|
-
|
|
1708
|
+
text: ">" + "</" + element + ">",
|
|
1709
|
+
selection: [1, 1]
|
|
1727
1710
|
};
|
|
1728
1711
|
}
|
|
1729
1712
|
});
|
|
1730
|
-
|
|
1731
1713
|
this.add("autoindent", "insertion", function (state, action, editor, session, text) {
|
|
1732
1714
|
if (text == "\n") {
|
|
1733
1715
|
var cursor = editor.getCursorPosition();
|
|
1734
1716
|
var line = session.getLine(cursor.row);
|
|
1735
1717
|
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
|
1736
1718
|
var token = iterator.getCurrentToken();
|
|
1737
|
-
|
|
1738
1719
|
if (token && token.type.indexOf("tag-close") !== -1) {
|
|
1739
1720
|
if (token.value == "/>")
|
|
1740
1721
|
return;
|
|
1741
1722
|
while (token && token.type.indexOf("tag-name") === -1) {
|
|
1742
1723
|
token = iterator.stepBackward();
|
|
1743
1724
|
}
|
|
1744
|
-
|
|
1745
1725
|
if (!token) {
|
|
1746
1726
|
return;
|
|
1747
1727
|
}
|
|
1748
|
-
|
|
1749
1728
|
var tag = token.value;
|
|
1750
1729
|
var row = iterator.getCurrentTokenRow();
|
|
1751
1730
|
token = iterator.stepBackward();
|
|
1752
1731
|
if (!token || token.type.indexOf("end-tag") !== -1) {
|
|
1753
1732
|
return;
|
|
1754
1733
|
}
|
|
1755
|
-
|
|
1756
1734
|
if (this.voidElements && !this.voidElements[tag]) {
|
|
1757
|
-
var nextToken = session.getTokenAt(cursor.row, cursor.column+1);
|
|
1735
|
+
var nextToken = session.getTokenAt(cursor.row, cursor.column + 1);
|
|
1758
1736
|
var line = session.getLine(row);
|
|
1759
1737
|
var nextIndent = this.$getIndent(line);
|
|
1760
1738
|
var indent = nextIndent + session.getTabString();
|
|
1761
|
-
|
|
1762
1739
|
if (nextToken && nextToken.value === "</") {
|
|
1763
1740
|
return {
|
|
1764
1741
|
text: "\n" + indent + "\n" + nextIndent,
|
|
1765
1742
|
selection: [1, indent.length, 1, indent.length]
|
|
1766
1743
|
};
|
|
1767
|
-
}
|
|
1744
|
+
}
|
|
1745
|
+
else {
|
|
1768
1746
|
return {
|
|
1769
1747
|
text: "\n" + indent
|
|
1770
1748
|
};
|
|
@@ -1773,31 +1751,23 @@ var XmlBehaviour = function () {
|
|
|
1773
1751
|
}
|
|
1774
1752
|
}
|
|
1775
1753
|
});
|
|
1776
|
-
|
|
1777
1754
|
};
|
|
1778
|
-
|
|
1779
1755
|
oop.inherits(XmlBehaviour, Behaviour);
|
|
1780
|
-
|
|
1781
1756
|
exports.XmlBehaviour = XmlBehaviour;
|
|
1782
|
-
});
|
|
1783
1757
|
|
|
1784
|
-
|
|
1785
|
-
"use strict";
|
|
1758
|
+
});
|
|
1786
1759
|
|
|
1760
|
+
ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
|
|
1787
1761
|
var oop = require("../../lib/oop");
|
|
1788
1762
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
|
1789
|
-
|
|
1790
|
-
var FoldMode = exports.FoldMode = function(defaultMode, subModes) {
|
|
1763
|
+
var FoldMode = exports.FoldMode = function (defaultMode, subModes) {
|
|
1791
1764
|
this.defaultMode = defaultMode;
|
|
1792
1765
|
this.subModes = subModes;
|
|
1793
1766
|
};
|
|
1794
1767
|
oop.inherits(FoldMode, BaseFoldMode);
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
this.$getMode = function(state) {
|
|
1800
|
-
if (typeof state != "string")
|
|
1768
|
+
(function () {
|
|
1769
|
+
this.$getMode = function (state) {
|
|
1770
|
+
if (typeof state != "string")
|
|
1801
1771
|
state = state[0];
|
|
1802
1772
|
for (var key in this.subModes) {
|
|
1803
1773
|
if (state.indexOf(key) === 0)
|
|
@@ -1805,96 +1775,70 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
1805
1775
|
}
|
|
1806
1776
|
return null;
|
|
1807
1777
|
};
|
|
1808
|
-
|
|
1809
|
-
this.$tryMode = function(state, session, foldStyle, row) {
|
|
1778
|
+
this.$tryMode = function (state, session, foldStyle, row) {
|
|
1810
1779
|
var mode = this.$getMode(state);
|
|
1811
1780
|
return (mode ? mode.getFoldWidget(session, foldStyle, row) : "");
|
|
1812
1781
|
};
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
return (
|
|
1816
|
-
this.$tryMode(session.getState(row-1), session, foldStyle, row) ||
|
|
1782
|
+
this.getFoldWidget = function (session, foldStyle, row) {
|
|
1783
|
+
return (this.$tryMode(session.getState(row - 1), session, foldStyle, row) ||
|
|
1817
1784
|
this.$tryMode(session.getState(row), session, foldStyle, row) ||
|
|
1818
|
-
this.defaultMode.getFoldWidget(session, foldStyle, row)
|
|
1819
|
-
);
|
|
1785
|
+
this.defaultMode.getFoldWidget(session, foldStyle, row));
|
|
1820
1786
|
};
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
var mode = this.$getMode(session.getState(row-1));
|
|
1824
|
-
|
|
1787
|
+
this.getFoldWidgetRange = function (session, foldStyle, row) {
|
|
1788
|
+
var mode = this.$getMode(session.getState(row - 1));
|
|
1825
1789
|
if (!mode || !mode.getFoldWidget(session, foldStyle, row))
|
|
1826
1790
|
mode = this.$getMode(session.getState(row));
|
|
1827
|
-
|
|
1828
1791
|
if (!mode || !mode.getFoldWidget(session, foldStyle, row))
|
|
1829
1792
|
mode = this.defaultMode;
|
|
1830
|
-
|
|
1831
1793
|
return mode.getFoldWidgetRange(session, foldStyle, row);
|
|
1832
1794
|
};
|
|
1833
|
-
|
|
1834
1795
|
}).call(FoldMode.prototype);
|
|
1835
1796
|
|
|
1836
1797
|
});
|
|
1837
1798
|
|
|
1838
|
-
ace.define("ace/mode/folding/xml",[], function(require, exports, module)
|
|
1839
|
-
"use strict";
|
|
1840
|
-
|
|
1799
|
+
ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module){"use strict";
|
|
1841
1800
|
var oop = require("../../lib/oop");
|
|
1842
|
-
var lang = require("../../lib/lang");
|
|
1843
1801
|
var Range = require("../../range").Range;
|
|
1844
1802
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
|
1845
|
-
var
|
|
1846
|
-
|
|
1847
|
-
var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) {
|
|
1803
|
+
var FoldMode = exports.FoldMode = function (voidElements, optionalEndTags) {
|
|
1848
1804
|
BaseFoldMode.call(this);
|
|
1849
1805
|
this.voidElements = voidElements || {};
|
|
1850
1806
|
this.optionalEndTags = oop.mixin({}, this.voidElements);
|
|
1851
1807
|
if (optionalEndTags)
|
|
1852
1808
|
oop.mixin(this.optionalEndTags, optionalEndTags);
|
|
1853
|
-
|
|
1854
1809
|
};
|
|
1855
1810
|
oop.inherits(FoldMode, BaseFoldMode);
|
|
1856
|
-
|
|
1857
|
-
var Tag = function() {
|
|
1811
|
+
var Tag = function () {
|
|
1858
1812
|
this.tagName = "";
|
|
1859
1813
|
this.closing = false;
|
|
1860
1814
|
this.selfClosing = false;
|
|
1861
|
-
this.start = {row: 0, column: 0};
|
|
1862
|
-
this.end = {row: 0, column: 0};
|
|
1815
|
+
this.start = { row: 0, column: 0 };
|
|
1816
|
+
this.end = { row: 0, column: 0 };
|
|
1863
1817
|
};
|
|
1864
|
-
|
|
1865
1818
|
function is(token, type) {
|
|
1866
1819
|
return token.type.lastIndexOf(type + ".xml") > -1;
|
|
1867
1820
|
}
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
this.getFoldWidget = function(session, foldStyle, row) {
|
|
1821
|
+
(function () {
|
|
1822
|
+
this.getFoldWidget = function (session, foldStyle, row) {
|
|
1872
1823
|
var tag = this._getFirstTagInLine(session, row);
|
|
1873
|
-
|
|
1874
1824
|
if (!tag)
|
|
1875
1825
|
return this.getCommentFoldWidget(session, row);
|
|
1876
|
-
|
|
1877
1826
|
if (tag.closing || (!tag.tagName && tag.selfClosing))
|
|
1878
|
-
return foldStyle
|
|
1879
|
-
|
|
1827
|
+
return foldStyle === "markbeginend" ? "end" : "";
|
|
1880
1828
|
if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
|
|
1881
1829
|
return "";
|
|
1882
|
-
|
|
1883
1830
|
if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
|
|
1884
1831
|
return "";
|
|
1885
|
-
|
|
1886
1832
|
return "start";
|
|
1887
1833
|
};
|
|
1888
|
-
|
|
1889
|
-
this.getCommentFoldWidget = function(session, row) {
|
|
1834
|
+
this.getCommentFoldWidget = function (session, row) {
|
|
1890
1835
|
if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
|
|
1891
1836
|
return "start";
|
|
1892
1837
|
return "";
|
|
1893
1838
|
};
|
|
1894
|
-
this._getFirstTagInLine = function(session, row) {
|
|
1839
|
+
this._getFirstTagInLine = function (session, row) {
|
|
1895
1840
|
var tokens = session.getTokens(row);
|
|
1896
1841
|
var tag = new Tag();
|
|
1897
|
-
|
|
1898
1842
|
for (var i = 0; i < tokens.length; i++) {
|
|
1899
1843
|
var token = tokens[i];
|
|
1900
1844
|
if (is(token, "tag-open")) {
|
|
@@ -1914,17 +1858,16 @@ function is(token, type) {
|
|
|
1914
1858
|
}
|
|
1915
1859
|
}
|
|
1916
1860
|
return tag;
|
|
1917
|
-
}
|
|
1861
|
+
}
|
|
1862
|
+
else if (is(token, "tag-close")) {
|
|
1918
1863
|
tag.selfClosing = token.value == '/>';
|
|
1919
1864
|
return tag;
|
|
1920
1865
|
}
|
|
1921
1866
|
tag.start.column += token.value.length;
|
|
1922
1867
|
}
|
|
1923
|
-
|
|
1924
1868
|
return null;
|
|
1925
1869
|
};
|
|
1926
|
-
|
|
1927
|
-
this._findEndTagInLine = function(session, row, tagName, startColumn) {
|
|
1870
|
+
this._findEndTagInLine = function (session, row, tagName, startColumn) {
|
|
1928
1871
|
var tokens = session.getTokens(row);
|
|
1929
1872
|
var column = 0;
|
|
1930
1873
|
for (var i = 0; i < tokens.length; i++) {
|
|
@@ -1940,174 +1883,37 @@ function is(token, type) {
|
|
|
1940
1883
|
}
|
|
1941
1884
|
return false;
|
|
1942
1885
|
};
|
|
1943
|
-
this.
|
|
1944
|
-
var
|
|
1945
|
-
if (
|
|
1946
|
-
return
|
|
1947
|
-
|
|
1948
|
-
var tag = new Tag();
|
|
1949
|
-
do {
|
|
1950
|
-
if (is(token, "tag-open")) {
|
|
1951
|
-
tag.closing = is(token, "end-tag-open");
|
|
1952
|
-
tag.start.row = iterator.getCurrentTokenRow();
|
|
1953
|
-
tag.start.column = iterator.getCurrentTokenColumn();
|
|
1954
|
-
} else if (is(token, "tag-name")) {
|
|
1955
|
-
tag.tagName = token.value;
|
|
1956
|
-
} else if (is(token, "tag-close")) {
|
|
1957
|
-
tag.selfClosing = token.value == "/>";
|
|
1958
|
-
tag.end.row = iterator.getCurrentTokenRow();
|
|
1959
|
-
tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
|
|
1960
|
-
iterator.stepForward();
|
|
1961
|
-
return tag;
|
|
1962
|
-
}
|
|
1963
|
-
} while(token = iterator.stepForward());
|
|
1964
|
-
|
|
1965
|
-
return null;
|
|
1966
|
-
};
|
|
1967
|
-
|
|
1968
|
-
this._readTagBackward = function(iterator) {
|
|
1969
|
-
var token = iterator.getCurrentToken();
|
|
1970
|
-
if (!token)
|
|
1971
|
-
return null;
|
|
1972
|
-
|
|
1973
|
-
var tag = new Tag();
|
|
1974
|
-
do {
|
|
1975
|
-
if (is(token, "tag-open")) {
|
|
1976
|
-
tag.closing = is(token, "end-tag-open");
|
|
1977
|
-
tag.start.row = iterator.getCurrentTokenRow();
|
|
1978
|
-
tag.start.column = iterator.getCurrentTokenColumn();
|
|
1979
|
-
iterator.stepBackward();
|
|
1980
|
-
return tag;
|
|
1981
|
-
} else if (is(token, "tag-name")) {
|
|
1982
|
-
tag.tagName = token.value;
|
|
1983
|
-
} else if (is(token, "tag-close")) {
|
|
1984
|
-
tag.selfClosing = token.value == "/>";
|
|
1985
|
-
tag.end.row = iterator.getCurrentTokenRow();
|
|
1986
|
-
tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
|
|
1987
|
-
}
|
|
1988
|
-
} while(token = iterator.stepBackward());
|
|
1989
|
-
|
|
1990
|
-
return null;
|
|
1991
|
-
};
|
|
1992
|
-
|
|
1993
|
-
this._pop = function(stack, tag) {
|
|
1994
|
-
while (stack.length) {
|
|
1995
|
-
|
|
1996
|
-
var top = stack[stack.length-1];
|
|
1997
|
-
if (!tag || top.tagName == tag.tagName) {
|
|
1998
|
-
return stack.pop();
|
|
1999
|
-
}
|
|
2000
|
-
else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {
|
|
2001
|
-
stack.pop();
|
|
2002
|
-
continue;
|
|
2003
|
-
} else {
|
|
2004
|
-
return null;
|
|
2005
|
-
}
|
|
1886
|
+
this.getFoldWidgetRange = function (session, foldStyle, row) {
|
|
1887
|
+
var tags = session.getMatchingTags({ row: row, column: 0 });
|
|
1888
|
+
if (tags) {
|
|
1889
|
+
return new Range(tags.openTag.end.row, tags.openTag.end.column, tags.closeTag.start.row, tags.closeTag.start.column);
|
|
2006
1890
|
}
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
|
2010
|
-
var firstTag = this._getFirstTagInLine(session, row);
|
|
2011
|
-
|
|
2012
|
-
if (!firstTag) {
|
|
1891
|
+
else {
|
|
2013
1892
|
return this.getCommentFoldWidget(session, row)
|
|
2014
1893
|
&& session.getCommentFoldRange(row, session.getLine(row).length);
|
|
2015
1894
|
}
|
|
2016
|
-
|
|
2017
|
-
var isBackward = firstTag.closing || firstTag.selfClosing;
|
|
2018
|
-
var stack = [];
|
|
2019
|
-
var tag;
|
|
2020
|
-
|
|
2021
|
-
if (!isBackward) {
|
|
2022
|
-
var iterator = new TokenIterator(session, row, firstTag.start.column);
|
|
2023
|
-
var start = {
|
|
2024
|
-
row: row,
|
|
2025
|
-
column: firstTag.start.column + firstTag.tagName.length + 2
|
|
2026
|
-
};
|
|
2027
|
-
if (firstTag.start.row == firstTag.end.row)
|
|
2028
|
-
start.column = firstTag.end.column;
|
|
2029
|
-
while (tag = this._readTagForward(iterator)) {
|
|
2030
|
-
if (tag.selfClosing) {
|
|
2031
|
-
if (!stack.length) {
|
|
2032
|
-
tag.start.column += tag.tagName.length + 2;
|
|
2033
|
-
tag.end.column -= 2;
|
|
2034
|
-
return Range.fromPoints(tag.start, tag.end);
|
|
2035
|
-
} else
|
|
2036
|
-
continue;
|
|
2037
|
-
}
|
|
2038
|
-
|
|
2039
|
-
if (tag.closing) {
|
|
2040
|
-
this._pop(stack, tag);
|
|
2041
|
-
if (stack.length == 0)
|
|
2042
|
-
return Range.fromPoints(start, tag.start);
|
|
2043
|
-
}
|
|
2044
|
-
else {
|
|
2045
|
-
stack.push(tag);
|
|
2046
|
-
}
|
|
2047
|
-
}
|
|
2048
|
-
}
|
|
2049
|
-
else {
|
|
2050
|
-
var iterator = new TokenIterator(session, row, firstTag.end.column);
|
|
2051
|
-
var end = {
|
|
2052
|
-
row: row,
|
|
2053
|
-
column: firstTag.start.column
|
|
2054
|
-
};
|
|
2055
|
-
|
|
2056
|
-
while (tag = this._readTagBackward(iterator)) {
|
|
2057
|
-
if (tag.selfClosing) {
|
|
2058
|
-
if (!stack.length) {
|
|
2059
|
-
tag.start.column += tag.tagName.length + 2;
|
|
2060
|
-
tag.end.column -= 2;
|
|
2061
|
-
return Range.fromPoints(tag.start, tag.end);
|
|
2062
|
-
} else
|
|
2063
|
-
continue;
|
|
2064
|
-
}
|
|
2065
|
-
|
|
2066
|
-
if (!tag.closing) {
|
|
2067
|
-
this._pop(stack, tag);
|
|
2068
|
-
if (stack.length == 0) {
|
|
2069
|
-
tag.start.column += tag.tagName.length + 2;
|
|
2070
|
-
if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)
|
|
2071
|
-
tag.start.column = tag.end.column;
|
|
2072
|
-
return Range.fromPoints(tag.start, end);
|
|
2073
|
-
}
|
|
2074
|
-
}
|
|
2075
|
-
else {
|
|
2076
|
-
stack.push(tag);
|
|
2077
|
-
}
|
|
2078
|
-
}
|
|
2079
|
-
}
|
|
2080
|
-
|
|
2081
1895
|
};
|
|
2082
|
-
|
|
2083
1896
|
}).call(FoldMode.prototype);
|
|
2084
1897
|
|
|
2085
1898
|
});
|
|
2086
1899
|
|
|
2087
|
-
ace.define("ace/mode/folding/html",[], function(require, exports, module)
|
|
2088
|
-
"use strict";
|
|
2089
|
-
|
|
1900
|
+
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){"use strict";
|
|
2090
1901
|
var oop = require("../../lib/oop");
|
|
2091
1902
|
var MixedFoldMode = require("./mixed").FoldMode;
|
|
2092
1903
|
var XmlFoldMode = require("./xml").FoldMode;
|
|
2093
1904
|
var CStyleFoldMode = require("./cstyle").FoldMode;
|
|
2094
|
-
|
|
2095
|
-
var FoldMode = exports.FoldMode = function(voidElements, optionalTags) {
|
|
1905
|
+
var FoldMode = exports.FoldMode = function (voidElements, optionalTags) {
|
|
2096
1906
|
MixedFoldMode.call(this, new XmlFoldMode(voidElements, optionalTags), {
|
|
2097
1907
|
"js-": new CStyleFoldMode(),
|
|
2098
1908
|
"css-": new CStyleFoldMode()
|
|
2099
1909
|
});
|
|
2100
1910
|
};
|
|
2101
|
-
|
|
2102
1911
|
oop.inherits(FoldMode, MixedFoldMode);
|
|
2103
1912
|
|
|
2104
1913
|
});
|
|
2105
1914
|
|
|
2106
|
-
ace.define("ace/mode/html_completions",[], function(require, exports, module)
|
|
2107
|
-
"use strict";
|
|
2108
|
-
|
|
1915
|
+
ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"], function(require, exports, module){"use strict";
|
|
2109
1916
|
var TokenIterator = require("../token_iterator").TokenIterator;
|
|
2110
|
-
|
|
2111
1917
|
var commonAttributes = [
|
|
2112
1918
|
"accesskey",
|
|
2113
1919
|
"class",
|
|
@@ -2131,7 +1937,6 @@ var commonAttributes = [
|
|
|
2131
1937
|
"title",
|
|
2132
1938
|
"translate"
|
|
2133
1939
|
];
|
|
2134
|
-
|
|
2135
1940
|
var eventAttributes = [
|
|
2136
1941
|
"onabort",
|
|
2137
1942
|
"onblur",
|
|
@@ -2189,49 +1994,47 @@ var eventAttributes = [
|
|
|
2189
1994
|
"onvolumechange",
|
|
2190
1995
|
"onwaiting"
|
|
2191
1996
|
];
|
|
2192
|
-
|
|
2193
1997
|
var globalAttributes = commonAttributes.concat(eventAttributes);
|
|
2194
|
-
|
|
2195
1998
|
var attributeMap = {
|
|
2196
|
-
"a": {"href": 1, "target": {"_blank": 1, "top": 1}, "ping": 1, "rel": {"nofollow": 1, "alternate": 1, "author": 1, "bookmark": 1, "help": 1, "license": 1, "next": 1, "noreferrer": 1, "prefetch": 1, "prev": 1, "search": 1, "tag": 1}, "media": 1, "hreflang": 1, "type": 1},
|
|
1999
|
+
"a": { "href": 1, "target": { "_blank": 1, "top": 1 }, "ping": 1, "rel": { "nofollow": 1, "alternate": 1, "author": 1, "bookmark": 1, "help": 1, "license": 1, "next": 1, "noreferrer": 1, "prefetch": 1, "prev": 1, "search": 1, "tag": 1 }, "media": 1, "hreflang": 1, "type": 1 },
|
|
2197
2000
|
"abbr": {},
|
|
2198
2001
|
"address": {},
|
|
2199
|
-
"area": {"shape": 1, "coords": 1, "href": 1, "hreflang": 1, "alt": 1, "target": 1, "media": 1, "rel": 1, "ping": 1, "type": 1},
|
|
2200
|
-
"article": {"pubdate": 1},
|
|
2002
|
+
"area": { "shape": 1, "coords": 1, "href": 1, "hreflang": 1, "alt": 1, "target": 1, "media": 1, "rel": 1, "ping": 1, "type": 1 },
|
|
2003
|
+
"article": { "pubdate": 1 },
|
|
2201
2004
|
"aside": {},
|
|
2202
|
-
"audio": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1 }},
|
|
2005
|
+
"audio": { "src": 1, "autobuffer": 1, "autoplay": { "autoplay": 1 }, "loop": { "loop": 1 }, "controls": { "controls": 1 }, "muted": { "muted": 1 }, "preload": { "auto": 1, "metadata": 1, "none": 1 } },
|
|
2203
2006
|
"b": {},
|
|
2204
|
-
"base": {"href": 1, "target": 1},
|
|
2007
|
+
"base": { "href": 1, "target": 1 },
|
|
2205
2008
|
"bdi": {},
|
|
2206
2009
|
"bdo": {},
|
|
2207
|
-
"blockquote": {"cite": 1},
|
|
2208
|
-
"body": {"onafterprint": 1, "onbeforeprint": 1, "onbeforeunload": 1, "onhashchange": 1, "onmessage": 1, "onoffline": 1, "onpopstate": 1, "onredo": 1, "onresize": 1, "onstorage": 1, "onundo": 1, "onunload": 1},
|
|
2010
|
+
"blockquote": { "cite": 1 },
|
|
2011
|
+
"body": { "onafterprint": 1, "onbeforeprint": 1, "onbeforeunload": 1, "onhashchange": 1, "onmessage": 1, "onoffline": 1, "onpopstate": 1, "onredo": 1, "onresize": 1, "onstorage": 1, "onundo": 1, "onunload": 1 },
|
|
2209
2012
|
"br": {},
|
|
2210
|
-
"button": {"autofocus": 1, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": 1, "formmethod": 1, "formnovalidate": 1, "formtarget": 1, "name": 1, "value": 1, "type": {"button": 1, "submit": 1}},
|
|
2211
|
-
"canvas": {"width": 1, "height": 1},
|
|
2013
|
+
"button": { "autofocus": 1, "disabled": { "disabled": 1 }, "form": 1, "formaction": 1, "formenctype": 1, "formmethod": 1, "formnovalidate": 1, "formtarget": 1, "name": 1, "value": 1, "type": { "button": 1, "submit": 1 } },
|
|
2014
|
+
"canvas": { "width": 1, "height": 1 },
|
|
2212
2015
|
"caption": {},
|
|
2213
2016
|
"cite": {},
|
|
2214
2017
|
"code": {},
|
|
2215
|
-
"col": {"span": 1},
|
|
2216
|
-
"colgroup": {"span": 1},
|
|
2217
|
-
"command": {"type": 1, "label": 1, "icon": 1, "disabled": 1, "checked": 1, "radiogroup": 1, "command": 1},
|
|
2018
|
+
"col": { "span": 1 },
|
|
2019
|
+
"colgroup": { "span": 1 },
|
|
2020
|
+
"command": { "type": 1, "label": 1, "icon": 1, "disabled": 1, "checked": 1, "radiogroup": 1, "command": 1 },
|
|
2218
2021
|
"data": {},
|
|
2219
2022
|
"datalist": {},
|
|
2220
2023
|
"dd": {},
|
|
2221
|
-
"del": {"cite": 1, "datetime": 1},
|
|
2222
|
-
"details": {"open": 1},
|
|
2024
|
+
"del": { "cite": 1, "datetime": 1 },
|
|
2025
|
+
"details": { "open": 1 },
|
|
2223
2026
|
"dfn": {},
|
|
2224
|
-
"dialog": {"open": 1},
|
|
2027
|
+
"dialog": { "open": 1 },
|
|
2225
2028
|
"div": {},
|
|
2226
2029
|
"dl": {},
|
|
2227
2030
|
"dt": {},
|
|
2228
2031
|
"em": {},
|
|
2229
|
-
"embed": {"src": 1, "height": 1, "width": 1, "type": 1},
|
|
2230
|
-
"fieldset": {"disabled": 1, "form": 1, "name": 1},
|
|
2032
|
+
"embed": { "src": 1, "height": 1, "width": 1, "type": 1 },
|
|
2033
|
+
"fieldset": { "disabled": 1, "form": 1, "name": 1 },
|
|
2231
2034
|
"figcaption": {},
|
|
2232
2035
|
"figure": {},
|
|
2233
2036
|
"footer": {},
|
|
2234
|
-
"form": {"accept-charset": 1, "action": 1, "autocomplete": 1, "enctype": {"multipart/form-data": 1, "application/x-www-form-urlencoded": 1}, "method": {"get": 1, "post": 1}, "name": 1, "novalidate": 1, "target": {"_blank": 1, "top": 1}},
|
|
2037
|
+
"form": { "accept-charset": 1, "action": 1, "autocomplete": 1, "enctype": { "multipart/form-data": 1, "application/x-www-form-urlencoded": 1 }, "method": { "get": 1, "post": 1 }, "name": 1, "novalidate": 1, "target": { "_blank": 1, "top": 1 } },
|
|
2235
2038
|
"h1": {},
|
|
2236
2039
|
"h2": {},
|
|
2237
2040
|
"h3": {},
|
|
@@ -2241,109 +2044,101 @@ var attributeMap = {
|
|
|
2241
2044
|
"head": {},
|
|
2242
2045
|
"header": {},
|
|
2243
2046
|
"hr": {},
|
|
2244
|
-
"html": {"manifest": 1},
|
|
2047
|
+
"html": { "manifest": 1 },
|
|
2245
2048
|
"i": {},
|
|
2246
|
-
"iframe": {"name": 1, "src": 1, "height": 1, "width": 1, "sandbox": {"allow-same-origin": 1, "allow-top-navigation": 1, "allow-forms": 1, "allow-scripts": 1}, "seamless": {"seamless": 1}},
|
|
2247
|
-
"img": {"alt": 1, "src": 1, "height": 1, "width": 1, "usemap": 1, "ismap": 1},
|
|
2049
|
+
"iframe": { "name": 1, "src": 1, "height": 1, "width": 1, "sandbox": { "allow-same-origin": 1, "allow-top-navigation": 1, "allow-forms": 1, "allow-scripts": 1 }, "seamless": { "seamless": 1 } },
|
|
2050
|
+
"img": { "alt": 1, "src": 1, "height": 1, "width": 1, "usemap": 1, "ismap": 1 },
|
|
2248
2051
|
"input": {
|
|
2249
|
-
"type": {"text": 1, "password": 1, "hidden": 1, "checkbox": 1, "submit": 1, "radio": 1, "file": 1, "button": 1, "reset": 1, "image": 31, "color": 1, "date": 1, "datetime": 1, "datetime-local": 1, "email": 1, "month": 1, "number": 1, "range": 1, "search": 1, "tel": 1, "time": 1, "url": 1, "week": 1},
|
|
2250
|
-
"accept": 1, "alt": 1, "autocomplete": {"on": 1, "off": 1}, "autofocus": {"autofocus": 1}, "checked": {"checked": 1}, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": {"application/x-www-form-urlencoded": 1, "multipart/form-data": 1, "text/plain": 1}, "formmethod": {"get": 1, "post": 1}, "formnovalidate": {"formnovalidate": 1}, "formtarget": {"_blank": 1, "_self": 1, "_parent": 1, "_top": 1}, "height": 1, "list": 1, "max": 1, "maxlength": 1, "min": 1, "multiple": {"multiple": 1}, "name": 1, "pattern": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "size": 1, "src": 1, "step": 1, "width": 1, "files": 1, "value": 1
|
|
2251
|
-
|
|
2052
|
+
"type": { "text": 1, "password": 1, "hidden": 1, "checkbox": 1, "submit": 1, "radio": 1, "file": 1, "button": 1, "reset": 1, "image": 31, "color": 1, "date": 1, "datetime": 1, "datetime-local": 1, "email": 1, "month": 1, "number": 1, "range": 1, "search": 1, "tel": 1, "time": 1, "url": 1, "week": 1 },
|
|
2053
|
+
"accept": 1, "alt": 1, "autocomplete": { "on": 1, "off": 1 }, "autofocus": { "autofocus": 1 }, "checked": { "checked": 1 }, "disabled": { "disabled": 1 }, "form": 1, "formaction": 1, "formenctype": { "application/x-www-form-urlencoded": 1, "multipart/form-data": 1, "text/plain": 1 }, "formmethod": { "get": 1, "post": 1 }, "formnovalidate": { "formnovalidate": 1 }, "formtarget": { "_blank": 1, "_self": 1, "_parent": 1, "_top": 1 }, "height": 1, "list": 1, "max": 1, "maxlength": 1, "min": 1, "multiple": { "multiple": 1 }, "name": 1, "pattern": 1, "placeholder": 1, "readonly": { "readonly": 1 }, "required": { "required": 1 }, "size": 1, "src": 1, "step": 1, "width": 1, "files": 1, "value": 1
|
|
2054
|
+
},
|
|
2055
|
+
"ins": { "cite": 1, "datetime": 1 },
|
|
2252
2056
|
"kbd": {},
|
|
2253
|
-
"keygen": {"autofocus": 1, "challenge": {"challenge": 1}, "disabled": {"disabled": 1}, "form": 1, "keytype": {"rsa": 1, "dsa": 1, "ec": 1}, "name": 1},
|
|
2254
|
-
"label": {"form": 1, "for": 1},
|
|
2057
|
+
"keygen": { "autofocus": 1, "challenge": { "challenge": 1 }, "disabled": { "disabled": 1 }, "form": 1, "keytype": { "rsa": 1, "dsa": 1, "ec": 1 }, "name": 1 },
|
|
2058
|
+
"label": { "form": 1, "for": 1 },
|
|
2255
2059
|
"legend": {},
|
|
2256
|
-
"li": {"value": 1},
|
|
2257
|
-
"link": {"href": 1, "hreflang": 1, "rel": {"stylesheet": 1, "icon": 1}, "media": {"all": 1, "screen": 1, "print": 1}, "type": {"text/css": 1, "image/png": 1, "image/jpeg": 1, "image/gif": 1}, "sizes": 1},
|
|
2060
|
+
"li": { "value": 1 },
|
|
2061
|
+
"link": { "href": 1, "hreflang": 1, "rel": { "stylesheet": 1, "icon": 1 }, "media": { "all": 1, "screen": 1, "print": 1 }, "type": { "text/css": 1, "image/png": 1, "image/jpeg": 1, "image/gif": 1 }, "sizes": 1 },
|
|
2258
2062
|
"main": {},
|
|
2259
|
-
"map": {"name": 1},
|
|
2063
|
+
"map": { "name": 1 },
|
|
2260
2064
|
"mark": {},
|
|
2261
2065
|
"math": {},
|
|
2262
|
-
"menu": {"type": 1, "label": 1},
|
|
2263
|
-
"meta": {"http-equiv": {"content-type": 1}, "name": {"description": 1, "keywords": 1}, "content": {"text/html; charset=UTF-8": 1}, "charset": 1},
|
|
2264
|
-
"meter": {"value": 1, "min": 1, "max": 1, "low": 1, "high": 1, "optimum": 1},
|
|
2066
|
+
"menu": { "type": 1, "label": 1 },
|
|
2067
|
+
"meta": { "http-equiv": { "content-type": 1 }, "name": { "description": 1, "keywords": 1 }, "content": { "text/html; charset=UTF-8": 1 }, "charset": 1 },
|
|
2068
|
+
"meter": { "value": 1, "min": 1, "max": 1, "low": 1, "high": 1, "optimum": 1 },
|
|
2265
2069
|
"nav": {},
|
|
2266
|
-
"noscript": {"href": 1},
|
|
2267
|
-
"object": {"param": 1, "data": 1, "type": 1, "height"
|
|
2268
|
-
"ol": {"start": 1, "reversed": 1},
|
|
2269
|
-
"optgroup": {"disabled": 1, "label": 1},
|
|
2270
|
-
"option": {"disabled": 1, "selected": 1, "label": 1, "value": 1},
|
|
2271
|
-
"output": {"for": 1, "form": 1, "name": 1},
|
|
2070
|
+
"noscript": { "href": 1 },
|
|
2071
|
+
"object": { "param": 1, "data": 1, "type": 1, "height": 1, "width": 1, "usemap": 1, "name": 1, "form": 1, "classid": 1 },
|
|
2072
|
+
"ol": { "start": 1, "reversed": 1 },
|
|
2073
|
+
"optgroup": { "disabled": 1, "label": 1 },
|
|
2074
|
+
"option": { "disabled": 1, "selected": 1, "label": 1, "value": 1 },
|
|
2075
|
+
"output": { "for": 1, "form": 1, "name": 1 },
|
|
2272
2076
|
"p": {},
|
|
2273
|
-
"param": {"name": 1, "value": 1},
|
|
2077
|
+
"param": { "name": 1, "value": 1 },
|
|
2274
2078
|
"pre": {},
|
|
2275
|
-
"progress": {"value": 1, "max": 1},
|
|
2276
|
-
"q": {"cite": 1},
|
|
2079
|
+
"progress": { "value": 1, "max": 1 },
|
|
2080
|
+
"q": { "cite": 1 },
|
|
2277
2081
|
"rp": {},
|
|
2278
2082
|
"rt": {},
|
|
2279
2083
|
"ruby": {},
|
|
2280
2084
|
"s": {},
|
|
2281
2085
|
"samp": {},
|
|
2282
|
-
"script": {"charset": 1, "type": {"text/javascript": 1}, "src": 1, "defer": 1, "async": 1},
|
|
2283
|
-
"select": {"autofocus": 1, "disabled": 1, "form": 1, "multiple": {"multiple": 1}, "name": 1, "size": 1, "readonly":{"readonly": 1}},
|
|
2086
|
+
"script": { "charset": 1, "type": { "text/javascript": 1 }, "src": 1, "defer": 1, "async": 1 },
|
|
2087
|
+
"select": { "autofocus": 1, "disabled": 1, "form": 1, "multiple": { "multiple": 1 }, "name": 1, "size": 1, "readonly": { "readonly": 1 } },
|
|
2284
2088
|
"small": {},
|
|
2285
|
-
"source": {"src": 1, "type": 1, "media": 1},
|
|
2089
|
+
"source": { "src": 1, "type": 1, "media": 1 },
|
|
2286
2090
|
"span": {},
|
|
2287
2091
|
"strong": {},
|
|
2288
|
-
"style": {"type": 1, "media": {"all": 1, "screen": 1, "print": 1}, "scoped": 1},
|
|
2092
|
+
"style": { "type": 1, "media": { "all": 1, "screen": 1, "print": 1 }, "scoped": 1 },
|
|
2289
2093
|
"sub": {},
|
|
2290
2094
|
"sup": {},
|
|
2291
2095
|
"svg": {},
|
|
2292
|
-
"table": {"summary": 1},
|
|
2096
|
+
"table": { "summary": 1 },
|
|
2293
2097
|
"tbody": {},
|
|
2294
|
-
"td": {"headers": 1, "rowspan": 1, "colspan": 1},
|
|
2295
|
-
"textarea": {"autofocus": {"autofocus": 1}, "disabled": {"disabled": 1}, "form": 1, "maxlength": 1, "name": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "rows": 1, "cols": 1, "wrap": {"on": 1, "off": 1, "hard": 1, "soft": 1}},
|
|
2098
|
+
"td": { "headers": 1, "rowspan": 1, "colspan": 1 },
|
|
2099
|
+
"textarea": { "autofocus": { "autofocus": 1 }, "disabled": { "disabled": 1 }, "form": 1, "maxlength": 1, "name": 1, "placeholder": 1, "readonly": { "readonly": 1 }, "required": { "required": 1 }, "rows": 1, "cols": 1, "wrap": { "on": 1, "off": 1, "hard": 1, "soft": 1 } },
|
|
2296
2100
|
"tfoot": {},
|
|
2297
|
-
"th": {"headers": 1, "rowspan": 1, "colspan": 1, "scope": 1},
|
|
2101
|
+
"th": { "headers": 1, "rowspan": 1, "colspan": 1, "scope": 1 },
|
|
2298
2102
|
"thead": {},
|
|
2299
|
-
"time": {"datetime": 1},
|
|
2103
|
+
"time": { "datetime": 1 },
|
|
2300
2104
|
"title": {},
|
|
2301
2105
|
"tr": {},
|
|
2302
|
-
"track": {"kind": 1, "src": 1, "srclang": 1, "label": 1, "default": 1},
|
|
2106
|
+
"track": { "kind": 1, "src": 1, "srclang": 1, "label": 1, "default": 1 },
|
|
2303
2107
|
"section": {},
|
|
2304
2108
|
"summary": {},
|
|
2305
2109
|
"u": {},
|
|
2306
2110
|
"ul": {},
|
|
2307
2111
|
"var": {},
|
|
2308
|
-
"video": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "width": 1, "height": 1, "poster": 1, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1}},
|
|
2112
|
+
"video": { "src": 1, "autobuffer": 1, "autoplay": { "autoplay": 1 }, "loop": { "loop": 1 }, "controls": { "controls": 1 }, "width": 1, "height": 1, "poster": 1, "muted": { "muted": 1 }, "preload": { "auto": 1, "metadata": 1, "none": 1 } },
|
|
2309
2113
|
"wbr": {}
|
|
2310
2114
|
};
|
|
2311
|
-
|
|
2312
2115
|
var elements = Object.keys(attributeMap);
|
|
2313
|
-
|
|
2314
2116
|
function is(token, type) {
|
|
2315
2117
|
return token.type.lastIndexOf(type + ".xml") > -1;
|
|
2316
2118
|
}
|
|
2317
|
-
|
|
2318
2119
|
function findTagName(session, pos) {
|
|
2319
2120
|
var iterator = new TokenIterator(session, pos.row, pos.column);
|
|
2320
2121
|
var token = iterator.getCurrentToken();
|
|
2321
|
-
while (token && !is(token, "tag-name")){
|
|
2122
|
+
while (token && !is(token, "tag-name")) {
|
|
2322
2123
|
token = iterator.stepBackward();
|
|
2323
2124
|
}
|
|
2324
2125
|
if (token)
|
|
2325
2126
|
return token.value;
|
|
2326
2127
|
}
|
|
2327
|
-
|
|
2328
2128
|
function findAttributeName(session, pos) {
|
|
2329
2129
|
var iterator = new TokenIterator(session, pos.row, pos.column);
|
|
2330
2130
|
var token = iterator.getCurrentToken();
|
|
2331
|
-
while (token && !is(token, "attribute-name")){
|
|
2131
|
+
while (token && !is(token, "attribute-name")) {
|
|
2332
2132
|
token = iterator.stepBackward();
|
|
2333
2133
|
}
|
|
2334
2134
|
if (token)
|
|
2335
2135
|
return token.value;
|
|
2336
2136
|
}
|
|
2337
|
-
|
|
2338
|
-
var HtmlCompletions = function() {
|
|
2339
|
-
|
|
2137
|
+
var HtmlCompletions = function () {
|
|
2340
2138
|
};
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
this.getCompletions = function(state, session, pos, prefix) {
|
|
2139
|
+
(function () {
|
|
2140
|
+
this.getCompletions = function (state, session, pos, prefix) {
|
|
2345
2141
|
var token = session.getTokenAt(pos.row, pos.column);
|
|
2346
|
-
|
|
2347
2142
|
if (!token)
|
|
2348
2143
|
return [];
|
|
2349
2144
|
if (is(token, "tag-name") || is(token, "tag-open") || is(token, "end-tag-open"))
|
|
@@ -2355,12 +2150,10 @@ var HtmlCompletions = function() {
|
|
|
2355
2150
|
var line = session.getLine(pos.row).substr(0, pos.column);
|
|
2356
2151
|
if (/&[a-z]*$/i.test(line))
|
|
2357
2152
|
return this.getHTMLEntityCompletions(state, session, pos, prefix);
|
|
2358
|
-
|
|
2359
2153
|
return [];
|
|
2360
2154
|
};
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
return elements.map(function(element){
|
|
2155
|
+
this.getTagCompletions = function (state, session, pos, prefix) {
|
|
2156
|
+
return elements.map(function (element) {
|
|
2364
2157
|
return {
|
|
2365
2158
|
value: element,
|
|
2366
2159
|
meta: "tag",
|
|
@@ -2368,8 +2161,7 @@ var HtmlCompletions = function() {
|
|
|
2368
2161
|
};
|
|
2369
2162
|
});
|
|
2370
2163
|
};
|
|
2371
|
-
|
|
2372
|
-
this.getAttributeCompletions = function(state, session, pos, prefix) {
|
|
2164
|
+
this.getAttributeCompletions = function (state, session, pos, prefix) {
|
|
2373
2165
|
var tagName = findTagName(session, pos);
|
|
2374
2166
|
if (!tagName)
|
|
2375
2167
|
return [];
|
|
@@ -2377,7 +2169,7 @@ var HtmlCompletions = function() {
|
|
|
2377
2169
|
if (tagName in attributeMap) {
|
|
2378
2170
|
attributes = attributes.concat(Object.keys(attributeMap[tagName]));
|
|
2379
2171
|
}
|
|
2380
|
-
return attributes.map(function(attribute){
|
|
2172
|
+
return attributes.map(function (attribute) {
|
|
2381
2173
|
return {
|
|
2382
2174
|
caption: attribute,
|
|
2383
2175
|
snippet: attribute + '="$0"',
|
|
@@ -2386,18 +2178,16 @@ var HtmlCompletions = function() {
|
|
|
2386
2178
|
};
|
|
2387
2179
|
});
|
|
2388
2180
|
};
|
|
2389
|
-
|
|
2390
|
-
this.getAttributeValueCompletions = function(state, session, pos, prefix) {
|
|
2181
|
+
this.getAttributeValueCompletions = function (state, session, pos, prefix) {
|
|
2391
2182
|
var tagName = findTagName(session, pos);
|
|
2392
2183
|
var attributeName = findAttributeName(session, pos);
|
|
2393
|
-
|
|
2394
2184
|
if (!tagName)
|
|
2395
2185
|
return [];
|
|
2396
2186
|
var values = [];
|
|
2397
2187
|
if (tagName in attributeMap && attributeName in attributeMap[tagName] && typeof attributeMap[tagName][attributeName] === "object") {
|
|
2398
2188
|
values = Object.keys(attributeMap[tagName][attributeName]);
|
|
2399
2189
|
}
|
|
2400
|
-
return values.map(function(value){
|
|
2190
|
+
return values.map(function (value) {
|
|
2401
2191
|
return {
|
|
2402
2192
|
caption: value,
|
|
2403
2193
|
snippet: value,
|
|
@@ -2406,11 +2196,9 @@ var HtmlCompletions = function() {
|
|
|
2406
2196
|
};
|
|
2407
2197
|
});
|
|
2408
2198
|
};
|
|
2409
|
-
|
|
2410
|
-
this.getHTMLEntityCompletions = function(state, session, pos, prefix) {
|
|
2199
|
+
this.getHTMLEntityCompletions = function (state, session, pos, prefix) {
|
|
2411
2200
|
var values = ['Aacute;', 'aacute;', 'Acirc;', 'acirc;', 'acute;', 'AElig;', 'aelig;', 'Agrave;', 'agrave;', 'alefsym;', 'Alpha;', 'alpha;', 'amp;', 'and;', 'ang;', 'Aring;', 'aring;', 'asymp;', 'Atilde;', 'atilde;', 'Auml;', 'auml;', 'bdquo;', 'Beta;', 'beta;', 'brvbar;', 'bull;', 'cap;', 'Ccedil;', 'ccedil;', 'cedil;', 'cent;', 'Chi;', 'chi;', 'circ;', 'clubs;', 'cong;', 'copy;', 'crarr;', 'cup;', 'curren;', 'Dagger;', 'dagger;', 'dArr;', 'darr;', 'deg;', 'Delta;', 'delta;', 'diams;', 'divide;', 'Eacute;', 'eacute;', 'Ecirc;', 'ecirc;', 'Egrave;', 'egrave;', 'empty;', 'emsp;', 'ensp;', 'Epsilon;', 'epsilon;', 'equiv;', 'Eta;', 'eta;', 'ETH;', 'eth;', 'Euml;', 'euml;', 'euro;', 'exist;', 'fnof;', 'forall;', 'frac12;', 'frac14;', 'frac34;', 'frasl;', 'Gamma;', 'gamma;', 'ge;', 'gt;', 'hArr;', 'harr;', 'hearts;', 'hellip;', 'Iacute;', 'iacute;', 'Icirc;', 'icirc;', 'iexcl;', 'Igrave;', 'igrave;', 'image;', 'infin;', 'int;', 'Iota;', 'iota;', 'iquest;', 'isin;', 'Iuml;', 'iuml;', 'Kappa;', 'kappa;', 'Lambda;', 'lambda;', 'lang;', 'laquo;', 'lArr;', 'larr;', 'lceil;', 'ldquo;', 'le;', 'lfloor;', 'lowast;', 'loz;', 'lrm;', 'lsaquo;', 'lsquo;', 'lt;', 'macr;', 'mdash;', 'micro;', 'middot;', 'minus;', 'Mu;', 'mu;', 'nabla;', 'nbsp;', 'ndash;', 'ne;', 'ni;', 'not;', 'notin;', 'nsub;', 'Ntilde;', 'ntilde;', 'Nu;', 'nu;', 'Oacute;', 'oacute;', 'Ocirc;', 'ocirc;', 'OElig;', 'oelig;', 'Ograve;', 'ograve;', 'oline;', 'Omega;', 'omega;', 'Omicron;', 'omicron;', 'oplus;', 'or;', 'ordf;', 'ordm;', 'Oslash;', 'oslash;', 'Otilde;', 'otilde;', 'otimes;', 'Ouml;', 'ouml;', 'para;', 'part;', 'permil;', 'perp;', 'Phi;', 'phi;', 'Pi;', 'pi;', 'piv;', 'plusmn;', 'pound;', 'Prime;', 'prime;', 'prod;', 'prop;', 'Psi;', 'psi;', 'quot;', 'radic;', 'rang;', 'raquo;', 'rArr;', 'rarr;', 'rceil;', 'rdquo;', 'real;', 'reg;', 'rfloor;', 'Rho;', 'rho;', 'rlm;', 'rsaquo;', 'rsquo;', 'sbquo;', 'Scaron;', 'scaron;', 'sdot;', 'sect;', 'shy;', 'Sigma;', 'sigma;', 'sigmaf;', 'sim;', 'spades;', 'sub;', 'sube;', 'sum;', 'sup;', 'sup1;', 'sup2;', 'sup3;', 'supe;', 'szlig;', 'Tau;', 'tau;', 'there4;', 'Theta;', 'theta;', 'thetasym;', 'thinsp;', 'THORN;', 'thorn;', 'tilde;', 'times;', 'trade;', 'Uacute;', 'uacute;', 'uArr;', 'uarr;', 'Ucirc;', 'ucirc;', 'Ugrave;', 'ugrave;', 'uml;', 'upsih;', 'Upsilon;', 'upsilon;', 'Uuml;', 'uuml;', 'weierp;', 'Xi;', 'xi;', 'Yacute;', 'yacute;', 'yen;', 'Yuml;', 'yuml;', 'Zeta;', 'zeta;', 'zwj;', 'zwnj;'];
|
|
2412
|
-
|
|
2413
|
-
return values.map(function(value){
|
|
2201
|
+
return values.map(function (value) {
|
|
2414
2202
|
return {
|
|
2415
2203
|
caption: value,
|
|
2416
2204
|
snippet: value,
|
|
@@ -2419,15 +2207,12 @@ var HtmlCompletions = function() {
|
|
|
2419
2207
|
};
|
|
2420
2208
|
});
|
|
2421
2209
|
};
|
|
2422
|
-
|
|
2423
2210
|
}).call(HtmlCompletions.prototype);
|
|
2424
|
-
|
|
2425
2211
|
exports.HtmlCompletions = HtmlCompletions;
|
|
2426
|
-
});
|
|
2427
2212
|
|
|
2428
|
-
|
|
2429
|
-
"use strict";
|
|
2213
|
+
});
|
|
2430
2214
|
|
|
2215
|
+
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){"use strict";
|
|
2431
2216
|
var oop = require("../lib/oop");
|
|
2432
2217
|
var lang = require("../lib/lang");
|
|
2433
2218
|
var TextMode = require("./text").Mode;
|
|
@@ -2440,136 +2225,105 @@ var HtmlCompletions = require("./html_completions").HtmlCompletions;
|
|
|
2440
2225
|
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
|
2441
2226
|
var voidElements = ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "menuitem", "param", "source", "track", "wbr"];
|
|
2442
2227
|
var optionalEndTags = ["li", "dt", "dd", "p", "rt", "rp", "optgroup", "option", "colgroup", "td", "th"];
|
|
2443
|
-
|
|
2444
|
-
var Mode = function(options) {
|
|
2228
|
+
var Mode = function (options) {
|
|
2445
2229
|
this.fragmentContext = options && options.fragmentContext;
|
|
2446
2230
|
this.HighlightRules = HtmlHighlightRules;
|
|
2447
2231
|
this.$behaviour = new XmlBehaviour();
|
|
2448
2232
|
this.$completer = new HtmlCompletions();
|
|
2449
|
-
|
|
2450
2233
|
this.createModeDelegates({
|
|
2451
2234
|
"js-": JavaScriptMode,
|
|
2452
2235
|
"css-": CssMode
|
|
2453
2236
|
});
|
|
2454
|
-
|
|
2455
2237
|
this.foldingRules = new HtmlFoldMode(this.voidElements, lang.arrayToMap(optionalEndTags));
|
|
2456
2238
|
};
|
|
2457
2239
|
oop.inherits(Mode, TextMode);
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
this.blockComment = {start: "<!--", end: "-->"};
|
|
2462
|
-
|
|
2240
|
+
(function () {
|
|
2241
|
+
this.blockComment = { start: "<!--", end: "-->" };
|
|
2463
2242
|
this.voidElements = lang.arrayToMap(voidElements);
|
|
2464
|
-
|
|
2465
|
-
this.getNextLineIndent = function(state, line, tab) {
|
|
2243
|
+
this.getNextLineIndent = function (state, line, tab) {
|
|
2466
2244
|
return this.$getIndent(line);
|
|
2467
2245
|
};
|
|
2468
|
-
|
|
2469
|
-
this.checkOutdent = function(state, line, input) {
|
|
2246
|
+
this.checkOutdent = function (state, line, input) {
|
|
2470
2247
|
return false;
|
|
2471
2248
|
};
|
|
2472
|
-
|
|
2473
|
-
this.getCompletions = function(state, session, pos, prefix) {
|
|
2249
|
+
this.getCompletions = function (state, session, pos, prefix) {
|
|
2474
2250
|
return this.$completer.getCompletions(state, session, pos, prefix);
|
|
2475
2251
|
};
|
|
2476
|
-
|
|
2477
|
-
this.createWorker = function(session) {
|
|
2252
|
+
this.createWorker = function (session) {
|
|
2478
2253
|
if (this.constructor != Mode)
|
|
2479
2254
|
return;
|
|
2480
2255
|
var worker = new WorkerClient(["ace"], "ace/mode/html_worker", "Worker");
|
|
2481
2256
|
worker.attachToDocument(session.getDocument());
|
|
2482
|
-
|
|
2483
2257
|
if (this.fragmentContext)
|
|
2484
|
-
worker.call("setOptions", [{context: this.fragmentContext}]);
|
|
2485
|
-
|
|
2486
|
-
worker.on("error", function(e) {
|
|
2258
|
+
worker.call("setOptions", [{ context: this.fragmentContext }]);
|
|
2259
|
+
worker.on("error", function (e) {
|
|
2487
2260
|
session.setAnnotations(e.data);
|
|
2488
2261
|
});
|
|
2489
|
-
|
|
2490
|
-
worker.on("terminate", function() {
|
|
2262
|
+
worker.on("terminate", function () {
|
|
2491
2263
|
session.clearAnnotations();
|
|
2492
2264
|
});
|
|
2493
|
-
|
|
2494
2265
|
return worker;
|
|
2495
2266
|
};
|
|
2496
|
-
|
|
2497
2267
|
this.$id = "ace/mode/html";
|
|
2498
2268
|
this.snippetFileId = "ace/snippets/html";
|
|
2499
2269
|
}).call(Mode.prototype);
|
|
2500
|
-
|
|
2501
2270
|
exports.Mode = Mode;
|
|
2502
|
-
});
|
|
2503
2271
|
|
|
2504
|
-
|
|
2505
|
-
"use strict";
|
|
2272
|
+
});
|
|
2506
2273
|
|
|
2274
|
+
ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module){"use strict";
|
|
2507
2275
|
var oop = require("../lib/oop");
|
|
2508
2276
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
2509
2277
|
var constantOtherSymbol = exports.constantOtherSymbol = {
|
|
2510
|
-
token
|
|
2511
|
-
regex
|
|
2278
|
+
token: "constant.other.symbol.ruby",
|
|
2279
|
+
regex: "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
|
|
2512
2280
|
};
|
|
2513
|
-
|
|
2514
2281
|
exports.qString = {
|
|
2515
|
-
token
|
|
2516
|
-
regex
|
|
2282
|
+
token: "string",
|
|
2283
|
+
regex: "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
|
|
2517
2284
|
};
|
|
2518
|
-
|
|
2519
2285
|
exports.qqString = {
|
|
2520
|
-
token
|
|
2521
|
-
regex
|
|
2286
|
+
token: "string",
|
|
2287
|
+
regex: '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
|
|
2522
2288
|
};
|
|
2523
|
-
|
|
2524
2289
|
exports.tString = {
|
|
2525
|
-
token
|
|
2526
|
-
regex
|
|
2290
|
+
token: "string",
|
|
2291
|
+
regex: "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
|
|
2527
2292
|
};
|
|
2528
|
-
|
|
2529
2293
|
var constantNumericHex = exports.constantNumericHex = {
|
|
2530
|
-
token
|
|
2531
|
-
regex
|
|
2294
|
+
token: "constant.numeric",
|
|
2295
|
+
regex: "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
|
|
2532
2296
|
};
|
|
2533
|
-
|
|
2534
2297
|
var constantNumericBinary = exports.constantNumericBinary = {
|
|
2535
2298
|
token: "constant.numeric",
|
|
2536
2299
|
regex: /\b(0[bB][01](?:[01]|_(?=[01]))*)\b/
|
|
2537
2300
|
};
|
|
2538
|
-
|
|
2539
2301
|
var constantNumericDecimal = exports.constantNumericDecimal = {
|
|
2540
2302
|
token: "constant.numeric",
|
|
2541
2303
|
regex: /\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/
|
|
2542
2304
|
};
|
|
2543
|
-
|
|
2544
2305
|
var constantNumericOctal = exports.constantNumericDecimal = {
|
|
2545
2306
|
token: "constant.numeric",
|
|
2546
2307
|
regex: /\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/
|
|
2547
2308
|
};
|
|
2548
|
-
|
|
2549
2309
|
var constantNumericRational = exports.constantNumericRational = {
|
|
2550
|
-
token: "constant.numeric",
|
|
2310
|
+
token: "constant.numeric",
|
|
2551
2311
|
regex: /\b([\d]+(?:[./][\d]+)?ri?)\b/
|
|
2552
2312
|
};
|
|
2553
|
-
|
|
2554
2313
|
var constantNumericComplex = exports.constantNumericComplex = {
|
|
2555
|
-
token: "constant.numeric",
|
|
2314
|
+
token: "constant.numeric",
|
|
2556
2315
|
regex: /\b([\d]i)\b/
|
|
2557
2316
|
};
|
|
2558
|
-
|
|
2559
2317
|
var constantNumericFloat = exports.constantNumericFloat = {
|
|
2560
|
-
token
|
|
2561
|
-
regex
|
|
2318
|
+
token: "constant.numeric",
|
|
2319
|
+
regex: "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"
|
|
2562
2320
|
};
|
|
2563
|
-
|
|
2564
2321
|
var instanceVariable = exports.instanceVariable = {
|
|
2565
|
-
token
|
|
2566
|
-
regex
|
|
2322
|
+
token: "variable.instance",
|
|
2323
|
+
regex: "@{1,2}[a-zA-Z_\\d]+"
|
|
2567
2324
|
};
|
|
2568
|
-
|
|
2569
|
-
var
|
|
2570
|
-
|
|
2571
|
-
var builtinFunctions = (
|
|
2572
|
-
"abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|" +
|
|
2325
|
+
var RubyHighlightRules = function () {
|
|
2326
|
+
var builtinFunctions = ("abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|" +
|
|
2573
2327
|
"assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|" +
|
|
2574
2328
|
"assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|" +
|
|
2575
2329
|
"assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|" +
|
|
@@ -2599,25 +2353,14 @@ var RubyHighlightRules = function() {
|
|
|
2599
2353
|
"translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" +
|
|
2600
2354
|
"cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" +
|
|
2601
2355
|
"has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|" +
|
|
2602
|
-
"private_class_method|remove_method|undef_method"
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
var keywords = (
|
|
2606
|
-
"alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
|
|
2356
|
+
"private_class_method|remove_method|undef_method");
|
|
2357
|
+
var keywords = ("alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
|
|
2607
2358
|
"__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" +
|
|
2608
|
-
"redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend"
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
var
|
|
2612
|
-
"
|
|
2613
|
-
"RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION"
|
|
2614
|
-
);
|
|
2615
|
-
|
|
2616
|
-
var builtinVariables = (
|
|
2617
|
-
"$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|" +
|
|
2618
|
-
"$!|root_url|flash|session|cookies|params|request|response|logger|self"
|
|
2619
|
-
);
|
|
2620
|
-
|
|
2359
|
+
"redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend");
|
|
2360
|
+
var buildinConstants = ("true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
|
|
2361
|
+
"RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION");
|
|
2362
|
+
var builtinVariables = ("$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|" +
|
|
2363
|
+
"$!|root_url|flash|session|cookies|params|request|response|logger|self");
|
|
2621
2364
|
var keywordMapper = this.$keywords = this.createKeywordMapper({
|
|
2622
2365
|
"keyword": keywords,
|
|
2623
2366
|
"constant.language": buildinConstants,
|
|
@@ -2625,9 +2368,7 @@ var RubyHighlightRules = function() {
|
|
|
2625
2368
|
"support.function": builtinFunctions,
|
|
2626
2369
|
"invalid.deprecated": "debugger" // TODO is this a remnant from js mode?
|
|
2627
2370
|
}, "identifier");
|
|
2628
|
-
|
|
2629
2371
|
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})*})";
|
|
2630
|
-
|
|
2631
2372
|
var closeParen = {
|
|
2632
2373
|
"(": ")",
|
|
2633
2374
|
"[": "]",
|
|
@@ -2637,14 +2378,13 @@ var RubyHighlightRules = function() {
|
|
|
2637
2378
|
"|": "|",
|
|
2638
2379
|
"%": "%"
|
|
2639
2380
|
};
|
|
2640
|
-
|
|
2641
2381
|
this.$rules = {
|
|
2642
2382
|
"start": [
|
|
2643
2383
|
{
|
|
2644
2384
|
token: "comment",
|
|
2645
2385
|
regex: "#.*$"
|
|
2646
2386
|
}, {
|
|
2647
|
-
token: "comment.multiline",
|
|
2387
|
+
token: "comment.multiline",
|
|
2648
2388
|
regex: "^=begin(?=$|\\s.*$)",
|
|
2649
2389
|
next: "comment"
|
|
2650
2390
|
}, {
|
|
@@ -2652,116 +2392,114 @@ var RubyHighlightRules = function() {
|
|
|
2652
2392
|
regex: /[/](?=.*\/)/,
|
|
2653
2393
|
next: "regex"
|
|
2654
2394
|
},
|
|
2655
|
-
|
|
2656
2395
|
[{
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2396
|
+
token: ["constant.other.symbol.ruby", "string.start"],
|
|
2397
|
+
regex: /(:)?(")/,
|
|
2398
|
+
push: [{
|
|
2399
|
+
token: "constant.language.escape",
|
|
2400
|
+
regex: escapedChars
|
|
2401
|
+
}, {
|
|
2402
|
+
token: "paren.start",
|
|
2403
|
+
regex: /#{/,
|
|
2404
|
+
push: "start"
|
|
2405
|
+
}, {
|
|
2406
|
+
token: "string.end",
|
|
2407
|
+
regex: /"/,
|
|
2408
|
+
next: "pop"
|
|
2409
|
+
}, {
|
|
2410
|
+
defaultToken: "string"
|
|
2411
|
+
}]
|
|
2666
2412
|
}, {
|
|
2667
|
-
token: "string.
|
|
2668
|
-
regex:
|
|
2669
|
-
|
|
2413
|
+
token: "string.start",
|
|
2414
|
+
regex: /`/,
|
|
2415
|
+
push: [{
|
|
2416
|
+
token: "constant.language.escape",
|
|
2417
|
+
regex: escapedChars
|
|
2418
|
+
}, {
|
|
2419
|
+
token: "paren.start",
|
|
2420
|
+
regex: /#{/,
|
|
2421
|
+
push: "start"
|
|
2422
|
+
}, {
|
|
2423
|
+
token: "string.end",
|
|
2424
|
+
regex: /`/,
|
|
2425
|
+
next: "pop"
|
|
2426
|
+
}, {
|
|
2427
|
+
defaultToken: "string"
|
|
2428
|
+
}]
|
|
2670
2429
|
}, {
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2430
|
+
token: ["constant.other.symbol.ruby", "string.start"],
|
|
2431
|
+
regex: /(:)?(')/,
|
|
2432
|
+
push: [{
|
|
2433
|
+
token: "constant.language.escape",
|
|
2434
|
+
regex: /\\['\\]/
|
|
2435
|
+
}, {
|
|
2436
|
+
token: "string.end",
|
|
2437
|
+
regex: /'/,
|
|
2438
|
+
next: "pop"
|
|
2439
|
+
}, {
|
|
2440
|
+
defaultToken: "string"
|
|
2441
|
+
}]
|
|
2679
2442
|
}, {
|
|
2680
|
-
token: "
|
|
2681
|
-
regex:
|
|
2682
|
-
|
|
2443
|
+
token: "string.start",
|
|
2444
|
+
regex: /%[qwx]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2445
|
+
if (stack.length)
|
|
2446
|
+
stack = [];
|
|
2447
|
+
var paren = val[val.length - 1];
|
|
2448
|
+
stack.unshift(paren, state);
|
|
2449
|
+
this.next = "qStateWithoutInterpolation";
|
|
2450
|
+
return this.token;
|
|
2451
|
+
}
|
|
2683
2452
|
}, {
|
|
2684
|
-
token: "string.
|
|
2685
|
-
regex:
|
|
2686
|
-
|
|
2453
|
+
token: "string.start",
|
|
2454
|
+
regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2455
|
+
if (stack.length)
|
|
2456
|
+
stack = [];
|
|
2457
|
+
var paren = val[val.length - 1];
|
|
2458
|
+
stack.unshift(paren, state);
|
|
2459
|
+
this.next = "qStateWithInterpolation";
|
|
2460
|
+
return this.token;
|
|
2461
|
+
}
|
|
2687
2462
|
}, {
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2463
|
+
token: "constant.other.symbol.ruby",
|
|
2464
|
+
regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2465
|
+
if (stack.length)
|
|
2466
|
+
stack = [];
|
|
2467
|
+
var paren = val[val.length - 1];
|
|
2468
|
+
stack.unshift(paren, state);
|
|
2469
|
+
this.next = "sStateWithoutInterpolation";
|
|
2470
|
+
return this.token;
|
|
2471
|
+
}
|
|
2696
2472
|
}, {
|
|
2697
|
-
token: "
|
|
2698
|
-
regex:
|
|
2699
|
-
|
|
2473
|
+
token: "constant.other.symbol.ruby",
|
|
2474
|
+
regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2475
|
+
if (stack.length)
|
|
2476
|
+
stack = [];
|
|
2477
|
+
var paren = val[val.length - 1];
|
|
2478
|
+
stack.unshift(paren, state);
|
|
2479
|
+
this.next = "sStateWithInterpolation";
|
|
2480
|
+
return this.token;
|
|
2481
|
+
}
|
|
2700
2482
|
}, {
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
return this.token;
|
|
2712
|
-
}
|
|
2713
|
-
}, {
|
|
2714
|
-
token: "string.start", //doesn't see any differences between strings and array of strings in highlighting
|
|
2715
|
-
regex: /%[QWX]?([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2716
|
-
if (stack.length)
|
|
2717
|
-
stack = [];
|
|
2718
|
-
var paren = val[val.length - 1];
|
|
2719
|
-
stack.unshift(paren, state);
|
|
2720
|
-
this.next = "qStateWithInterpolation";
|
|
2721
|
-
return this.token;
|
|
2722
|
-
}
|
|
2723
|
-
}, {
|
|
2724
|
-
token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
|
|
2725
|
-
regex: /%[si]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2726
|
-
if (stack.length)
|
|
2727
|
-
stack = [];
|
|
2728
|
-
var paren = val[val.length - 1];
|
|
2729
|
-
stack.unshift(paren, state);
|
|
2730
|
-
this.next = "sStateWithoutInterpolation";
|
|
2731
|
-
return this.token;
|
|
2732
|
-
}
|
|
2733
|
-
}, {
|
|
2734
|
-
token: "constant.other.symbol.ruby", //doesn't see any differences between symbols and array of symbols in highlighting
|
|
2735
|
-
regex: /%[SI]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2736
|
-
if (stack.length)
|
|
2737
|
-
stack = [];
|
|
2738
|
-
var paren = val[val.length - 1];
|
|
2739
|
-
stack.unshift(paren, state);
|
|
2740
|
-
this.next = "sStateWithInterpolation";
|
|
2741
|
-
return this.token;
|
|
2742
|
-
}
|
|
2743
|
-
}, {
|
|
2744
|
-
token: "string.regexp",
|
|
2745
|
-
regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2746
|
-
if (stack.length)
|
|
2747
|
-
stack = [];
|
|
2748
|
-
var paren = val[val.length - 1];
|
|
2749
|
-
stack.unshift(paren, state);
|
|
2750
|
-
this.next = "rState";
|
|
2751
|
-
return this.token;
|
|
2752
|
-
}
|
|
2753
|
-
}],
|
|
2754
|
-
|
|
2483
|
+
token: "string.regexp",
|
|
2484
|
+
regex: /%[r]([(\[<{^|%])/, onMatch: function (val, state, stack) {
|
|
2485
|
+
if (stack.length)
|
|
2486
|
+
stack = [];
|
|
2487
|
+
var paren = val[val.length - 1];
|
|
2488
|
+
stack.unshift(paren, state);
|
|
2489
|
+
this.next = "rState";
|
|
2490
|
+
return this.token;
|
|
2491
|
+
}
|
|
2492
|
+
}],
|
|
2755
2493
|
{
|
|
2756
|
-
token: "punctuation",
|
|
2494
|
+
token: "punctuation",
|
|
2757
2495
|
regex: "::"
|
|
2758
2496
|
},
|
|
2759
2497
|
instanceVariable,
|
|
2760
2498
|
{
|
|
2761
|
-
token: "variable.global",
|
|
2499
|
+
token: "variable.global",
|
|
2762
2500
|
regex: "[$][a-zA-Z_\\d]+"
|
|
2763
2501
|
}, {
|
|
2764
|
-
token: "support.class",
|
|
2502
|
+
token: "support.class",
|
|
2765
2503
|
regex: "[A-Z][a-zA-Z_\\d]*"
|
|
2766
2504
|
}, {
|
|
2767
2505
|
token: ["punctuation.operator", "support.function"],
|
|
@@ -2776,7 +2514,6 @@ var RubyHighlightRules = function() {
|
|
|
2776
2514
|
token: "punctuation.operator",
|
|
2777
2515
|
regex: /\?(?=.+:)/
|
|
2778
2516
|
},
|
|
2779
|
-
|
|
2780
2517
|
constantNumericRational,
|
|
2781
2518
|
constantNumericComplex,
|
|
2782
2519
|
constantOtherSymbol,
|
|
@@ -2801,55 +2538,55 @@ var RubyHighlightRules = function() {
|
|
|
2801
2538
|
var tokens = value.split(this.splitRegex);
|
|
2802
2539
|
stack.push(next, tokens[3]);
|
|
2803
2540
|
return [
|
|
2804
|
-
{type: "constant", value: tokens[1]},
|
|
2805
|
-
{type: "string", value: tokens[2]},
|
|
2806
|
-
{type: "support.class", value: tokens[3]},
|
|
2807
|
-
{type: "string", value: tokens[4]}
|
|
2541
|
+
{ type: "constant", value: tokens[1] },
|
|
2542
|
+
{ type: "string", value: tokens[2] },
|
|
2543
|
+
{ type: "support.class", value: tokens[3] },
|
|
2544
|
+
{ type: "string", value: tokens[4] }
|
|
2808
2545
|
];
|
|
2809
2546
|
},
|
|
2810
2547
|
regex: "(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",
|
|
2811
2548
|
rules: {
|
|
2812
2549
|
heredoc: [{
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2550
|
+
onMatch: function (value, currentState, stack) {
|
|
2551
|
+
if (value === stack[1]) {
|
|
2552
|
+
stack.shift();
|
|
2553
|
+
stack.shift();
|
|
2554
|
+
this.next = stack[0] || "start";
|
|
2555
|
+
return "support.class";
|
|
2556
|
+
}
|
|
2557
|
+
this.next = "";
|
|
2558
|
+
return "string";
|
|
2559
|
+
},
|
|
2560
|
+
regex: ".*$",
|
|
2561
|
+
next: "start"
|
|
2562
|
+
}],
|
|
2826
2563
|
indentedHeredoc: [{
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2564
|
+
token: "string",
|
|
2565
|
+
regex: "^ +"
|
|
2566
|
+
}, {
|
|
2567
|
+
onMatch: function (value, currentState, stack) {
|
|
2568
|
+
if (value === stack[1]) {
|
|
2569
|
+
stack.shift();
|
|
2570
|
+
stack.shift();
|
|
2571
|
+
this.next = stack[0] || "start";
|
|
2572
|
+
return "support.class";
|
|
2573
|
+
}
|
|
2574
|
+
this.next = "";
|
|
2575
|
+
return "string";
|
|
2576
|
+
},
|
|
2577
|
+
regex: ".*$",
|
|
2578
|
+
next: "start"
|
|
2579
|
+
}]
|
|
2843
2580
|
}
|
|
2844
2581
|
}, {
|
|
2845
2582
|
regex: "$",
|
|
2846
2583
|
token: "empty",
|
|
2847
|
-
next: function(currentState, stack) {
|
|
2584
|
+
next: function (currentState, stack) {
|
|
2848
2585
|
if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
|
|
2849
2586
|
return stack[0];
|
|
2850
2587
|
return currentState;
|
|
2851
2588
|
}
|
|
2852
|
-
},
|
|
2589
|
+
}, {
|
|
2853
2590
|
token: "keyword.operator",
|
|
2854
2591
|
regex: "!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"
|
|
2855
2592
|
}, {
|
|
@@ -2858,7 +2595,7 @@ var RubyHighlightRules = function() {
|
|
|
2858
2595
|
}, {
|
|
2859
2596
|
token: "paren.rparen",
|
|
2860
2597
|
regex: "[\\])}]",
|
|
2861
|
-
onMatch: function(value, currentState, stack) {
|
|
2598
|
+
onMatch: function (value, currentState, stack) {
|
|
2862
2599
|
this.next = '';
|
|
2863
2600
|
if (value == "}" && stack.length > 1 && stack[1] != "start") {
|
|
2864
2601
|
stack.shift();
|
|
@@ -2876,166 +2613,166 @@ var RubyHighlightRules = function() {
|
|
|
2876
2613
|
],
|
|
2877
2614
|
"comment": [
|
|
2878
2615
|
{
|
|
2879
|
-
token: "comment.multiline",
|
|
2616
|
+
token: "comment.multiline",
|
|
2880
2617
|
regex: "^=end(?=$|\\s.*$)",
|
|
2881
2618
|
next: "start"
|
|
2882
2619
|
}, {
|
|
2883
|
-
token: "comment",
|
|
2620
|
+
token: "comment",
|
|
2884
2621
|
regex: ".+"
|
|
2885
2622
|
}
|
|
2886
2623
|
],
|
|
2887
2624
|
"qStateWithInterpolation": [{
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2625
|
+
token: "string.start",
|
|
2626
|
+
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
|
|
2627
|
+
if (stack.length && val === stack[0]) {
|
|
2628
|
+
stack.unshift(val, state);
|
|
2629
|
+
return this.token;
|
|
2630
|
+
}
|
|
2631
|
+
return "string";
|
|
2893
2632
|
}
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2633
|
+
}, {
|
|
2634
|
+
token: "constant.language.escape",
|
|
2635
|
+
regex: escapedChars
|
|
2636
|
+
}, {
|
|
2637
|
+
token: "constant.language.escape",
|
|
2638
|
+
regex: /\\./
|
|
2639
|
+
}, {
|
|
2640
|
+
token: "paren.start",
|
|
2641
|
+
regex: /#{/,
|
|
2642
|
+
push: "start"
|
|
2643
|
+
}, {
|
|
2644
|
+
token: "string.end",
|
|
2645
|
+
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
|
|
2646
|
+
if (stack.length && val === closeParen[stack[0]]) {
|
|
2647
|
+
stack.shift();
|
|
2648
|
+
this.next = stack.shift();
|
|
2649
|
+
return this.token;
|
|
2650
|
+
}
|
|
2651
|
+
this.next = '';
|
|
2652
|
+
return "string";
|
|
2913
2653
|
}
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
}
|
|
2917
|
-
}, {
|
|
2918
|
-
defaultToken: "string"
|
|
2919
|
-
}],
|
|
2654
|
+
}, {
|
|
2655
|
+
defaultToken: "string"
|
|
2656
|
+
}],
|
|
2920
2657
|
"qStateWithoutInterpolation": [{
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2658
|
+
token: "string.start",
|
|
2659
|
+
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
|
|
2660
|
+
if (stack.length && val === stack[0]) {
|
|
2661
|
+
stack.unshift(val, state);
|
|
2662
|
+
return this.token;
|
|
2663
|
+
}
|
|
2664
|
+
return "string";
|
|
2926
2665
|
}
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2666
|
+
}, {
|
|
2667
|
+
token: "constant.language.escape",
|
|
2668
|
+
regex: /\\['\\]/
|
|
2669
|
+
}, {
|
|
2670
|
+
token: "constant.language.escape",
|
|
2671
|
+
regex: /\\./
|
|
2672
|
+
}, {
|
|
2673
|
+
token: "string.end",
|
|
2674
|
+
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
|
|
2675
|
+
if (stack.length && val === closeParen[stack[0]]) {
|
|
2676
|
+
stack.shift();
|
|
2677
|
+
this.next = stack.shift();
|
|
2678
|
+
return this.token;
|
|
2679
|
+
}
|
|
2680
|
+
this.next = '';
|
|
2681
|
+
return "string";
|
|
2942
2682
|
}
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
}
|
|
2946
|
-
}, {
|
|
2947
|
-
defaultToken: "string"
|
|
2948
|
-
}],
|
|
2683
|
+
}, {
|
|
2684
|
+
defaultToken: "string"
|
|
2685
|
+
}],
|
|
2949
2686
|
"sStateWithoutInterpolation": [{
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2687
|
+
token: "constant.other.symbol.ruby",
|
|
2688
|
+
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
|
|
2689
|
+
if (stack.length && val === stack[0]) {
|
|
2690
|
+
stack.unshift(val, state);
|
|
2691
|
+
return this.token;
|
|
2692
|
+
}
|
|
2693
|
+
return "constant.other.symbol.ruby";
|
|
2955
2694
|
}
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2695
|
+
}, {
|
|
2696
|
+
token: "constant.other.symbol.ruby",
|
|
2697
|
+
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
|
|
2698
|
+
if (stack.length && val === closeParen[stack[0]]) {
|
|
2699
|
+
stack.shift();
|
|
2700
|
+
this.next = stack.shift();
|
|
2701
|
+
return this.token;
|
|
2702
|
+
}
|
|
2703
|
+
this.next = '';
|
|
2704
|
+
return "constant.other.symbol.ruby";
|
|
2965
2705
|
}
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
}
|
|
2969
|
-
}, {
|
|
2970
|
-
defaultToken: "constant.other.symbol.ruby"
|
|
2971
|
-
}],
|
|
2706
|
+
}, {
|
|
2707
|
+
defaultToken: "constant.other.symbol.ruby"
|
|
2708
|
+
}],
|
|
2972
2709
|
"sStateWithInterpolation": [{
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2710
|
+
token: "constant.other.symbol.ruby",
|
|
2711
|
+
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
|
|
2712
|
+
if (stack.length && val === stack[0]) {
|
|
2713
|
+
stack.unshift(val, state);
|
|
2714
|
+
return this.token;
|
|
2715
|
+
}
|
|
2716
|
+
return "constant.other.symbol.ruby";
|
|
2978
2717
|
}
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2718
|
+
}, {
|
|
2719
|
+
token: "constant.language.escape",
|
|
2720
|
+
regex: escapedChars
|
|
2721
|
+
}, {
|
|
2722
|
+
token: "constant.language.escape",
|
|
2723
|
+
regex: /\\./
|
|
2724
|
+
}, {
|
|
2725
|
+
token: "paren.start",
|
|
2726
|
+
regex: /#{/,
|
|
2727
|
+
push: "start"
|
|
2728
|
+
}, {
|
|
2729
|
+
token: "constant.other.symbol.ruby",
|
|
2730
|
+
regex: /[)\]>}^|%]/, onMatch: function (val, state, stack) {
|
|
2731
|
+
if (stack.length && val === closeParen[stack[0]]) {
|
|
2732
|
+
stack.shift();
|
|
2733
|
+
this.next = stack.shift();
|
|
2734
|
+
return this.token;
|
|
2735
|
+
}
|
|
2736
|
+
this.next = '';
|
|
2737
|
+
return "constant.other.symbol.ruby";
|
|
2998
2738
|
}
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
}
|
|
3002
|
-
}, {
|
|
3003
|
-
defaultToken: "constant.other.symbol.ruby"
|
|
3004
|
-
}],
|
|
2739
|
+
}, {
|
|
2740
|
+
defaultToken: "constant.other.symbol.ruby"
|
|
2741
|
+
}],
|
|
3005
2742
|
"rState": [{
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
2743
|
+
token: "string.regexp",
|
|
2744
|
+
regex: /[(\[<{]/, onMatch: function (val, state, stack) {
|
|
2745
|
+
if (stack.length && val === stack[0]) {
|
|
2746
|
+
stack.unshift(val, state);
|
|
2747
|
+
return this.token;
|
|
2748
|
+
}
|
|
2749
|
+
return "constant.language.escape";
|
|
3011
2750
|
}
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
2751
|
+
}, {
|
|
2752
|
+
token: "paren.start",
|
|
2753
|
+
regex: /#{/,
|
|
2754
|
+
push: "start"
|
|
2755
|
+
}, {
|
|
2756
|
+
token: "string.regexp",
|
|
2757
|
+
regex: /\//
|
|
2758
|
+
}, {
|
|
2759
|
+
token: "string.regexp",
|
|
2760
|
+
regex: /[)\]>}^|%][imxouesn]*/, onMatch: function (val, state, stack) {
|
|
2761
|
+
if (stack.length && val[0] === closeParen[stack[0]]) {
|
|
2762
|
+
stack.shift();
|
|
2763
|
+
this.next = stack.shift();
|
|
2764
|
+
return this.token;
|
|
2765
|
+
}
|
|
2766
|
+
this.next = '';
|
|
2767
|
+
return "constant.language.escape";
|
|
3028
2768
|
}
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
}
|
|
3032
|
-
},
|
|
3033
|
-
{include: "regex"},
|
|
2769
|
+
},
|
|
2770
|
+
{ include: "regex" },
|
|
3034
2771
|
{
|
|
3035
2772
|
defaultToken: "string.regexp"
|
|
3036
2773
|
}],
|
|
3037
2774
|
"regex": [
|
|
3038
|
-
{
|
|
2775
|
+
{
|
|
3039
2776
|
token: "regexp.keyword",
|
|
3040
2777
|
regex: /\\[wWdDhHsS]/
|
|
3041
2778
|
}, {
|
|
@@ -3050,17 +2787,17 @@ var RubyHighlightRules = function() {
|
|
|
3050
2787
|
}, {
|
|
3051
2788
|
token: ["constant.language.escape", "invalid", "constant.language.escape"],
|
|
3052
2789
|
regex: /(\\p{\^?)([^/]*)(})/
|
|
3053
|
-
}, {
|
|
2790
|
+
}, {
|
|
3054
2791
|
token: "regexp.keyword.operator",
|
|
3055
2792
|
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
|
|
3056
|
-
}, {
|
|
2793
|
+
}, {
|
|
3057
2794
|
token: "string.regexp",
|
|
3058
2795
|
regex: /[/][imxouesn]*/,
|
|
3059
2796
|
next: "start"
|
|
3060
|
-
}, {
|
|
2797
|
+
}, {
|
|
3061
2798
|
token: "invalid",
|
|
3062
2799
|
regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
|
|
3063
|
-
}, {
|
|
2800
|
+
}, {
|
|
3064
2801
|
token: "constant.language.escape",
|
|
3065
2802
|
regex: /\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
|
|
3066
2803
|
}, {
|
|
@@ -3100,29 +2837,21 @@ var RubyHighlightRules = function() {
|
|
|
3100
2837
|
}
|
|
3101
2838
|
]
|
|
3102
2839
|
};
|
|
3103
|
-
|
|
3104
2840
|
this.normalizeRules();
|
|
3105
2841
|
};
|
|
3106
|
-
|
|
3107
2842
|
oop.inherits(RubyHighlightRules, TextHighlightRules);
|
|
3108
|
-
|
|
3109
2843
|
exports.RubyHighlightRules = RubyHighlightRules;
|
|
3110
|
-
});
|
|
3111
2844
|
|
|
3112
|
-
|
|
3113
|
-
"use strict";
|
|
2845
|
+
});
|
|
3114
2846
|
|
|
2847
|
+
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";
|
|
3115
2848
|
var oop = require("../../lib/oop");
|
|
3116
2849
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
|
3117
2850
|
var Range = require("../../range").Range;
|
|
3118
2851
|
var TokenIterator = require("../../token_iterator").TokenIterator;
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
2852
|
var FoldMode = exports.FoldMode = function () {
|
|
3122
2853
|
};
|
|
3123
|
-
|
|
3124
2854
|
oop.inherits(FoldMode, BaseFoldMode);
|
|
3125
|
-
|
|
3126
2855
|
(function () {
|
|
3127
2856
|
this.indentKeywords = {
|
|
3128
2857
|
"class": 1,
|
|
@@ -3145,15 +2874,12 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3145
2874
|
"=begin": 1,
|
|
3146
2875
|
"=end": -1
|
|
3147
2876
|
};
|
|
3148
|
-
|
|
3149
2877
|
this.foldingStartMarker = /(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/;
|
|
3150
2878
|
this.foldingStopMarker = /(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/;
|
|
3151
|
-
|
|
3152
2879
|
this.getFoldWidget = function (session, foldStyle, row) {
|
|
3153
2880
|
var line = session.getLine(row);
|
|
3154
2881
|
var isStart = this.foldingStartMarker.test(line);
|
|
3155
2882
|
var isEnd = this.foldingStopMarker.test(line);
|
|
3156
|
-
|
|
3157
2883
|
if (isStart && !isEnd) {
|
|
3158
2884
|
var match = line.match(this.foldingStartMarker);
|
|
3159
2885
|
if (match[1]) {
|
|
@@ -3165,7 +2891,6 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3165
2891
|
return;
|
|
3166
2892
|
}
|
|
3167
2893
|
}
|
|
3168
|
-
|
|
3169
2894
|
if (match[1] == "when") {
|
|
3170
2895
|
if (/\sthen\s/.test(line) === true) {
|
|
3171
2896
|
return;
|
|
@@ -3173,60 +2898,55 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3173
2898
|
}
|
|
3174
2899
|
if (session.getTokenAt(row, match.index + 2).type === "keyword")
|
|
3175
2900
|
return "start";
|
|
3176
|
-
}
|
|
2901
|
+
}
|
|
2902
|
+
else if (match[3]) {
|
|
3177
2903
|
if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
|
|
3178
2904
|
return "start";
|
|
3179
|
-
}
|
|
2905
|
+
}
|
|
2906
|
+
else {
|
|
3180
2907
|
return "start";
|
|
3181
2908
|
}
|
|
3182
2909
|
}
|
|
3183
2910
|
if (foldStyle != "markbeginend" || !isEnd || isStart && isEnd)
|
|
3184
2911
|
return "";
|
|
3185
|
-
|
|
3186
2912
|
var match = line.match(this.foldingStopMarker);
|
|
3187
2913
|
if (match[3] === "end") {
|
|
3188
2914
|
if (session.getTokenAt(row, match.index + 1).type === "keyword")
|
|
3189
2915
|
return "end";
|
|
3190
|
-
}
|
|
2916
|
+
}
|
|
2917
|
+
else if (match[1]) {
|
|
3191
2918
|
if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
|
|
3192
2919
|
return "end";
|
|
3193
|
-
}
|
|
2920
|
+
}
|
|
2921
|
+
else
|
|
3194
2922
|
return "end";
|
|
3195
2923
|
};
|
|
3196
|
-
|
|
3197
2924
|
this.getFoldWidgetRange = function (session, foldStyle, row) {
|
|
3198
2925
|
var line = session.doc.getLine(row);
|
|
3199
2926
|
var match = this.foldingStartMarker.exec(line);
|
|
3200
2927
|
if (match) {
|
|
3201
2928
|
if (match[1] || match[3])
|
|
3202
2929
|
return this.rubyBlock(session, row, match.index + 2);
|
|
3203
|
-
|
|
3204
2930
|
return this.openingBracketBlock(session, "{", row, match.index);
|
|
3205
2931
|
}
|
|
3206
|
-
|
|
3207
2932
|
var match = this.foldingStopMarker.exec(line);
|
|
3208
2933
|
if (match) {
|
|
3209
2934
|
if (match[3] === "end") {
|
|
3210
2935
|
if (session.getTokenAt(row, match.index + 1).type === "keyword")
|
|
3211
2936
|
return this.rubyBlock(session, row, match.index + 1);
|
|
3212
2937
|
}
|
|
3213
|
-
|
|
3214
2938
|
if (match[1] === "=end") {
|
|
3215
2939
|
if (session.getTokenAt(row, match.index + 1).type === "comment.multiline")
|
|
3216
2940
|
return this.rubyBlock(session, row, match.index + 1);
|
|
3217
2941
|
}
|
|
3218
|
-
|
|
3219
2942
|
return this.closingBracketBlock(session, "}", row, match.index + match[0].length);
|
|
3220
2943
|
}
|
|
3221
2944
|
};
|
|
3222
|
-
|
|
3223
2945
|
this.rubyBlock = function (session, row, column, tokenRange) {
|
|
3224
2946
|
var stream = new TokenIterator(session, row, column);
|
|
3225
|
-
|
|
3226
2947
|
var token = stream.getCurrentToken();
|
|
3227
2948
|
if (!token || (token.type != "keyword" && token.type != "comment.multiline"))
|
|
3228
2949
|
return;
|
|
3229
|
-
|
|
3230
2950
|
var val = token.value;
|
|
3231
2951
|
var line = session.getLine(row);
|
|
3232
2952
|
switch (token.value) {
|
|
@@ -3260,16 +2980,13 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3260
2980
|
var dir = this.indentKeywords[val];
|
|
3261
2981
|
break;
|
|
3262
2982
|
}
|
|
3263
|
-
|
|
3264
2983
|
var stack = [val];
|
|
3265
2984
|
if (!dir)
|
|
3266
2985
|
return;
|
|
3267
|
-
|
|
3268
2986
|
var startColumn = dir === -1 ? session.getLine(row - 1).length : session.getLine(row).length;
|
|
3269
2987
|
var startRow = row;
|
|
3270
2988
|
var ranges = [];
|
|
3271
2989
|
ranges.push(stream.getCurrentTokenRange());
|
|
3272
|
-
|
|
3273
2990
|
stream.step = dir === -1 ? stream.stepBackward : stream.stepForward;
|
|
3274
2991
|
if (token.type == "comment.multiline") {
|
|
3275
2992
|
while (token = stream.step()) {
|
|
@@ -3280,13 +2997,15 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3280
2997
|
if (token.value == "=end") {
|
|
3281
2998
|
break;
|
|
3282
2999
|
}
|
|
3283
|
-
}
|
|
3000
|
+
}
|
|
3001
|
+
else {
|
|
3284
3002
|
if (token.value == "=begin") {
|
|
3285
3003
|
break;
|
|
3286
3004
|
}
|
|
3287
3005
|
}
|
|
3288
3006
|
}
|
|
3289
|
-
}
|
|
3007
|
+
}
|
|
3008
|
+
else {
|
|
3290
3009
|
while (token = stream.step()) {
|
|
3291
3010
|
var ignore = false;
|
|
3292
3011
|
if (token.type !== "keyword")
|
|
@@ -3327,10 +3046,10 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3327
3046
|
}
|
|
3328
3047
|
break;
|
|
3329
3048
|
}
|
|
3330
|
-
|
|
3331
3049
|
if (level > 0) {
|
|
3332
3050
|
stack.unshift(token.value);
|
|
3333
|
-
}
|
|
3051
|
+
}
|
|
3052
|
+
else if (level <= 0 && ignore === false) {
|
|
3334
3053
|
stack.shift();
|
|
3335
3054
|
if (!stack.length) {
|
|
3336
3055
|
if ((val == "while" || val == "until" || val == "for") && token.value != "do") {
|
|
@@ -3341,73 +3060,59 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
3341
3060
|
if (token.value != "do")
|
|
3342
3061
|
break;
|
|
3343
3062
|
}
|
|
3344
|
-
|
|
3345
3063
|
if (level === 0) {
|
|
3346
3064
|
stack.unshift(token.value);
|
|
3347
3065
|
}
|
|
3348
3066
|
}
|
|
3349
3067
|
}
|
|
3350
3068
|
}
|
|
3351
|
-
|
|
3352
3069
|
if (!token)
|
|
3353
3070
|
return null;
|
|
3354
|
-
|
|
3355
3071
|
if (tokenRange) {
|
|
3356
3072
|
ranges.push(stream.getCurrentTokenRange());
|
|
3357
3073
|
return ranges;
|
|
3358
3074
|
}
|
|
3359
|
-
|
|
3360
3075
|
var row = stream.getCurrentTokenRow();
|
|
3361
3076
|
if (dir === -1) {
|
|
3362
3077
|
if (token.type === "comment.multiline") {
|
|
3363
3078
|
var endColumn = 6;
|
|
3364
|
-
}
|
|
3079
|
+
}
|
|
3080
|
+
else {
|
|
3365
3081
|
var endColumn = session.getLine(row).length;
|
|
3366
3082
|
}
|
|
3367
3083
|
return new Range(row, endColumn, startRow - 1, startColumn);
|
|
3368
|
-
}
|
|
3084
|
+
}
|
|
3085
|
+
else
|
|
3369
3086
|
return new Range(startRow, startColumn, row - 1, session.getLine(row - 1).length);
|
|
3370
3087
|
};
|
|
3371
|
-
|
|
3372
3088
|
}).call(FoldMode.prototype);
|
|
3373
3089
|
|
|
3374
3090
|
});
|
|
3375
3091
|
|
|
3376
|
-
ace.define("ace/mode/ruby",[], function(require, exports, module)
|
|
3377
|
-
"use strict";
|
|
3378
|
-
|
|
3092
|
+
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";
|
|
3379
3093
|
var oop = require("../lib/oop");
|
|
3380
3094
|
var TextMode = require("./text").Mode;
|
|
3381
3095
|
var RubyHighlightRules = require("./ruby_highlight_rules").RubyHighlightRules;
|
|
3382
3096
|
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
|
3383
3097
|
var Range = require("../range").Range;
|
|
3384
|
-
var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
|
|
3385
3098
|
var FoldMode = require("./folding/ruby").FoldMode;
|
|
3386
|
-
|
|
3387
|
-
var Mode = function() {
|
|
3099
|
+
var Mode = function () {
|
|
3388
3100
|
this.HighlightRules = RubyHighlightRules;
|
|
3389
3101
|
this.$outdent = new MatchingBraceOutdent();
|
|
3390
|
-
this.$behaviour =
|
|
3102
|
+
this.$behaviour = this.$defaultBehaviour;
|
|
3391
3103
|
this.foldingRules = new FoldMode();
|
|
3392
3104
|
this.indentKeywords = this.foldingRules.indentKeywords;
|
|
3393
3105
|
};
|
|
3394
3106
|
oop.inherits(Mode, TextMode);
|
|
3395
|
-
|
|
3396
|
-
(function() {
|
|
3397
|
-
|
|
3398
|
-
|
|
3107
|
+
(function () {
|
|
3399
3108
|
this.lineCommentStart = "#";
|
|
3400
|
-
|
|
3401
|
-
this.getNextLineIndent = function(state, line, tab) {
|
|
3109
|
+
this.getNextLineIndent = function (state, line, tab) {
|
|
3402
3110
|
var indent = this.$getIndent(line);
|
|
3403
|
-
|
|
3404
3111
|
var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
|
|
3405
3112
|
var tokens = tokenizedLine.tokens;
|
|
3406
|
-
|
|
3407
3113
|
if (tokens.length && tokens[tokens.length - 1].type == "comment") {
|
|
3408
3114
|
return indent;
|
|
3409
3115
|
}
|
|
3410
|
-
|
|
3411
3116
|
if (state == "start") {
|
|
3412
3117
|
var match = line.match(/^.*[\{\(\[]\s*$/);
|
|
3413
3118
|
var startingClassOrMethod = line.match(/^\s*(class|def|module)\s.*$/);
|
|
@@ -3417,15 +3122,12 @@ oop.inherits(Mode, TextMode);
|
|
|
3417
3122
|
indent += tab;
|
|
3418
3123
|
}
|
|
3419
3124
|
}
|
|
3420
|
-
|
|
3421
3125
|
return indent;
|
|
3422
3126
|
};
|
|
3423
|
-
|
|
3424
|
-
this.checkOutdent = function(state, line, input) {
|
|
3127
|
+
this.checkOutdent = function (state, line, input) {
|
|
3425
3128
|
return /^\s+(end|else|rescue|ensure)$/.test(line + input) || this.$outdent.checkOutdent(line, input);
|
|
3426
3129
|
};
|
|
3427
|
-
|
|
3428
|
-
this.autoOutdent = function(state, session, row) {
|
|
3130
|
+
this.autoOutdent = function (state, session, row) {
|
|
3429
3131
|
var line = session.getLine(row);
|
|
3430
3132
|
if (/}/.test(line))
|
|
3431
3133
|
return this.$outdent.autoOutdent(session, row);
|
|
@@ -3438,77 +3140,61 @@ oop.inherits(Mode, TextMode);
|
|
|
3438
3140
|
session.remove(new Range(row, indent.length - tab.length, row, indent.length));
|
|
3439
3141
|
}
|
|
3440
3142
|
};
|
|
3441
|
-
|
|
3442
|
-
this.getMatching = function(session, row, column) {
|
|
3143
|
+
this.getMatching = function (session, row, column) {
|
|
3443
3144
|
if (row == undefined) {
|
|
3444
3145
|
var pos = session.selection.lead;
|
|
3445
3146
|
column = pos.column;
|
|
3446
3147
|
row = pos.row;
|
|
3447
3148
|
}
|
|
3448
|
-
|
|
3449
3149
|
var startToken = session.getTokenAt(row, column);
|
|
3450
3150
|
if (startToken && startToken.value in this.indentKeywords)
|
|
3451
3151
|
return this.foldingRules.rubyBlock(session, row, column, true);
|
|
3452
3152
|
};
|
|
3453
|
-
|
|
3454
3153
|
this.$id = "ace/mode/ruby";
|
|
3455
3154
|
this.snippetFileId = "ace/snippets/ruby";
|
|
3456
3155
|
}).call(Mode.prototype);
|
|
3457
|
-
|
|
3458
3156
|
exports.Mode = Mode;
|
|
3459
|
-
});
|
|
3460
3157
|
|
|
3461
|
-
|
|
3462
|
-
"use strict";
|
|
3158
|
+
});
|
|
3463
3159
|
|
|
3160
|
+
ace.define("ace/mode/ejs",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/javascript_highlight_rules","ace/lib/oop","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/ruby"], function(require, exports, module){"use strict";
|
|
3464
3161
|
var oop = require("../lib/oop");
|
|
3465
3162
|
var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
|
|
3466
3163
|
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
|
3467
|
-
|
|
3468
|
-
var EjsHighlightRules = function(start, end) {
|
|
3164
|
+
var EjsHighlightRules = function (start, end) {
|
|
3469
3165
|
HtmlHighlightRules.call(this);
|
|
3470
|
-
|
|
3471
3166
|
if (!start)
|
|
3472
3167
|
start = "(?:<%|<\\?|{{)";
|
|
3473
3168
|
if (!end)
|
|
3474
3169
|
end = "(?:%>|\\?>|}})";
|
|
3475
|
-
|
|
3476
3170
|
for (var i in this.$rules) {
|
|
3477
3171
|
this.$rules[i].unshift({
|
|
3478
|
-
token
|
|
3479
|
-
regex
|
|
3480
|
-
push
|
|
3172
|
+
token: "markup.list.meta.tag",
|
|
3173
|
+
regex: start + "(?![>}])[-=]?",
|
|
3174
|
+
push: "ejs-start"
|
|
3481
3175
|
});
|
|
3482
3176
|
}
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
}]);
|
|
3493
|
-
|
|
3177
|
+
this.embedRules(new JavaScriptHighlightRules({ jsx: false }).getRules(), "ejs-", [{
|
|
3178
|
+
token: "markup.list.meta.tag",
|
|
3179
|
+
regex: "-?" + end,
|
|
3180
|
+
next: "pop"
|
|
3181
|
+
}, {
|
|
3182
|
+
token: "comment",
|
|
3183
|
+
regex: "//.*?" + end,
|
|
3184
|
+
next: "pop"
|
|
3185
|
+
}]);
|
|
3494
3186
|
this.normalizeRules();
|
|
3495
3187
|
};
|
|
3496
|
-
|
|
3497
|
-
|
|
3498
3188
|
oop.inherits(EjsHighlightRules, HtmlHighlightRules);
|
|
3499
|
-
|
|
3500
3189
|
exports.EjsHighlightRules = EjsHighlightRules;
|
|
3501
|
-
|
|
3502
|
-
|
|
3503
3190
|
var oop = require("../lib/oop");
|
|
3504
3191
|
var HtmlMode = require("./html").Mode;
|
|
3505
3192
|
var JavaScriptMode = require("./javascript").Mode;
|
|
3506
3193
|
var CssMode = require("./css").Mode;
|
|
3507
3194
|
var RubyMode = require("./ruby").Mode;
|
|
3508
|
-
|
|
3509
|
-
var Mode = function() {
|
|
3195
|
+
var Mode = function () {
|
|
3510
3196
|
HtmlMode.call(this);
|
|
3511
|
-
this.HighlightRules = EjsHighlightRules;
|
|
3197
|
+
this.HighlightRules = EjsHighlightRules;
|
|
3512
3198
|
this.createModeDelegates({
|
|
3513
3199
|
"js-": JavaScriptMode,
|
|
3514
3200
|
"css-": CssMode,
|
|
@@ -3516,13 +3202,11 @@ var Mode = function() {
|
|
|
3516
3202
|
});
|
|
3517
3203
|
};
|
|
3518
3204
|
oop.inherits(Mode, HtmlMode);
|
|
3519
|
-
|
|
3520
|
-
(function() {
|
|
3521
|
-
|
|
3205
|
+
(function () {
|
|
3522
3206
|
this.$id = "ace/mode/ejs";
|
|
3523
3207
|
}).call(Mode.prototype);
|
|
3524
|
-
|
|
3525
3208
|
exports.Mode = Mode;
|
|
3209
|
+
|
|
3526
3210
|
}); (function() {
|
|
3527
3211
|
ace.require(["ace/mode/ejs"], function(m) {
|
|
3528
3212
|
if (typeof module == "object" && typeof exports == "object" && module) {
|