ace-rails-ap 2.0.1 → 3.0.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.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/lib/ace/rails/version.rb +1 -1
- data/vendor/assets/javascripts/ace/ace.js +14194 -13349
- data/vendor/assets/javascripts/ace/ext-beautify.js +335 -0
- data/vendor/assets/javascripts/ace/ext-chromevox.js +6 -1
- data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +8 -33
- data/vendor/assets/javascripts/ace/ext-emmet.js +487 -424
- data/vendor/assets/javascripts/ace/ext-error_marker.js +6 -0
- data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +45 -72
- data/vendor/assets/javascripts/ace/ext-language_tools.js +734 -578
- data/vendor/assets/javascripts/ace/ext-linking.js +53 -0
- data/vendor/assets/javascripts/ace/ext-modelist.js +25 -10
- data/vendor/assets/javascripts/ace/ext-old_ie.js +93 -120
- data/vendor/assets/javascripts/ace/ext-searchbox.js +8 -41
- data/vendor/assets/javascripts/ace/ext-settings_menu.js +229 -234
- data/vendor/assets/javascripts/ace/ext-spellcheck.js +7 -3
- data/vendor/assets/javascripts/ace/ext-split.js +13 -37
- data/vendor/assets/javascripts/ace/ext-static_highlight.js +16 -39
- data/vendor/assets/javascripts/ace/ext-statusbar.js +8 -2
- data/vendor/assets/javascripts/ace/ext-textarea.js +254 -99
- data/vendor/assets/javascripts/ace/ext-themelist.js +13 -40
- data/vendor/assets/javascripts/ace/ext-whitespace.js +17 -41
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +803 -788
- data/vendor/assets/javascripts/ace/keybinding-vim.js +1559 -1560
- data/vendor/assets/javascripts/ace/mode-abap.js +52 -83
- data/vendor/assets/javascripts/ace/mode-actionscript.js +27 -63
- data/vendor/assets/javascripts/ace/mode-ada.js +27 -58
- data/vendor/assets/javascripts/ace/mode-apache_conf.js +310 -0
- data/vendor/assets/javascripts/ace/mode-applescript.js +226 -0
- data/vendor/assets/javascripts/ace/mode-asciidoc.js +39 -70
- data/vendor/assets/javascripts/ace/mode-assembly_x86.js +26 -58
- data/vendor/assets/javascripts/ace/mode-autohotkey.js +27 -63
- data/vendor/assets/javascripts/ace/mode-batchfile.js +27 -63
- data/vendor/assets/javascripts/ace/mode-c9search.js +92 -112
- data/vendor/assets/javascripts/ace/mode-c_cpp.js +224 -223
- data/vendor/assets/javascripts/ace/mode-cirru.js +202 -0
- data/vendor/assets/javascripts/ace/mode-clojure.js +98 -92
- data/vendor/assets/javascripts/ace/mode-cobol.js +27 -58
- data/vendor/assets/javascripts/ace/mode-coffee.js +90 -122
- data/vendor/assets/javascripts/ace/mode-coldfusion.js +1908 -1464
- data/vendor/assets/javascripts/ace/mode-csharp.js +291 -264
- data/vendor/assets/javascripts/ace/mode-css.js +266 -267
- data/vendor/assets/javascripts/ace/mode-curly.js +796 -815
- data/vendor/assets/javascripts/ace/mode-d.js +64 -95
- data/vendor/assets/javascripts/ace/mode-dart.js +254 -256
- data/vendor/assets/javascripts/ace/mode-diff.js +27 -58
- data/vendor/assets/javascripts/ace/mode-django.js +856 -866
- data/vendor/assets/javascripts/ace/mode-dockerfile.js +759 -0
- data/vendor/assets/javascripts/ace/mode-dot.js +106 -106
- data/vendor/assets/javascripts/ace/mode-eiffel.js +135 -0
- data/vendor/assets/javascripts/ace/mode-ejs.js +931 -938
- data/vendor/assets/javascripts/ace/mode-erlang.js +27 -58
- data/vendor/assets/javascripts/ace/mode-forth.js +27 -63
- data/vendor/assets/javascripts/ace/mode-ftl.js +457 -508
- data/vendor/assets/javascripts/ace/mode-gcode.js +85 -0
- data/vendor/assets/javascripts/ace/mode-gherkin.js +129 -0
- data/vendor/assets/javascripts/ace/mode-gitignore.js +50 -0
- data/vendor/assets/javascripts/ace/mode-glsl.js +252 -248
- data/vendor/assets/javascripts/ace/mode-golang.js +206 -179
- data/vendor/assets/javascripts/ace/mode-groovy.js +310 -242
- data/vendor/assets/javascripts/ace/mode-haml.js +156 -190
- data/vendor/assets/javascripts/ace/mode-handlebars.js +815 -784
- data/vendor/assets/javascripts/ace/mode-haskell.js +27 -63
- data/vendor/assets/javascripts/ace/mode-haxe.js +206 -176
- data/vendor/assets/javascripts/ace/mode-html.js +779 -792
- data/vendor/assets/javascripts/ace/mode-html_ruby.js +916 -923
- data/vendor/assets/javascripts/ace/mode-ini.js +27 -58
- data/vendor/assets/javascripts/ace/mode-io.js +201 -0
- data/vendor/assets/javascripts/ace/mode-jack.js +169 -170
- data/vendor/assets/javascripts/ace/mode-jade.js +722 -774
- data/vendor/assets/javascripts/ace/mode-java.js +310 -245
- data/vendor/assets/javascripts/ace/mode-javascript.js +285 -247
- data/vendor/assets/javascripts/ace/mode-json.js +183 -184
- data/vendor/assets/javascripts/ace/mode-jsoniq.js +3211 -1274
- data/vendor/assets/javascripts/ace/mode-jsp.js +481 -504
- data/vendor/assets/javascripts/ace/mode-jsx.js +206 -176
- data/vendor/assets/javascripts/ace/mode-julia.js +33 -69
- data/vendor/assets/javascripts/ace/mode-latex.js +74 -41
- data/vendor/assets/javascripts/ace/mode-less.js +250 -251
- data/vendor/assets/javascripts/ace/mode-liquid.js +424 -475
- data/vendor/assets/javascripts/ace/mode-lisp.js +24 -57
- data/vendor/assets/javascripts/ace/mode-livescript.js +42 -41
- data/vendor/assets/javascripts/ace/mode-logiql.js +229 -230
- data/vendor/assets/javascripts/ace/mode-lsl.js +200 -441
- data/vendor/assets/javascripts/ace/mode-lua.js +136 -167
- data/vendor/assets/javascripts/ace/mode-luapage.js +904 -884
- data/vendor/assets/javascripts/ace/mode-lucene.js +22 -17
- data/vendor/assets/javascripts/ace/mode-makefile.js +162 -137
- data/vendor/assets/javascripts/ace/mode-markdown.js +846 -854
- data/vendor/assets/javascripts/ace/mode-matlab.js +98 -72
- data/vendor/assets/javascripts/ace/mode-mel.js +569 -0
- data/vendor/assets/javascripts/ace/mode-mushcode.js +84 -115
- data/vendor/assets/javascripts/ace/mode-mysql.js +49 -80
- data/vendor/assets/javascripts/ace/mode-nix.js +252 -256
- data/vendor/assets/javascripts/ace/mode-objectivec.js +242 -274
- data/vendor/assets/javascripts/ace/mode-ocaml.js +71 -102
- data/vendor/assets/javascripts/ace/mode-pascal.js +32 -68
- data/vendor/assets/javascripts/ace/mode-perl.js +67 -98
- data/vendor/assets/javascripts/ace/mode-pgsql.js +990 -982
- data/vendor/assets/javascripts/ace/mode-php.js +1878 -1900
- data/vendor/assets/javascripts/ace/mode-plain_text.js +3 -34
- data/vendor/assets/javascripts/ace/mode-powershell.js +181 -151
- data/vendor/assets/javascripts/ace/mode-praat.js +418 -0
- data/vendor/assets/javascripts/ace/mode-prolog.js +27 -63
- data/vendor/assets/javascripts/ace/mode-properties.js +20 -48
- data/vendor/assets/javascripts/ace/mode-protobuf.js +252 -259
- data/vendor/assets/javascripts/ace/mode-python.js +84 -115
- data/vendor/assets/javascripts/ace/mode-r.js +105 -140
- data/vendor/assets/javascripts/ace/mode-rdoc.js +84 -89
- data/vendor/assets/javascripts/ace/mode-rhtml.js +892 -908
- data/vendor/assets/javascripts/ace/mode-ruby.js +434 -98
- data/vendor/assets/javascripts/ace/mode-rust.js +27 -63
- data/vendor/assets/javascripts/ace/mode-sass.js +75 -106
- data/vendor/assets/javascripts/ace/mode-scad.js +219 -220
- data/vendor/assets/javascripts/ace/mode-scala.js +311 -243
- data/vendor/assets/javascripts/ace/mode-scheme.js +24 -60
- data/vendor/assets/javascripts/ace/mode-scss.js +250 -251
- data/vendor/assets/javascripts/ace/mode-sh.js +506 -118
- data/vendor/assets/javascripts/ace/mode-sjs.js +314 -280
- data/vendor/assets/javascripts/ace/mode-smarty.js +2474 -0
- data/vendor/assets/javascripts/ace/mode-snippets.js +89 -89
- data/vendor/assets/javascripts/ace/mode-soy_template.js +792 -811
- data/vendor/assets/javascripts/ace/mode-space.js +22 -23
- data/vendor/assets/javascripts/ace/mode-sql.js +31 -58
- data/vendor/assets/javascripts/ace/mode-stylus.js +161 -197
- data/vendor/assets/javascripts/ace/mode-svg.js +906 -836
- data/vendor/assets/javascripts/ace/mode-tcl.js +61 -92
- data/vendor/assets/javascripts/ace/mode-tex.js +36 -73
- data/vendor/assets/javascripts/ace/mode-text.js +1 -0
- data/vendor/assets/javascripts/ace/mode-textile.js +41 -72
- data/vendor/assets/javascripts/ace/mode-toml.js +26 -62
- data/vendor/assets/javascripts/ace/mode-twig.js +1196 -892
- data/vendor/assets/javascripts/ace/mode-typescript.js +313 -277
- data/vendor/assets/javascripts/ace/mode-vala.js +982 -0
- data/vendor/assets/javascripts/ace/mode-vbscript.js +25 -62
- data/vendor/assets/javascripts/ace/mode-velocity.js +2251 -1242
- data/vendor/assets/javascripts/ace/mode-verilog.js +27 -59
- data/vendor/assets/javascripts/ace/mode-vhdl.js +26 -55
- data/vendor/assets/javascripts/ace/mode-xml.js +319 -644
- data/vendor/assets/javascripts/ace/mode-xquery.js +2503 -588
- data/vendor/assets/javascripts/ace/mode-yaml.js +56 -90
- data/vendor/assets/javascripts/ace/snippets/abap.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/actionscript.js +159 -0
- data/vendor/assets/javascripts/ace/snippets/ada.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/apache_conf.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/applescript.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/asciidoc.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/autohotkey.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/batchfile.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/c9search.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/c_cpp.js +138 -0
- data/vendor/assets/javascripts/ace/snippets/cirru.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/clojure.js +97 -0
- data/vendor/assets/javascripts/ace/snippets/cobol.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/coffee.js +102 -0
- data/vendor/assets/javascripts/ace/snippets/coldfusion.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/csharp.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/css.js +974 -0
- data/vendor/assets/javascripts/ace/snippets/curly.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/d.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/dart.js +90 -0
- data/vendor/assets/javascripts/ace/snippets/diff.js +18 -0
- data/vendor/assets/javascripts/ace/snippets/django.js +115 -0
- data/vendor/assets/javascripts/ace/snippets/dockerfile.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/dot.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/eiffel.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/ejs.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/erlang.js +167 -0
- data/vendor/assets/javascripts/ace/snippets/forth.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/ftl.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/gcode.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/gherkin.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/gitignore.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/glsl.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/golang.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/groovy.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/haml.js +27 -0
- data/vendor/assets/javascripts/ace/snippets/handlebars.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/haskell.js +89 -0
- data/vendor/assets/javascripts/ace/snippets/haxe.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/html.js +835 -0
- data/vendor/assets/javascripts/ace/snippets/html_ruby.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/ini.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/io.js +69 -0
- data/vendor/assets/javascripts/ace/snippets/jack.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/jade.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/java.js +241 -0
- data/vendor/assets/javascripts/ace/snippets/javascript.js +189 -0
- data/vendor/assets/javascripts/ace/snippets/json.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/jsoniq.js +68 -0
- data/vendor/assets/javascripts/ace/snippets/jsp.js +106 -0
- data/vendor/assets/javascripts/ace/snippets/jsx.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/julia.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/latex.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/less.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/liquid.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/lisp.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/livescript.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/logiql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/lsl.js +1073 -0
- data/vendor/assets/javascripts/ace/snippets/lua.js +28 -0
- data/vendor/assets/javascripts/ace/snippets/luapage.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/lucene.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/makefile.js +11 -0
- data/vendor/assets/javascripts/ace/snippets/markdown.js +95 -0
- data/vendor/assets/javascripts/ace/snippets/matlab.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/mel.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/mushcode.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/mysql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/nix.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/objectivec.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/ocaml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/pascal.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/perl.js +354 -0
- data/vendor/assets/javascripts/ace/snippets/pgsql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/php.js +283 -0
- data/vendor/assets/javascripts/ace/snippets/plain_text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/powershell.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/praat.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/prolog.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/properties.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/protobuf.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/python.js +165 -0
- data/vendor/assets/javascripts/ace/snippets/r.js +128 -0
- data/vendor/assets/javascripts/ace/snippets/rdoc.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/rhtml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/ruby.js +935 -0
- data/vendor/assets/javascripts/ace/snippets/rust.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sass.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scad.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scala.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scheme.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/scss.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sh.js +90 -0
- data/vendor/assets/javascripts/ace/snippets/sjs.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/smarty.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/snippets.js +16 -0
- data/vendor/assets/javascripts/ace/snippets/soy_template.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/space.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sql.js +33 -0
- data/vendor/assets/javascripts/ace/snippets/stylus.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/svg.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/tcl.js +99 -0
- data/vendor/assets/javascripts/ace/snippets/tex.js +197 -0
- data/vendor/assets/javascripts/ace/snippets/text.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/textile.js +37 -0
- data/vendor/assets/javascripts/ace/snippets/toml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/twig.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/typescript.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/vala.js +193 -0
- data/vendor/assets/javascripts/ace/snippets/vbscript.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/velocity.js +36 -0
- data/vendor/assets/javascripts/ace/snippets/verilog.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/vhdl.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/xml.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/xquery.js +68 -0
- data/vendor/assets/javascripts/ace/snippets/yaml.js +7 -0
- data/vendor/assets/javascripts/ace/theme-ambiance.js +4 -24
- data/vendor/assets/javascripts/ace/theme-chaos.js +2 -25
- data/vendor/assets/javascripts/ace/theme-chrome.js +2 -31
- data/vendor/assets/javascripts/ace/theme-clouds.js +1 -31
- data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +1 -31
- data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -31
- data/vendor/assets/javascripts/ace/theme-crimson_editor.js +1 -31
- data/vendor/assets/javascripts/ace/theme-dawn.js +1 -31
- data/vendor/assets/javascripts/ace/theme-dreamweaver.js +5 -31
- data/vendor/assets/javascripts/ace/theme-eclipse.js +7 -33
- data/vendor/assets/javascripts/ace/theme-github.js +2 -35
- data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -31
- data/vendor/assets/javascripts/ace/theme-katzenmilch.js +119 -0
- data/vendor/assets/javascripts/ace/theme-kr.js +1 -31
- data/vendor/assets/javascripts/ace/theme-kr_theme.js +57 -141
- data/vendor/assets/javascripts/ace/theme-kuroir.js +59 -0
- data/vendor/assets/javascripts/ace/theme-merbivore.js +1 -31
- data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +1 -31
- data/vendor/assets/javascripts/ace/theme-mono_industrial.js +1 -31
- data/vendor/assets/javascripts/ace/theme-monokai.js +1 -31
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +1 -31
- data/vendor/assets/javascripts/ace/theme-solarized_dark.js +1 -31
- data/vendor/assets/javascripts/ace/theme-solarized_light.js +1 -31
- data/vendor/assets/javascripts/ace/theme-terminal.js +1 -31
- data/vendor/assets/javascripts/ace/theme-textmate.js +3 -32
- data/vendor/assets/javascripts/ace/theme-tomorrow.js +1 -31
- data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +1 -31
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -31
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -31
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -31
- data/vendor/assets/javascripts/ace/theme-twilight.js +1 -31
- data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +1 -31
- data/vendor/assets/javascripts/ace/theme-xcode.js +2 -33
- data/vendor/assets/javascripts/ace/worker-coffee.js +5026 -5008
- data/vendor/assets/javascripts/ace/worker-css.js +5489 -5134
- data/vendor/assets/javascripts/ace/worker-html.js +11517 -0
- data/vendor/assets/javascripts/ace/worker-javascript.js +9810 -9501
- data/vendor/assets/javascripts/ace/worker-json.js +1583 -1564
- data/vendor/assets/javascripts/ace/worker-lua.js +2631 -2612
- data/vendor/assets/javascripts/ace/worker-php.js +2385 -2341
- data/vendor/assets/javascripts/ace/worker-xquery.js +31643 -3993
- metadata +147 -11
|
@@ -1,129 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Copyright (c) 2010, Ajax.org B.V.
|
|
5
|
-
* All rights reserved.
|
|
6
|
-
*
|
|
7
|
-
* Redistribution and use in source and binary forms, with or without
|
|
8
|
-
* modification, are permitted provided that the following conditions are met:
|
|
9
|
-
* * Redistributions of source code must retain the above copyright
|
|
10
|
-
* notice, this list of conditions and the following disclaimer.
|
|
11
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
12
|
-
* notice, this list of conditions and the following disclaimer in the
|
|
13
|
-
* documentation and/or other materials provided with the distribution.
|
|
14
|
-
* * Neither the name of Ajax.org B.V. nor the
|
|
15
|
-
* names of its contributors may be used to endorse or promote products
|
|
16
|
-
* derived from this software without specific prior written permission.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
19
|
-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
20
|
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
21
|
-
* DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
|
|
22
|
-
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
23
|
-
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
24
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
25
|
-
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
27
|
-
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
28
|
-
*
|
|
29
|
-
* ***** END LICENSE BLOCK ***** */
|
|
30
|
-
|
|
31
|
-
define('ace/mode/javascript', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/javascript_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/worker/worker_client', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle'], function(require, exports, module) {
|
|
32
|
-
|
|
1
|
+
define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
|
|
2
|
+
"use strict";
|
|
33
3
|
|
|
34
4
|
var oop = require("../lib/oop");
|
|
35
|
-
var
|
|
36
|
-
var Tokenizer = require("../tokenizer").Tokenizer;
|
|
37
|
-
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
|
38
|
-
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
|
39
|
-
var Range = require("../range").Range;
|
|
40
|
-
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
|
41
|
-
var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
|
|
42
|
-
var CStyleFoldMode = require("./folding/cstyle").FoldMode;
|
|
43
|
-
|
|
44
|
-
var Mode = function() {
|
|
45
|
-
this.HighlightRules = JavaScriptHighlightRules;
|
|
46
|
-
|
|
47
|
-
this.$outdent = new MatchingBraceOutdent();
|
|
48
|
-
this.$behaviour = new CstyleBehaviour();
|
|
49
|
-
this.foldingRules = new CStyleFoldMode();
|
|
50
|
-
};
|
|
51
|
-
oop.inherits(Mode, TextMode);
|
|
52
|
-
|
|
53
|
-
(function() {
|
|
54
|
-
|
|
55
|
-
this.lineCommentStart = "//";
|
|
56
|
-
this.blockComment = {start: "/*", end: "*/"};
|
|
57
|
-
|
|
58
|
-
this.getNextLineIndent = function(state, line, tab) {
|
|
59
|
-
var indent = this.$getIndent(line);
|
|
60
|
-
|
|
61
|
-
var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
|
|
62
|
-
var tokens = tokenizedLine.tokens;
|
|
63
|
-
var endState = tokenizedLine.state;
|
|
64
|
-
|
|
65
|
-
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
|
66
|
-
return indent;
|
|
67
|
-
}
|
|
5
|
+
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
68
6
|
|
|
69
|
-
|
|
70
|
-
var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
|
|
71
|
-
if (match) {
|
|
72
|
-
indent += tab;
|
|
73
|
-
}
|
|
74
|
-
} else if (state == "doc-start") {
|
|
75
|
-
if (endState == "start" || endState == "no_regex") {
|
|
76
|
-
return "";
|
|
77
|
-
}
|
|
78
|
-
var match = line.match(/^\s*(\/?)\*/);
|
|
79
|
-
if (match) {
|
|
80
|
-
if (match[1]) {
|
|
81
|
-
indent += " ";
|
|
82
|
-
}
|
|
83
|
-
indent += "* ";
|
|
84
|
-
}
|
|
85
|
-
}
|
|
7
|
+
var DocCommentHighlightRules = function() {
|
|
86
8
|
|
|
87
|
-
|
|
9
|
+
this.$rules = {
|
|
10
|
+
"start" : [ {
|
|
11
|
+
token : "comment.doc.tag",
|
|
12
|
+
regex : "@[\\w\\d_]+" // TODO: fix email addresses
|
|
13
|
+
}, {
|
|
14
|
+
token : "comment.doc.tag",
|
|
15
|
+
regex : "\\bTODO\\b"
|
|
16
|
+
}, {
|
|
17
|
+
defaultToken : "comment.doc"
|
|
18
|
+
}]
|
|
88
19
|
};
|
|
20
|
+
};
|
|
89
21
|
|
|
90
|
-
|
|
91
|
-
return this.$outdent.checkOutdent(line, input);
|
|
92
|
-
};
|
|
22
|
+
oop.inherits(DocCommentHighlightRules, TextHighlightRules);
|
|
93
23
|
|
|
94
|
-
|
|
95
|
-
|
|
24
|
+
DocCommentHighlightRules.getStartRule = function(start) {
|
|
25
|
+
return {
|
|
26
|
+
token : "comment.doc", // doc comment
|
|
27
|
+
regex : "\\/\\*(?=\\*)",
|
|
28
|
+
next : start
|
|
96
29
|
};
|
|
30
|
+
};
|
|
97
31
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
session.setAnnotations(results.data);
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
worker.on("terminate", function() {
|
|
107
|
-
session.clearAnnotations();
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
return worker;
|
|
32
|
+
DocCommentHighlightRules.getEndRule = function (start) {
|
|
33
|
+
return {
|
|
34
|
+
token : "comment.doc", // closing comment
|
|
35
|
+
regex : "\\*\\/",
|
|
36
|
+
next : start
|
|
111
37
|
};
|
|
38
|
+
};
|
|
112
39
|
|
|
113
|
-
this.$id = "ace/mode/javascript";
|
|
114
|
-
}).call(Mode.prototype);
|
|
115
40
|
|
|
116
|
-
exports.
|
|
117
|
-
});
|
|
41
|
+
exports.DocCommentHighlightRules = DocCommentHighlightRules;
|
|
118
42
|
|
|
119
|
-
|
|
43
|
+
});
|
|
120
44
|
|
|
45
|
+
define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
|
|
46
|
+
"use strict";
|
|
121
47
|
|
|
122
48
|
var oop = require("../lib/oop");
|
|
123
49
|
var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
|
|
124
50
|
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
125
51
|
|
|
126
|
-
var JavaScriptHighlightRules = function() {
|
|
52
|
+
var JavaScriptHighlightRules = function(options) {
|
|
127
53
|
var keywordMapper = this.createKeywordMapper({
|
|
128
54
|
"variable.language":
|
|
129
55
|
"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
|
|
@@ -248,19 +174,22 @@ var JavaScriptHighlightRules = function() {
|
|
|
248
174
|
}, {
|
|
249
175
|
token : ["punctuation.operator", "support.constant"],
|
|
250
176
|
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/
|
|
177
|
+
}, {
|
|
178
|
+
token : ["support.constant"],
|
|
179
|
+
regex : /that\b/
|
|
251
180
|
}, {
|
|
252
181
|
token : ["storage.type", "punctuation.operator", "support.function.firebug"],
|
|
253
|
-
regex : /(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/
|
|
182
|
+
regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
|
|
254
183
|
}, {
|
|
255
184
|
token : keywordMapper,
|
|
256
185
|
regex : identifierRe
|
|
257
186
|
}, {
|
|
258
187
|
token : "keyword.operator",
|
|
259
|
-
regex :
|
|
188
|
+
regex : /--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,
|
|
260
189
|
next : "start"
|
|
261
190
|
}, {
|
|
262
191
|
token : "punctuation.operator",
|
|
263
|
-
regex :
|
|
192
|
+
regex : /[?:,;.]/,
|
|
264
193
|
next : "start"
|
|
265
194
|
}, {
|
|
266
195
|
token : "paren.lparen",
|
|
@@ -269,10 +198,6 @@ var JavaScriptHighlightRules = function() {
|
|
|
269
198
|
}, {
|
|
270
199
|
token : "paren.rparen",
|
|
271
200
|
regex : /[\])}]/
|
|
272
|
-
}, {
|
|
273
|
-
token : "keyword.operator",
|
|
274
|
-
regex : /\/=?/,
|
|
275
|
-
next : "start"
|
|
276
201
|
}, {
|
|
277
202
|
token: "comment",
|
|
278
203
|
regex: /^#!.*$/
|
|
@@ -333,7 +258,7 @@ var JavaScriptHighlightRules = function() {
|
|
|
333
258
|
],
|
|
334
259
|
"regex_character_class": [
|
|
335
260
|
{
|
|
336
|
-
token: "regexp.keyword.operator",
|
|
261
|
+
token: "regexp.charclass.keyword.operator",
|
|
337
262
|
regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
|
|
338
263
|
}, {
|
|
339
264
|
token: "constant.language.escape",
|
|
@@ -415,9 +340,49 @@ var JavaScriptHighlightRules = function() {
|
|
|
415
340
|
}
|
|
416
341
|
]
|
|
417
342
|
};
|
|
418
|
-
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
if (!options || !options.noES6) {
|
|
346
|
+
this.$rules.no_regex.unshift({
|
|
347
|
+
regex: "[{}]", onMatch: function(val, state, stack) {
|
|
348
|
+
this.next = val == "{" ? this.nextState : "";
|
|
349
|
+
if (val == "{" && stack.length) {
|
|
350
|
+
stack.unshift("start", state);
|
|
351
|
+
return "paren";
|
|
352
|
+
}
|
|
353
|
+
if (val == "}" && stack.length) {
|
|
354
|
+
stack.shift();
|
|
355
|
+
this.next = stack.shift();
|
|
356
|
+
if (this.next.indexOf("string") != -1)
|
|
357
|
+
return "paren.quasi.end";
|
|
358
|
+
}
|
|
359
|
+
return val == "{" ? "paren.lparen" : "paren.rparen";
|
|
360
|
+
},
|
|
361
|
+
nextState: "start"
|
|
362
|
+
}, {
|
|
363
|
+
token : "string.quasi.start",
|
|
364
|
+
regex : /`/,
|
|
365
|
+
push : [{
|
|
366
|
+
token : "constant.language.escape",
|
|
367
|
+
regex : escapedRe
|
|
368
|
+
}, {
|
|
369
|
+
token : "paren.quasi.start",
|
|
370
|
+
regex : /\${/,
|
|
371
|
+
push : "start"
|
|
372
|
+
}, {
|
|
373
|
+
token : "string.quasi.end",
|
|
374
|
+
regex : /`/,
|
|
375
|
+
next : "pop"
|
|
376
|
+
}, {
|
|
377
|
+
defaultToken: "string.quasi"
|
|
378
|
+
}]
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
|
|
419
382
|
this.embedRules(DocCommentHighlightRules, "doc-",
|
|
420
383
|
[ DocCommentHighlightRules.getEndRule("no_regex") ]);
|
|
384
|
+
|
|
385
|
+
this.normalizeRules();
|
|
421
386
|
};
|
|
422
387
|
|
|
423
388
|
oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
|
|
@@ -425,52 +390,8 @@ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
|
|
|
425
390
|
exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
|
|
426
391
|
});
|
|
427
392
|
|
|
428
|
-
define(
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
var oop = require("../lib/oop");
|
|
432
|
-
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
|
433
|
-
|
|
434
|
-
var DocCommentHighlightRules = function() {
|
|
435
|
-
|
|
436
|
-
this.$rules = {
|
|
437
|
-
"start" : [ {
|
|
438
|
-
token : "comment.doc.tag",
|
|
439
|
-
regex : "@[\\w\\d_]+" // TODO: fix email addresses
|
|
440
|
-
}, {
|
|
441
|
-
token : "comment.doc.tag",
|
|
442
|
-
regex : "\\bTODO\\b"
|
|
443
|
-
}, {
|
|
444
|
-
defaultToken : "comment.doc"
|
|
445
|
-
}]
|
|
446
|
-
};
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
oop.inherits(DocCommentHighlightRules, TextHighlightRules);
|
|
450
|
-
|
|
451
|
-
DocCommentHighlightRules.getStartRule = function(start) {
|
|
452
|
-
return {
|
|
453
|
-
token : "comment.doc", // doc comment
|
|
454
|
-
regex : "\\/\\*(?=\\*)",
|
|
455
|
-
next : start
|
|
456
|
-
};
|
|
457
|
-
};
|
|
458
|
-
|
|
459
|
-
DocCommentHighlightRules.getEndRule = function (start) {
|
|
460
|
-
return {
|
|
461
|
-
token : "comment.doc", // closing comment
|
|
462
|
-
regex : "\\*\\/",
|
|
463
|
-
next : start
|
|
464
|
-
};
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
exports.DocCommentHighlightRules = DocCommentHighlightRules;
|
|
469
|
-
|
|
470
|
-
});
|
|
471
|
-
|
|
472
|
-
define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
|
|
473
|
-
|
|
393
|
+
define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
|
|
394
|
+
"use strict";
|
|
474
395
|
|
|
475
396
|
var Range = require("../range").Range;
|
|
476
397
|
|
|
@@ -509,8 +430,8 @@ var MatchingBraceOutdent = function() {};
|
|
|
509
430
|
exports.MatchingBraceOutdent = MatchingBraceOutdent;
|
|
510
431
|
});
|
|
511
432
|
|
|
512
|
-
define(
|
|
513
|
-
|
|
433
|
+
define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
|
|
434
|
+
"use strict";
|
|
514
435
|
|
|
515
436
|
var oop = require("../../lib/oop");
|
|
516
437
|
var Behaviour = require("../behaviour").Behaviour;
|
|
@@ -522,83 +443,34 @@ var SAFE_INSERT_IN_TOKENS =
|
|
|
522
443
|
var SAFE_INSERT_BEFORE_TOKENS =
|
|
523
444
|
["text", "paren.rparen", "punctuation.operator", "comment"];
|
|
524
445
|
|
|
525
|
-
|
|
526
|
-
var
|
|
527
|
-
var
|
|
528
|
-
var
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
iterator.stepForward();
|
|
545
|
-
return iterator.getCurrentTokenRow() !== cursor.row ||
|
|
546
|
-
this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
CstyleBehaviour.$matchTokenType = function(token, types) {
|
|
550
|
-
return types.indexOf(token.type || token) > -1;
|
|
551
|
-
};
|
|
552
|
-
|
|
553
|
-
CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
|
|
554
|
-
var cursor = editor.getCursorPosition();
|
|
555
|
-
var line = session.doc.getLine(cursor.row);
|
|
556
|
-
if (!this.isAutoInsertedClosing(cursor, line, autoInsertedLineEnd[0]))
|
|
557
|
-
autoInsertedBrackets = 0;
|
|
558
|
-
autoInsertedRow = cursor.row;
|
|
559
|
-
autoInsertedLineEnd = bracket + line.substr(cursor.column);
|
|
560
|
-
autoInsertedBrackets++;
|
|
561
|
-
};
|
|
562
|
-
|
|
563
|
-
CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
|
|
564
|
-
var cursor = editor.getCursorPosition();
|
|
565
|
-
var line = session.doc.getLine(cursor.row);
|
|
566
|
-
if (!this.isMaybeInsertedClosing(cursor, line))
|
|
567
|
-
maybeInsertedBrackets = 0;
|
|
568
|
-
maybeInsertedRow = cursor.row;
|
|
569
|
-
maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
|
|
570
|
-
maybeInsertedLineEnd = line.substr(cursor.column);
|
|
571
|
-
maybeInsertedBrackets++;
|
|
572
|
-
};
|
|
573
|
-
|
|
574
|
-
CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
|
|
575
|
-
return autoInsertedBrackets > 0 &&
|
|
576
|
-
cursor.row === autoInsertedRow &&
|
|
577
|
-
bracket === autoInsertedLineEnd[0] &&
|
|
578
|
-
line.substr(cursor.column) === autoInsertedLineEnd;
|
|
579
|
-
};
|
|
580
|
-
|
|
581
|
-
CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
|
|
582
|
-
return maybeInsertedBrackets > 0 &&
|
|
583
|
-
cursor.row === maybeInsertedRow &&
|
|
584
|
-
line.substr(cursor.column) === maybeInsertedLineEnd &&
|
|
585
|
-
line.substr(0, cursor.column) == maybeInsertedLineStart;
|
|
586
|
-
};
|
|
587
|
-
|
|
588
|
-
CstyleBehaviour.popAutoInsertedClosing = function() {
|
|
589
|
-
autoInsertedLineEnd = autoInsertedLineEnd.substr(1);
|
|
590
|
-
autoInsertedBrackets--;
|
|
591
|
-
};
|
|
592
|
-
|
|
593
|
-
CstyleBehaviour.clearMaybeInsertedClosing = function() {
|
|
594
|
-
maybeInsertedBrackets = 0;
|
|
595
|
-
maybeInsertedRow = -1;
|
|
446
|
+
var context;
|
|
447
|
+
var contextCache = {}
|
|
448
|
+
var initContext = function(editor) {
|
|
449
|
+
var id = -1;
|
|
450
|
+
if (editor.multiSelect) {
|
|
451
|
+
id = editor.selection.id;
|
|
452
|
+
if (contextCache.rangeCount != editor.multiSelect.rangeCount)
|
|
453
|
+
contextCache = {rangeCount: editor.multiSelect.rangeCount};
|
|
454
|
+
}
|
|
455
|
+
if (contextCache[id])
|
|
456
|
+
return context = contextCache[id];
|
|
457
|
+
context = contextCache[id] = {
|
|
458
|
+
autoInsertedBrackets: 0,
|
|
459
|
+
autoInsertedRow: -1,
|
|
460
|
+
autoInsertedLineEnd: "",
|
|
461
|
+
maybeInsertedBrackets: 0,
|
|
462
|
+
maybeInsertedRow: -1,
|
|
463
|
+
maybeInsertedLineStart: "",
|
|
464
|
+
maybeInsertedLineEnd: ""
|
|
596
465
|
};
|
|
466
|
+
};
|
|
597
467
|
|
|
598
|
-
|
|
468
|
+
var CstyleBehaviour = function() {
|
|
469
|
+
this.add("braces", "insertion", function(state, action, editor, session, text) {
|
|
599
470
|
var cursor = editor.getCursorPosition();
|
|
600
471
|
var line = session.doc.getLine(cursor.row);
|
|
601
472
|
if (text == '{') {
|
|
473
|
+
initContext(editor);
|
|
602
474
|
var selection = editor.getSelectionRange();
|
|
603
475
|
var selected = session.doc.getTextRange(selection);
|
|
604
476
|
if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
|
|
@@ -622,6 +494,7 @@ var CstyleBehaviour = function () {
|
|
|
622
494
|
}
|
|
623
495
|
}
|
|
624
496
|
} else if (text == '}') {
|
|
497
|
+
initContext(editor);
|
|
625
498
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
626
499
|
if (rightChar == '}') {
|
|
627
500
|
var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
|
|
@@ -634,9 +507,10 @@ var CstyleBehaviour = function () {
|
|
|
634
507
|
}
|
|
635
508
|
}
|
|
636
509
|
} else if (text == "\n" || text == "\r\n") {
|
|
510
|
+
initContext(editor);
|
|
637
511
|
var closing = "";
|
|
638
512
|
if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
|
|
639
|
-
closing = lang.stringRepeat("}", maybeInsertedBrackets);
|
|
513
|
+
closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
|
|
640
514
|
CstyleBehaviour.clearMaybeInsertedClosing();
|
|
641
515
|
}
|
|
642
516
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
@@ -648,6 +522,7 @@ var CstyleBehaviour = function () {
|
|
|
648
522
|
} else if (closing) {
|
|
649
523
|
var next_indent = this.$getIndent(line);
|
|
650
524
|
} else {
|
|
525
|
+
CstyleBehaviour.clearMaybeInsertedClosing();
|
|
651
526
|
return;
|
|
652
527
|
}
|
|
653
528
|
var indent = next_indent + session.getTabString();
|
|
@@ -661,22 +536,24 @@ var CstyleBehaviour = function () {
|
|
|
661
536
|
}
|
|
662
537
|
});
|
|
663
538
|
|
|
664
|
-
this.add("braces", "deletion", function
|
|
539
|
+
this.add("braces", "deletion", function(state, action, editor, session, range) {
|
|
665
540
|
var selected = session.doc.getTextRange(range);
|
|
666
541
|
if (!range.isMultiLine() && selected == '{') {
|
|
542
|
+
initContext(editor);
|
|
667
543
|
var line = session.doc.getLine(range.start.row);
|
|
668
544
|
var rightChar = line.substring(range.end.column, range.end.column + 1);
|
|
669
545
|
if (rightChar == '}') {
|
|
670
546
|
range.end.column++;
|
|
671
547
|
return range;
|
|
672
548
|
} else {
|
|
673
|
-
maybeInsertedBrackets--;
|
|
549
|
+
context.maybeInsertedBrackets--;
|
|
674
550
|
}
|
|
675
551
|
}
|
|
676
552
|
});
|
|
677
553
|
|
|
678
|
-
this.add("parens", "insertion", function
|
|
554
|
+
this.add("parens", "insertion", function(state, action, editor, session, text) {
|
|
679
555
|
if (text == '(') {
|
|
556
|
+
initContext(editor);
|
|
680
557
|
var selection = editor.getSelectionRange();
|
|
681
558
|
var selected = session.doc.getTextRange(selection);
|
|
682
559
|
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
|
@@ -692,6 +569,7 @@ var CstyleBehaviour = function () {
|
|
|
692
569
|
};
|
|
693
570
|
}
|
|
694
571
|
} else if (text == ')') {
|
|
572
|
+
initContext(editor);
|
|
695
573
|
var cursor = editor.getCursorPosition();
|
|
696
574
|
var line = session.doc.getLine(cursor.row);
|
|
697
575
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
@@ -708,9 +586,10 @@ var CstyleBehaviour = function () {
|
|
|
708
586
|
}
|
|
709
587
|
});
|
|
710
588
|
|
|
711
|
-
this.add("parens", "deletion", function
|
|
589
|
+
this.add("parens", "deletion", function(state, action, editor, session, range) {
|
|
712
590
|
var selected = session.doc.getTextRange(range);
|
|
713
591
|
if (!range.isMultiLine() && selected == '(') {
|
|
592
|
+
initContext(editor);
|
|
714
593
|
var line = session.doc.getLine(range.start.row);
|
|
715
594
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
|
716
595
|
if (rightChar == ')') {
|
|
@@ -720,8 +599,9 @@ var CstyleBehaviour = function () {
|
|
|
720
599
|
}
|
|
721
600
|
});
|
|
722
601
|
|
|
723
|
-
this.add("brackets", "insertion", function
|
|
602
|
+
this.add("brackets", "insertion", function(state, action, editor, session, text) {
|
|
724
603
|
if (text == '[') {
|
|
604
|
+
initContext(editor);
|
|
725
605
|
var selection = editor.getSelectionRange();
|
|
726
606
|
var selected = session.doc.getTextRange(selection);
|
|
727
607
|
if (selected !== "" && editor.getWrapBehavioursEnabled()) {
|
|
@@ -737,6 +617,7 @@ var CstyleBehaviour = function () {
|
|
|
737
617
|
};
|
|
738
618
|
}
|
|
739
619
|
} else if (text == ']') {
|
|
620
|
+
initContext(editor);
|
|
740
621
|
var cursor = editor.getCursorPosition();
|
|
741
622
|
var line = session.doc.getLine(cursor.row);
|
|
742
623
|
var rightChar = line.substring(cursor.column, cursor.column + 1);
|
|
@@ -753,9 +634,10 @@ var CstyleBehaviour = function () {
|
|
|
753
634
|
}
|
|
754
635
|
});
|
|
755
636
|
|
|
756
|
-
this.add("brackets", "deletion", function
|
|
637
|
+
this.add("brackets", "deletion", function(state, action, editor, session, range) {
|
|
757
638
|
var selected = session.doc.getTextRange(range);
|
|
758
639
|
if (!range.isMultiLine() && selected == '[') {
|
|
640
|
+
initContext(editor);
|
|
759
641
|
var line = session.doc.getLine(range.start.row);
|
|
760
642
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
|
761
643
|
if (rightChar == ']') {
|
|
@@ -765,8 +647,9 @@ var CstyleBehaviour = function () {
|
|
|
765
647
|
}
|
|
766
648
|
});
|
|
767
649
|
|
|
768
|
-
this.add("string_dquotes", "insertion", function
|
|
650
|
+
this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
|
|
769
651
|
if (text == '"' || text == "'") {
|
|
652
|
+
initContext(editor);
|
|
770
653
|
var quote = text;
|
|
771
654
|
var selection = editor.getSelectionRange();
|
|
772
655
|
var selected = session.doc.getTextRange(selection);
|
|
@@ -818,9 +701,10 @@ var CstyleBehaviour = function () {
|
|
|
818
701
|
}
|
|
819
702
|
});
|
|
820
703
|
|
|
821
|
-
this.add("string_dquotes", "deletion", function
|
|
704
|
+
this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
|
|
822
705
|
var selected = session.doc.getTextRange(range);
|
|
823
706
|
if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
|
|
707
|
+
initContext(editor);
|
|
824
708
|
var line = session.doc.getLine(range.start.row);
|
|
825
709
|
var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
|
|
826
710
|
if (rightChar == selected) {
|
|
@@ -832,13 +716,80 @@ var CstyleBehaviour = function () {
|
|
|
832
716
|
|
|
833
717
|
};
|
|
834
718
|
|
|
719
|
+
|
|
720
|
+
CstyleBehaviour.isSaneInsertion = function(editor, session) {
|
|
721
|
+
var cursor = editor.getCursorPosition();
|
|
722
|
+
var iterator = new TokenIterator(session, cursor.row, cursor.column);
|
|
723
|
+
if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
|
|
724
|
+
var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
|
|
725
|
+
if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
|
|
726
|
+
return false;
|
|
727
|
+
}
|
|
728
|
+
iterator.stepForward();
|
|
729
|
+
return iterator.getCurrentTokenRow() !== cursor.row ||
|
|
730
|
+
this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
|
|
731
|
+
};
|
|
732
|
+
|
|
733
|
+
CstyleBehaviour.$matchTokenType = function(token, types) {
|
|
734
|
+
return types.indexOf(token.type || token) > -1;
|
|
735
|
+
};
|
|
736
|
+
|
|
737
|
+
CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
|
|
738
|
+
var cursor = editor.getCursorPosition();
|
|
739
|
+
var line = session.doc.getLine(cursor.row);
|
|
740
|
+
if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
|
|
741
|
+
context.autoInsertedBrackets = 0;
|
|
742
|
+
context.autoInsertedRow = cursor.row;
|
|
743
|
+
context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
|
|
744
|
+
context.autoInsertedBrackets++;
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
|
|
748
|
+
var cursor = editor.getCursorPosition();
|
|
749
|
+
var line = session.doc.getLine(cursor.row);
|
|
750
|
+
if (!this.isMaybeInsertedClosing(cursor, line))
|
|
751
|
+
context.maybeInsertedBrackets = 0;
|
|
752
|
+
context.maybeInsertedRow = cursor.row;
|
|
753
|
+
context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
|
|
754
|
+
context.maybeInsertedLineEnd = line.substr(cursor.column);
|
|
755
|
+
context.maybeInsertedBrackets++;
|
|
756
|
+
};
|
|
757
|
+
|
|
758
|
+
CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
|
|
759
|
+
return context.autoInsertedBrackets > 0 &&
|
|
760
|
+
cursor.row === context.autoInsertedRow &&
|
|
761
|
+
bracket === context.autoInsertedLineEnd[0] &&
|
|
762
|
+
line.substr(cursor.column) === context.autoInsertedLineEnd;
|
|
763
|
+
};
|
|
764
|
+
|
|
765
|
+
CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
|
|
766
|
+
return context.maybeInsertedBrackets > 0 &&
|
|
767
|
+
cursor.row === context.maybeInsertedRow &&
|
|
768
|
+
line.substr(cursor.column) === context.maybeInsertedLineEnd &&
|
|
769
|
+
line.substr(0, cursor.column) == context.maybeInsertedLineStart;
|
|
770
|
+
};
|
|
771
|
+
|
|
772
|
+
CstyleBehaviour.popAutoInsertedClosing = function() {
|
|
773
|
+
context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
|
|
774
|
+
context.autoInsertedBrackets--;
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
CstyleBehaviour.clearMaybeInsertedClosing = function() {
|
|
778
|
+
if (context) {
|
|
779
|
+
context.maybeInsertedBrackets = 0;
|
|
780
|
+
context.maybeInsertedRow = -1;
|
|
781
|
+
}
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
835
786
|
oop.inherits(CstyleBehaviour, Behaviour);
|
|
836
787
|
|
|
837
788
|
exports.CstyleBehaviour = CstyleBehaviour;
|
|
838
789
|
});
|
|
839
790
|
|
|
840
|
-
define(
|
|
841
|
-
|
|
791
|
+
define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
|
|
792
|
+
"use strict";
|
|
842
793
|
|
|
843
794
|
var oop = require("../../lib/oop");
|
|
844
795
|
var Range = require("../../range").Range;
|
|
@@ -931,3 +882,90 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|
|
931
882
|
}).call(FoldMode.prototype);
|
|
932
883
|
|
|
933
884
|
});
|
|
885
|
+
|
|
886
|
+
define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
|
|
887
|
+
"use strict";
|
|
888
|
+
|
|
889
|
+
var oop = require("../lib/oop");
|
|
890
|
+
var TextMode = require("./text").Mode;
|
|
891
|
+
var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
|
|
892
|
+
var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
|
893
|
+
var Range = require("../range").Range;
|
|
894
|
+
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
|
895
|
+
var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
|
|
896
|
+
var CStyleFoldMode = require("./folding/cstyle").FoldMode;
|
|
897
|
+
|
|
898
|
+
var Mode = function() {
|
|
899
|
+
this.HighlightRules = JavaScriptHighlightRules;
|
|
900
|
+
|
|
901
|
+
this.$outdent = new MatchingBraceOutdent();
|
|
902
|
+
this.$behaviour = new CstyleBehaviour();
|
|
903
|
+
this.foldingRules = new CStyleFoldMode();
|
|
904
|
+
};
|
|
905
|
+
oop.inherits(Mode, TextMode);
|
|
906
|
+
|
|
907
|
+
(function() {
|
|
908
|
+
|
|
909
|
+
this.lineCommentStart = "//";
|
|
910
|
+
this.blockComment = {start: "/*", end: "*/"};
|
|
911
|
+
|
|
912
|
+
this.getNextLineIndent = function(state, line, tab) {
|
|
913
|
+
var indent = this.$getIndent(line);
|
|
914
|
+
|
|
915
|
+
var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
|
|
916
|
+
var tokens = tokenizedLine.tokens;
|
|
917
|
+
var endState = tokenizedLine.state;
|
|
918
|
+
|
|
919
|
+
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
|
920
|
+
return indent;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
if (state == "start" || state == "no_regex") {
|
|
924
|
+
var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
|
|
925
|
+
if (match) {
|
|
926
|
+
indent += tab;
|
|
927
|
+
}
|
|
928
|
+
} else if (state == "doc-start") {
|
|
929
|
+
if (endState == "start" || endState == "no_regex") {
|
|
930
|
+
return "";
|
|
931
|
+
}
|
|
932
|
+
var match = line.match(/^\s*(\/?)\*/);
|
|
933
|
+
if (match) {
|
|
934
|
+
if (match[1]) {
|
|
935
|
+
indent += " ";
|
|
936
|
+
}
|
|
937
|
+
indent += "* ";
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
return indent;
|
|
942
|
+
};
|
|
943
|
+
|
|
944
|
+
this.checkOutdent = function(state, line, input) {
|
|
945
|
+
return this.$outdent.checkOutdent(line, input);
|
|
946
|
+
};
|
|
947
|
+
|
|
948
|
+
this.autoOutdent = function(state, doc, row) {
|
|
949
|
+
this.$outdent.autoOutdent(doc, row);
|
|
950
|
+
};
|
|
951
|
+
|
|
952
|
+
this.createWorker = function(session) {
|
|
953
|
+
var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
|
|
954
|
+
worker.attachToDocument(session.getDocument());
|
|
955
|
+
|
|
956
|
+
worker.on("jslint", function(results) {
|
|
957
|
+
session.setAnnotations(results.data);
|
|
958
|
+
});
|
|
959
|
+
|
|
960
|
+
worker.on("terminate", function() {
|
|
961
|
+
session.clearAnnotations();
|
|
962
|
+
});
|
|
963
|
+
|
|
964
|
+
return worker;
|
|
965
|
+
};
|
|
966
|
+
|
|
967
|
+
this.$id = "ace/mode/javascript";
|
|
968
|
+
}).call(Mode.prototype);
|
|
969
|
+
|
|
970
|
+
exports.Mode = Mode;
|
|
971
|
+
});
|