aced_rails 0.0.1
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.
- data/.gitignore +17 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +49 -0
- data/Rakefile +2 -0
- data/aced_rails.gemspec +19 -0
- data/lib/aced_rails.rb +7 -0
- data/lib/aced_rails/engine.rb +4 -0
- data/lib/aced_rails/version.rb +3 -0
- data/vendor/assets/javascripts/ace/ace-compat-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/ace-compat-uncompressed-noconflict.js +480 -0
- data/vendor/assets/javascripts/ace/ace-compat-uncompressed.js +480 -0
- data/vendor/assets/javascripts/ace/ace-compat.js +1 -0
- data/vendor/assets/javascripts/ace/ace-noconflict.js +10 -0
- data/vendor/assets/javascripts/ace/ace-uncompressed-noconflict.js +14649 -0
- data/vendor/assets/javascripts/ace/ace-uncompressed.js +14649 -0
- data/vendor/assets/javascripts/ace/ace.js +10 -0
- data/vendor/assets/javascripts/ace/keybinding-emacs-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed-noconflict.js +405 -0
- data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed.js +405 -0
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +1 -0
- data/vendor/assets/javascripts/ace/keybinding-vim-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed-noconflict.js +393 -0
- data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed.js +393 -0
- data/vendor/assets/javascripts/ace/keybinding-vim.js +1 -0
- data/vendor/assets/javascripts/ace/mode-c_cpp-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed-noconflict.js +918 -0
- data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed.js +918 -0
- data/vendor/assets/javascripts/ace/mode-c_cpp.js +1 -0
- data/vendor/assets/javascripts/ace/mode-clojure-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-clojure-uncompressed-noconflict.js +422 -0
- data/vendor/assets/javascripts/ace/mode-clojure-uncompressed.js +422 -0
- data/vendor/assets/javascripts/ace/mode-clojure.js +1 -0
- data/vendor/assets/javascripts/ace/mode-coffee-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-coffee-uncompressed-noconflict.js +605 -0
- data/vendor/assets/javascripts/ace/mode-coffee-uncompressed.js +605 -0
- data/vendor/assets/javascripts/ace/mode-coffee.js +1 -0
- data/vendor/assets/javascripts/ace/mode-coldfusion-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed-noconflict.js +2361 -0
- data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed.js +2361 -0
- data/vendor/assets/javascripts/ace/mode-coldfusion.js +1 -0
- data/vendor/assets/javascripts/ace/mode-csharp-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-csharp-uncompressed-noconflict.js +768 -0
- data/vendor/assets/javascripts/ace/mode-csharp-uncompressed.js +768 -0
- data/vendor/assets/javascripts/ace/mode-csharp.js +1 -0
- data/vendor/assets/javascripts/ace/mode-css-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-css-uncompressed-noconflict.js +664 -0
- data/vendor/assets/javascripts/ace/mode-css-uncompressed.js +664 -0
- data/vendor/assets/javascripts/ace/mode-css.js +1 -0
- data/vendor/assets/javascripts/ace/mode-groovy-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-groovy-uncompressed-noconflict.js +1280 -0
- data/vendor/assets/javascripts/ace/mode-groovy-uncompressed.js +1280 -0
- data/vendor/assets/javascripts/ace/mode-groovy.js +1 -0
- data/vendor/assets/javascripts/ace/mode-haxe-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-haxe-uncompressed-noconflict.js +768 -0
- data/vendor/assets/javascripts/ace/mode-haxe-uncompressed.js +768 -0
- data/vendor/assets/javascripts/ace/mode-haxe.js +1 -0
- data/vendor/assets/javascripts/ace/mode-html-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-html-uncompressed-noconflict.js +2377 -0
- data/vendor/assets/javascripts/ace/mode-html-uncompressed.js +2377 -0
- data/vendor/assets/javascripts/ace/mode-html.js +1 -0
- data/vendor/assets/javascripts/ace/mode-java-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-java-uncompressed-noconflict.js +1282 -0
- data/vendor/assets/javascripts/ace/mode-java-uncompressed.js +1282 -0
- data/vendor/assets/javascripts/ace/mode-java.js +1 -0
- data/vendor/assets/javascripts/ace/mode-javascript-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-javascript-uncompressed-noconflict.js +1113 -0
- data/vendor/assets/javascripts/ace/mode-javascript-uncompressed.js +1113 -0
- data/vendor/assets/javascripts/ace/mode-javascript.js +1 -0
- data/vendor/assets/javascripts/ace/mode-json-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-json-uncompressed-noconflict.js +696 -0
- data/vendor/assets/javascripts/ace/mode-json-uncompressed.js +696 -0
- data/vendor/assets/javascripts/ace/mode-json.js +1 -0
- data/vendor/assets/javascripts/ace/mode-latex-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-latex-uncompressed-noconflict.js +95 -0
- data/vendor/assets/javascripts/ace/mode-latex-uncompressed.js +95 -0
- data/vendor/assets/javascripts/ace/mode-latex.js +1 -0
- data/vendor/assets/javascripts/ace/mode-lua-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-lua-uncompressed-noconflict.js +523 -0
- data/vendor/assets/javascripts/ace/mode-lua-uncompressed.js +523 -0
- data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
- data/vendor/assets/javascripts/ace/mode-markdown-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-markdown-uncompressed-noconflict.js +2819 -0
- data/vendor/assets/javascripts/ace/mode-markdown-uncompressed.js +2819 -0
- data/vendor/assets/javascripts/ace/mode-markdown.js +1 -0
- data/vendor/assets/javascripts/ace/mode-ocaml-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed-noconflict.js +539 -0
- data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed.js +539 -0
- data/vendor/assets/javascripts/ace/mode-ocaml.js +1 -0
- data/vendor/assets/javascripts/ace/mode-perl-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-perl-uncompressed-noconflict.js +573 -0
- data/vendor/assets/javascripts/ace/mode-perl-uncompressed.js +573 -0
- data/vendor/assets/javascripts/ace/mode-perl.js +1 -0
- data/vendor/assets/javascripts/ace/mode-pgsql-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed-noconflict.js +1107 -0
- data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed.js +1107 -0
- data/vendor/assets/javascripts/ace/mode-pgsql.js +1 -0
- data/vendor/assets/javascripts/ace/mode-php-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-php-uncompressed-noconflict.js +1884 -0
- data/vendor/assets/javascripts/ace/mode-php-uncompressed.js +1884 -0
- data/vendor/assets/javascripts/ace/mode-php.js +1 -0
- data/vendor/assets/javascripts/ace/mode-powershell-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-powershell-uncompressed-noconflict.js +706 -0
- data/vendor/assets/javascripts/ace/mode-powershell-uncompressed.js +706 -0
- data/vendor/assets/javascripts/ace/mode-powershell.js +1 -0
- data/vendor/assets/javascripts/ace/mode-python-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-python-uncompressed-noconflict.js +506 -0
- data/vendor/assets/javascripts/ace/mode-python-uncompressed.js +506 -0
- data/vendor/assets/javascripts/ace/mode-python.js +1 -0
- data/vendor/assets/javascripts/ace/mode-ruby-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-ruby-uncompressed-noconflict.js +391 -0
- data/vendor/assets/javascripts/ace/mode-ruby-uncompressed.js +391 -0
- data/vendor/assets/javascripts/ace/mode-ruby.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scad-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scad-uncompressed-noconflict.js +906 -0
- data/vendor/assets/javascripts/ace/mode-scad-uncompressed.js +906 -0
- data/vendor/assets/javascripts/ace/mode-scad.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scala-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scala-uncompressed-noconflict.js +1282 -0
- data/vendor/assets/javascripts/ace/mode-scala-uncompressed.js +1282 -0
- data/vendor/assets/javascripts/ace/mode-scala.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scss-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-scss-uncompressed-noconflict.js +678 -0
- data/vendor/assets/javascripts/ace/mode-scss-uncompressed.js +678 -0
- data/vendor/assets/javascripts/ace/mode-scss.js +1 -0
- data/vendor/assets/javascripts/ace/mode-sh-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-sh-uncompressed-noconflict.js +268 -0
- data/vendor/assets/javascripts/ace/mode-sh-uncompressed.js +268 -0
- data/vendor/assets/javascripts/ace/mode-sh.js +1 -0
- data/vendor/assets/javascripts/ace/mode-sql-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-sql-uncompressed-noconflict.js +159 -0
- data/vendor/assets/javascripts/ace/mode-sql-uncompressed.js +159 -0
- data/vendor/assets/javascripts/ace/mode-sql.js +1 -0
- data/vendor/assets/javascripts/ace/mode-svg-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-svg-uncompressed-noconflict.js +2016 -0
- data/vendor/assets/javascripts/ace/mode-svg-uncompressed.js +2016 -0
- data/vendor/assets/javascripts/ace/mode-svg.js +1 -0
- data/vendor/assets/javascripts/ace/mode-text-noconflict.js +0 -0
- data/vendor/assets/javascripts/ace/mode-text-uncompressed-noconflict.js +0 -0
- data/vendor/assets/javascripts/ace/mode-text-uncompressed.js +0 -0
- data/vendor/assets/javascripts/ace/mode-text.js +0 -0
- data/vendor/assets/javascripts/ace/mode-textile-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-textile-uncompressed-noconflict.js +254 -0
- data/vendor/assets/javascripts/ace/mode-textile-uncompressed.js +254 -0
- data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
- data/vendor/assets/javascripts/ace/mode-xml-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/mode-xml-uncompressed-noconflict.js +1001 -0
- data/vendor/assets/javascripts/ace/mode-xml-uncompressed.js +1001 -0
- data/vendor/assets/javascripts/ace/mode-xml.js +1 -0
- data/vendor/assets/javascripts/ace/theme-chrome-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-chrome-uncompressed-noconflict.js +212 -0
- data/vendor/assets/javascripts/ace/theme-chrome-uncompressed.js +212 -0
- data/vendor/assets/javascripts/ace/theme-chrome.js +1 -0
- data/vendor/assets/javascripts/ace/theme-clouds-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-clouds-uncompressed-noconflict.js +155 -0
- data/vendor/assets/javascripts/ace/theme-clouds-uncompressed.js +155 -0
- data/vendor/assets/javascripts/ace/theme-clouds.js +1 -0
- data/vendor/assets/javascripts/ace/theme-clouds_midnight-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed-noconflict.js +156 -0
- data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed.js +156 -0
- data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +1 -0
- data/vendor/assets/javascripts/ace/theme-cobalt-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed-noconflict.js +170 -0
- data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed.js +170 -0
- data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -0
- data/vendor/assets/javascripts/ace/theme-crimson_editor-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed-noconflict.js +198 -0
- data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed.js +198 -0
- data/vendor/assets/javascripts/ace/theme-crimson_editor.js +1 -0
- data/vendor/assets/javascripts/ace/theme-dawn-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-dawn-uncompressed-noconflict.js +174 -0
- data/vendor/assets/javascripts/ace/theme-dawn-uncompressed.js +174 -0
- data/vendor/assets/javascripts/ace/theme-dawn.js +1 -0
- data/vendor/assets/javascripts/ace/theme-dreamweaver-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed-noconflict.js +227 -0
- data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed.js +227 -0
- data/vendor/assets/javascripts/ace/theme-dreamweaver.js +1 -0
- data/vendor/assets/javascripts/ace/theme-eclipse-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed-noconflict.js +147 -0
- data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed.js +147 -0
- data/vendor/assets/javascripts/ace/theme-eclipse.js +1 -0
- data/vendor/assets/javascripts/ace/theme-idle_fingers-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed-noconflict.js +162 -0
- data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed.js +162 -0
- data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -0
- data/vendor/assets/javascripts/ace/theme-kr_theme-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed-noconflict.js +165 -0
- data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed.js +165 -0
- data/vendor/assets/javascripts/ace/theme-kr_theme.js +1 -0
- data/vendor/assets/javascripts/ace/theme-merbivore-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed-noconflict.js +165 -0
- data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed.js +165 -0
- data/vendor/assets/javascripts/ace/theme-merbivore.js +1 -0
- data/vendor/assets/javascripts/ace/theme-merbivore_soft-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed-noconflict.js +171 -0
- data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed.js +171 -0
- data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +1 -0
- data/vendor/assets/javascripts/ace/theme-mono_industrial-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed-noconflict.js +169 -0
- data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed.js +169 -0
- data/vendor/assets/javascripts/ace/theme-mono_industrial.js +1 -0
- data/vendor/assets/javascripts/ace/theme-monokai-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-monokai-uncompressed-noconflict.js +171 -0
- data/vendor/assets/javascripts/ace/theme-monokai-uncompressed.js +171 -0
- data/vendor/assets/javascripts/ace/theme-monokai.js +1 -0
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed-noconflict.js +179 -0
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed.js +179 -0
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +1 -0
- data/vendor/assets/javascripts/ace/theme-solarized_dark-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed-noconflict.js +160 -0
- data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed.js +160 -0
- data/vendor/assets/javascripts/ace/theme-solarized_dark.js +1 -0
- data/vendor/assets/javascripts/ace/theme-solarized_light-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed-noconflict.js +159 -0
- data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed.js +159 -0
- data/vendor/assets/javascripts/ace/theme-solarized_light.js +1 -0
- data/vendor/assets/javascripts/ace/theme-textmate-noconflict.js +0 -0
- data/vendor/assets/javascripts/ace/theme-textmate-uncompressed-noconflict.js +0 -0
- data/vendor/assets/javascripts/ace/theme-textmate-uncompressed.js +0 -0
- data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed-noconflict.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed-noconflict.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed-noconflict.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed-noconflict.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed.js +189 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed-noconflict.js +185 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed.js +185 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -0
- data/vendor/assets/javascripts/ace/theme-twilight-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-twilight-uncompressed-noconflict.js +183 -0
- data/vendor/assets/javascripts/ace/theme-twilight-uncompressed.js +183 -0
- data/vendor/assets/javascripts/ace/theme-twilight.js +1 -0
- data/vendor/assets/javascripts/ace/theme-vibrant_ink-noconflict.js +1 -0
- data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed-noconflict.js +166 -0
- data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed.js +166 -0
- data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +1 -0
- data/vendor/assets/javascripts/ace/worker-coffee.js +7456 -0
- data/vendor/assets/javascripts/ace/worker-css.js +11693 -0
- data/vendor/assets/javascripts/ace/worker-javascript.js +10305 -0
- data/vendor/assets/javascripts/ace/worker-json.js +3062 -0
- metadata +310 -0
@@ -0,0 +1 @@
|
|
1
|
+
define("ace/mode/clojure",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/clojure_highlight_rules","ace/mode/matching_parens_outdent","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./clojure_highlight_rules").ClojureHighlightRules,h=a("./matching_parens_outdent").MatchingParensOutdent,i=a("../range").Range,j=function(){this.$tokenizer=new f((new g).getRules()),this.$outdent=new h};d.inherits(j,e),function(){this.toggleCommentLines=function(a,b,c,d){var e=!0,f=/^(\s*)#/;for(var g=c;g<=d;g++)if(!f.test(b.getLine(g))){e=!1;break}if(e){var h=new i(0,0,0,0);for(var g=c;g<=d;g++){var j=b.getLine(g),k=j.match(f);h.start.row=g,h.end.row=g,h.end.column=k[0].length,b.replace(h,k[1])}}else b.indentRows(c,d,";")},this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=this.$tokenizer.getLineTokens(b,a),f=e.tokens;if(f.length&&f[f.length-1].type=="comment")return d;if(a=="start"){var g=b.match(/[\(\[]/);g&&(d+=" "),g=b.match(/[\)]/),g&&(d="")}return d},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)}}.call(j.prototype),b.Mode=j}),define("ace/mode/clojure_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *e *err* *file* *flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *use-context-classloader* *warn-on-reflection* + - -> -> ->> ->> .. / < < <= <= = == > > >= >= accessor aclone add-classpath add-watch agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and apply areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint binding bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn bound-fn* butlast byte byte-array bytes cast char char-array char-escape-string char-name-string char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version coll? comment commute comp comparator compare compare-and-set! compile complement concat cond condp conj conj! cons constantly construct-proxy contains? count counted? create-ns create-struct cycle dec decimal? declare definline defmacro defmethod defmulti defn defn- defonce defstruct delay delay? deliver deref derive descendants destructure disj disj! dissoc dissoc! distinct distinct? doall doc dorun doseq dosync dotimes doto double double-array doubles drop drop-last drop-while empty empty? ensure enumeration-seq eval even? every? false? ffirst file-seq filter find find-doc find-ns find-var first float float-array float? floats flush fn fn? fnext for force format future future-call future-cancel future-cancelled? future-done? future? gen-class gen-interface gensym get get-in get-method get-proxy-class get-thread-bindings get-validator hash hash-map hash-set identical? identity if-let if-not ifn? import in-ns inc init-proxy instance? int int-array integer? interleave intern interpose into into-array ints io! isa? iterate iterator-seq juxt key keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list list* list? load load-file load-reader load-string loaded-libs locking long long-array longs loop macroexpand macroexpand-1 make-array make-hierarchy map map? mapcat max max-key memfn memoize merge merge-with meta method-sig methods min min-key mod name namespace neg? newline next nfirst nil? nnext not not-any? not-empty not-every? not= ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? pr pr-str prefer-method prefers primitives-classnames print print-ctor print-doc print-dup print-method print-namespace-doc print-simple print-special-doc print-str printf println println-str prn prn-str promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize re-find re-groups re-matcher re-matches re-pattern re-seq read read-line read-string reduce ref ref-history-count ref-max-history ref-min-history ref-set refer refer-clojure release-pending-sends rem remove remove-method remove-ns remove-watch repeat repeatedly replace replicate require reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq rsubseq second select-keys send send-off seq seq? seque sequence sequential? set set-validator! set? short short-array shorts shutdown-agents slurp some sort sort-by sorted-map sorted-map-by sorted-set sorted-set-by sorted? special-form-anchor special-symbol? split-at split-with str stream? string? struct struct-map subs subseq subvec supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test the-ns time to-array to-array-2d trampoline transient tree-seq true? type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unquote unquote-splicing update-in update-proxy use val vals var-get var-set var? vary-meta vec vector vector? when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision xml-seq zero? zipmap ".split(" ")),b=e.arrayToMap("def do fn if let loop monitor-enter monitor-exit new quote recur set! throw try var".split(" ")),c=e.arrayToMap("true false nil".split(" "));this.$rules={start:[{token:"comment",regex:";.*$"},{token:"comment",regex:"^=begin$",next:"comment"},{token:"keyword",regex:"[\\(|\\)]"},{token:"keyword",regex:"[\\'\\(]"},{token:"keyword",regex:"[\\[|\\]]"},{token:"keyword",regex:"[\\{|\\}|\\#\\{|\\#\\}]"},{token:"keyword",regex:"[\\&]"},{token:"keyword",regex:"[\\#\\^\\{]"},{token:"keyword",regex:"[\\%]"},{token:"keyword",regex:"[@]"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]"},{token:function(d){return b.hasOwnProperty(d)?"keyword":c.hasOwnProperty(d)?"constant.language":a.hasOwnProperty(d)?"support.function":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"[:](?:[a-zA-Z]|d)+"},{token:"string.regexp",regex:'/#"(?:.|(\\")|[^""\n])*"/g'}],comment:[{token:"comment",regex:"^=end$",next:"start"},{token:"comment",merge:!0,regex:".+"}]}};d.inherits(g,f),b.ClojureHighlightRules=g}),define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../range").Range,e=function(){};((function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\)/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\))/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}})).call(e.prototype),b.MatchingParensOutdent=e})
|
@@ -0,0 +1 @@
|
|
1
|
+
ace.define("ace/mode/coffee",["require","exports","module","ace/tokenizer","ace/mode/coffee_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/pythonic","ace/range","ace/mode/text","ace/worker/worker_client","ace/lib/oop"],function(a,b,c){function l(){this.$tokenizer=new d((new e).getRules()),this.$outdent=new f,this.foldingRules=new g("=|=>|->|\\s*class [^#]*")}"use strict";var d=a("../tokenizer").Tokenizer,e=a("./coffee_highlight_rules").CoffeeHighlightRules,f=a("./matching_brace_outdent").MatchingBraceOutdent,g=a("./folding/pythonic").FoldMode,h=a("../range").Range,i=a("./text").Mode,j=a("../worker/worker_client").WorkerClient,k=a("../lib/oop");k.inherits(l,i),function(){var a=/(?:[({[=:]|[-=]>|\b(?:else|switch|try|catch(?:\s*[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$/,b=/^(\s*)#/,c=/^\s*###(?!#)/,d=/^\s*/;this.getNextLineIndent=function(b,c,d){var e=this.$getIndent(c),f=this.$tokenizer.getLineTokens(c,b).tokens;return(!f.length||f[f.length-1].type!=="comment")&&b==="start"&&a.test(c)&&(e+=d),e},this.toggleCommentLines=function(a,e,f,g){console.log("toggle");var i=new h(0,0,0,0);for(var j=f;j<=g;++j){var k=e.getLine(j);if(c.test(k))continue;b.test(k)?k=k.replace(b,"$1"):k=k.replace(d,"$&#"),i.end.row=i.start.row=j,i.end.column=k.length+1,e.replace(i,k)}},this.checkOutdent=function(a,b,c){return this.$outdent.checkOutdent(b,c)},this.autoOutdent=function(a,b,c){this.$outdent.autoOutdent(b,c)},this.createWorker=function(a){var b=new j(["ace"],"worker-coffee.js","ace/mode/coffee_worker","Worker");return b.attachToDocument(a.getDocument()),b.on("error",function(b){a.setAnnotations([b.data])}),b.on("ok",function(b){a.clearAnnotations()}),b}}.call(l.prototype),b.Mode=l}),ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/mode/text_highlight_rules"],function(a,b,c){function g(){var a="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",b={token:"string",merge:!0,regex:".+"},c=d.arrayToMap("this|throw|then|try|typeof|super|switch|return|break|by)|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|forown|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes".split("|")),e=d.arrayToMap("true|false|null|undefined".split("|")),f=d.arrayToMap("case|const|default|function|var|void|with|enum|export|implements|interface|let|package|private|protected|public|static|yield|__hasProp|extends|slice|bind|indexOf".split("|")),g=d.arrayToMap("Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|RangeError|String|SyntaxError|Error|EvalError|TypeError|URIError".split("|")),h=d.arrayToMap("Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|RangeError|String|SyntaxError|Error|EvalError|TypeError|URIError".split("|"));this.$rules={start:[{token:"identifier",regex:"(?:(?:\\.|::)\\s*)"+a},{token:"variable",regex:"@(?:"+a+")?"},{token:function(a){return c.hasOwnProperty(a)?"keyword":e.hasOwnProperty(a)?"constant.language":f.hasOwnProperty(a)?"invalid.illegal":g.hasOwnProperty(a)?"language.support.class":h.hasOwnProperty(a)?"language.support.function":"identifier"},regex:a},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{token:"string",merge:!0,regex:"'''",next:"qdoc"},{token:"string",merge:!0,regex:'"""',next:"qqdoc"},{token:"string",merge:!0,regex:"'",next:"qstring"},{token:"string",merge:!0,regex:'"',next:"qqstring"},{token:"string",merge:!0,regex:"`",next:"js"},{token:"string.regex",merge:!0,regex:"///",next:"heregex"},{token:"string.regex",regex:"/(?!\\s)[^[/\\n\\\\]*(?: (?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[/\\n\\\\]*)*/[imgy]{0,4}(?!\\w)"},{token:"comment",merge:!0,regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\."},{token:"keyword.operator",regex:"(?:[\\-=]>|[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|\\!)"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],qdoc:[{token:"string",regex:".*?'''",next:"start"},b],qqdoc:[{token:"string",regex:'.*?"""',next:"start"},b],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",merge:!0,next:"start"},b],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',merge:!0,next:"start"},b],js:[{token:"string",merge:!0,regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"start"},b],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",merge:!0,regex:"\\S+"}],comment:[{token:"comment",regex:".*?###",next:"start"},{token:"comment",merge:!0,regex:".+"}]}}"use strict";var d=a("../lib/lang"),e=a("../lib/oop"),f=a("./text_highlight_rules").TextHighlightRules;e.inherits(g,f),b.CoffeeHighlightRules=g}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../range").Range,e=function(){};((function(){this.checkOutdent=function(a,b){return/^\s+$/.test(a)?/^\s*\}/.test(b):!1},this.autoOutdent=function(a,b){var c=a.getLine(b),e=c.match(/^(\s*\})/);if(!e)return 0;var f=e[1].length,g=a.findMatchingBracket({row:b,column:f});if(!g||g.row==b)return 0;var h=this.$getIndent(a.getLine(g.row));a.replace(new d(b,0,b,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""}})).call(e.prototype),b.MatchingBraceOutdent=e}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("./fold_mode").FoldMode,f=b.FoldMode=function(a){this.foldingStartMarker=new RegExp("(?:([\\[{])|("+a+"))(?:\\s*)(?:#.*)?$")};d.inherits(f,e),function(){this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),e=d.match(this.foldingStartMarker);if(e)return e[1]?this.openingBracketBlock(a,e[1],c,e.index):e[2]?this.indentationBlock(a,c,e.index+e[2].length):this.indentationBlock(a,c)}}.call(f.prototype)}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../../range").Range,e=b.FoldMode=function(){};((function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":b=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/^\s*/,f=b,g=b,h=a.getLine(b),i=c||h.length,j=h.match(e)[0].length,k=a.getLength();while(++b<k){h=a.getLine(b);var l=h.match(e)[0].length;if(l==h.length)continue;if(l<=j)break;g=b}if(g>f){var m=a.getLine(g).length;return new d(f,i,g,m)}},this.openingBracketBlock=function(a,b,c,e){var f={row:c,column:e+1},g=a.$findClosingBracket(b,f);if(!g)return;var h=a.foldWidgets[g.row];return h==null&&(h=this.getFoldWidget(a,g.row)),h=="start"&&(g.row--,g.column=a.getLine(g.row).length),d.fromPoints(f,g)}})).call(e.prototype)})
|
@@ -0,0 +1,605 @@
|
|
1
|
+
/* ***** BEGIN LICENSE BLOCK *****
|
2
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
3
|
+
*
|
4
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
5
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
6
|
+
* the License. You may obtain a copy of the License at
|
7
|
+
* http://www.mozilla.org/MPL/
|
8
|
+
*
|
9
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
10
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
11
|
+
* for the specific language governing rights and limitations under the
|
12
|
+
* License.
|
13
|
+
*
|
14
|
+
* The Original Code is Ajax.org Code Editor (ACE).
|
15
|
+
*
|
16
|
+
* The Initial Developer of the Original Code is
|
17
|
+
* Ajax.org B.V.
|
18
|
+
* Portions created by the Initial Developer are Copyright (C) 2010
|
19
|
+
* the Initial Developer. All Rights Reserved.
|
20
|
+
*
|
21
|
+
* Contributor(s):
|
22
|
+
* Satoshi Murakami <murky.satyr AT gmail DOT com>
|
23
|
+
*
|
24
|
+
* Alternatively, the contents of this file may be used under the terms of
|
25
|
+
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
26
|
+
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
27
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
28
|
+
* of those above. If you wish to allow use of your version of this file only
|
29
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
30
|
+
* use your version of this file under the terms of the MPL, indicate your
|
31
|
+
* decision by deleting the provisions above and replace them with the notice
|
32
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
33
|
+
* the provisions above, a recipient may use your version of this file under
|
34
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
35
|
+
*
|
36
|
+
* ***** END LICENSE BLOCK ***** */
|
37
|
+
|
38
|
+
ace.define('ace/mode/coffee', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/coffee_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/folding/pythonic', 'ace/range', 'ace/mode/text', 'ace/worker/worker_client', 'ace/lib/oop'], function(require, exports, module) {
|
39
|
+
"use strict";
|
40
|
+
|
41
|
+
var Tokenizer = require("../tokenizer").Tokenizer;
|
42
|
+
var Rules = require("./coffee_highlight_rules").CoffeeHighlightRules;
|
43
|
+
var Outdent = require("./matching_brace_outdent").MatchingBraceOutdent;
|
44
|
+
var PythonFoldMode = require("./folding/pythonic").FoldMode;
|
45
|
+
var Range = require("../range").Range;
|
46
|
+
var TextMode = require("./text").Mode;
|
47
|
+
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
48
|
+
var oop = require("../lib/oop");
|
49
|
+
|
50
|
+
function Mode() {
|
51
|
+
this.$tokenizer = new Tokenizer(new Rules().getRules());
|
52
|
+
this.$outdent = new Outdent();
|
53
|
+
this.foldingRules = new PythonFoldMode("=|=>|->|\\s*class [^#]*");
|
54
|
+
}
|
55
|
+
|
56
|
+
oop.inherits(Mode, TextMode);
|
57
|
+
|
58
|
+
(function() {
|
59
|
+
|
60
|
+
var indenter = /(?:[({[=:]|[-=]>|\b(?:else|switch|try|catch(?:\s*[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$/;
|
61
|
+
var commentLine = /^(\s*)#/;
|
62
|
+
var hereComment = /^\s*###(?!#)/;
|
63
|
+
var indentation = /^\s*/;
|
64
|
+
|
65
|
+
this.getNextLineIndent = function(state, line, tab) {
|
66
|
+
var indent = this.$getIndent(line);
|
67
|
+
var tokens = this.$tokenizer.getLineTokens(line, state).tokens;
|
68
|
+
|
69
|
+
if (!(tokens.length && tokens[tokens.length - 1].type === 'comment') &&
|
70
|
+
state === 'start' && indenter.test(line))
|
71
|
+
indent += tab;
|
72
|
+
return indent;
|
73
|
+
};
|
74
|
+
|
75
|
+
this.toggleCommentLines = function(state, doc, startRow, endRow){
|
76
|
+
console.log("toggle");
|
77
|
+
var range = new Range(0, 0, 0, 0);
|
78
|
+
for (var i = startRow; i <= endRow; ++i) {
|
79
|
+
var line = doc.getLine(i);
|
80
|
+
if (hereComment.test(line))
|
81
|
+
continue;
|
82
|
+
|
83
|
+
if (commentLine.test(line))
|
84
|
+
line = line.replace(commentLine, '$1');
|
85
|
+
else
|
86
|
+
line = line.replace(indentation, '$&#');
|
87
|
+
|
88
|
+
range.end.row = range.start.row = i;
|
89
|
+
range.end.column = line.length + 1;
|
90
|
+
doc.replace(range, line);
|
91
|
+
}
|
92
|
+
};
|
93
|
+
|
94
|
+
this.checkOutdent = function(state, line, input) {
|
95
|
+
return this.$outdent.checkOutdent(line, input);
|
96
|
+
};
|
97
|
+
|
98
|
+
this.autoOutdent = function(state, doc, row) {
|
99
|
+
this.$outdent.autoOutdent(doc, row);
|
100
|
+
};
|
101
|
+
|
102
|
+
this.createWorker = function(session) {
|
103
|
+
var worker = new WorkerClient(["ace"], "worker-coffee.js", "ace/mode/coffee_worker", "Worker");
|
104
|
+
worker.attachToDocument(session.getDocument());
|
105
|
+
|
106
|
+
worker.on("error", function(e) {
|
107
|
+
session.setAnnotations([e.data]);
|
108
|
+
});
|
109
|
+
|
110
|
+
worker.on("ok", function(e) {
|
111
|
+
session.clearAnnotations();
|
112
|
+
});
|
113
|
+
|
114
|
+
return worker;
|
115
|
+
};
|
116
|
+
|
117
|
+
}).call(Mode.prototype);
|
118
|
+
|
119
|
+
exports.Mode = Mode;
|
120
|
+
|
121
|
+
});/* ***** BEGIN LICENSE BLOCK *****
|
122
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
123
|
+
*
|
124
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
125
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
126
|
+
* the License. You may obtain a copy of the License at
|
127
|
+
* http://www.mozilla.org/MPL/
|
128
|
+
*
|
129
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
130
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
131
|
+
* for the specific language governing rights and limitations under the
|
132
|
+
* License.
|
133
|
+
*
|
134
|
+
* The Original Code is Ajax.org Code Editor (ACE).
|
135
|
+
*
|
136
|
+
* The Initial Developer of the Original Code is
|
137
|
+
* Ajax.org B.V.
|
138
|
+
* Portions created by the Initial Developer are Copyright (C) 2010
|
139
|
+
* the Initial Developer. All Rights Reserved.
|
140
|
+
*
|
141
|
+
* Contributor(s):
|
142
|
+
* Satoshi Murakami <murky.satyr AT gmail DOT com>
|
143
|
+
*
|
144
|
+
* Alternatively, the contents of this file may be used under the terms of
|
145
|
+
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
146
|
+
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
147
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
148
|
+
* of those above. If you wish to allow use of your version of this file only
|
149
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
150
|
+
* use your version of this file under the terms of the MPL, indicate your
|
151
|
+
* decision by deleting the provisions above and replace them with the notice
|
152
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
153
|
+
* the provisions above, a recipient may use your version of this file under
|
154
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
155
|
+
*
|
156
|
+
* ***** END LICENSE BLOCK ***** */
|
157
|
+
|
158
|
+
ace.define('ace/mode/coffee_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
|
159
|
+
"use strict";
|
160
|
+
|
161
|
+
var lang = require("../lib/lang");
|
162
|
+
var oop = require("../lib/oop");
|
163
|
+
var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
|
164
|
+
|
165
|
+
oop.inherits(CoffeeHighlightRules, TextHighlightRules);
|
166
|
+
|
167
|
+
function CoffeeHighlightRules() {
|
168
|
+
var identifier = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*";
|
169
|
+
var stringfill = {
|
170
|
+
token : "string",
|
171
|
+
merge : true,
|
172
|
+
regex : ".+"
|
173
|
+
};
|
174
|
+
|
175
|
+
var keywords = lang.arrayToMap((
|
176
|
+
"this|throw|then|try|typeof|super|switch|return|break|by)|continue|" +
|
177
|
+
"catch|class|in|instanceof|is|isnt|if|else|extends|for|forown|" +
|
178
|
+
"finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|" +
|
179
|
+
"or|on|unless|until|and|yes").split("|")
|
180
|
+
);
|
181
|
+
|
182
|
+
var langConstant = lang.arrayToMap((
|
183
|
+
"true|false|null|undefined").split("|")
|
184
|
+
);
|
185
|
+
|
186
|
+
var illegal = lang.arrayToMap((
|
187
|
+
"case|const|default|function|var|void|with|enum|export|implements|" +
|
188
|
+
"interface|let|package|private|protected|public|static|yield|" +
|
189
|
+
"__hasProp|extends|slice|bind|indexOf").split("|")
|
190
|
+
);
|
191
|
+
|
192
|
+
var supportClass = lang.arrayToMap((
|
193
|
+
"Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|" +
|
194
|
+
"RangeError|String|SyntaxError|Error|EvalError|TypeError|URIError").split("|")
|
195
|
+
);
|
196
|
+
|
197
|
+
var supportFunction = lang.arrayToMap((
|
198
|
+
"Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|" +
|
199
|
+
"encodeURIComponent|decodeURI|decodeURIComponent|RangeError|String|" +
|
200
|
+
"SyntaxError|Error|EvalError|TypeError|URIError").split("|")
|
201
|
+
);
|
202
|
+
|
203
|
+
this.$rules = {
|
204
|
+
start : [
|
205
|
+
{
|
206
|
+
token : "identifier",
|
207
|
+
regex : "(?:(?:\\.|::)\\s*)" + identifier
|
208
|
+
}, {
|
209
|
+
token : "variable",
|
210
|
+
regex : "@(?:" + identifier + ")?"
|
211
|
+
}, {
|
212
|
+
token: function(value) {
|
213
|
+
if (keywords.hasOwnProperty(value))
|
214
|
+
return "keyword";
|
215
|
+
else if (langConstant.hasOwnProperty(value))
|
216
|
+
return "constant.language";
|
217
|
+
else if (illegal.hasOwnProperty(value))
|
218
|
+
return "invalid.illegal";
|
219
|
+
else if (supportClass.hasOwnProperty(value))
|
220
|
+
return "language.support.class";
|
221
|
+
else if (supportFunction.hasOwnProperty(value))
|
222
|
+
return "language.support.function";
|
223
|
+
else
|
224
|
+
return "identifier";
|
225
|
+
},
|
226
|
+
regex : identifier
|
227
|
+
}, {
|
228
|
+
token : "constant.numeric",
|
229
|
+
regex : "(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"
|
230
|
+
}, {
|
231
|
+
token : "string",
|
232
|
+
merge : true,
|
233
|
+
regex : "'''",
|
234
|
+
next : "qdoc"
|
235
|
+
}, {
|
236
|
+
token : "string",
|
237
|
+
merge : true,
|
238
|
+
regex : '"""',
|
239
|
+
next : "qqdoc"
|
240
|
+
}, {
|
241
|
+
token : "string",
|
242
|
+
merge : true,
|
243
|
+
regex : "'",
|
244
|
+
next : "qstring"
|
245
|
+
}, {
|
246
|
+
token : "string",
|
247
|
+
merge : true,
|
248
|
+
regex : '"',
|
249
|
+
next : "qqstring"
|
250
|
+
}, {
|
251
|
+
token : "string",
|
252
|
+
merge : true,
|
253
|
+
regex : "`",
|
254
|
+
next : "js"
|
255
|
+
}, {
|
256
|
+
token : "string.regex",
|
257
|
+
merge : true,
|
258
|
+
regex : "///",
|
259
|
+
next : "heregex"
|
260
|
+
}, {
|
261
|
+
token : "string.regex",
|
262
|
+
regex : "/(?!\\s)[^[/\\n\\\\]*(?: (?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[/\\n\\\\]*)*/[imgy]{0,4}(?!\\w)"
|
263
|
+
}, {
|
264
|
+
token : "comment",
|
265
|
+
merge : true,
|
266
|
+
regex : "###(?!#)",
|
267
|
+
next : "comment"
|
268
|
+
}, {
|
269
|
+
token : "comment",
|
270
|
+
regex : "#.*"
|
271
|
+
}, {
|
272
|
+
token : "punctuation.operator",
|
273
|
+
regex : "\\?|\\:|\\,|\\."
|
274
|
+
}, {
|
275
|
+
token : "keyword.operator",
|
276
|
+
regex : "(?:[\\-=]>|[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|\\!)"
|
277
|
+
}, {
|
278
|
+
token : "paren.lparen",
|
279
|
+
regex : "[({[]"
|
280
|
+
}, {
|
281
|
+
token : "paren.rparen",
|
282
|
+
regex : "[\\]})]"
|
283
|
+
}, {
|
284
|
+
token : "text",
|
285
|
+
regex : "\\s+"
|
286
|
+
}],
|
287
|
+
|
288
|
+
qdoc : [{
|
289
|
+
token : "string",
|
290
|
+
regex : ".*?'''",
|
291
|
+
next : "start"
|
292
|
+
}, stringfill],
|
293
|
+
|
294
|
+
qqdoc : [{
|
295
|
+
token : "string",
|
296
|
+
regex : '.*?"""',
|
297
|
+
next : "start"
|
298
|
+
}, stringfill],
|
299
|
+
|
300
|
+
qstring : [{
|
301
|
+
token : "string",
|
302
|
+
regex : "[^\\\\']*(?:\\\\.[^\\\\']*)*'",
|
303
|
+
merge : true,
|
304
|
+
next : "start"
|
305
|
+
}, stringfill],
|
306
|
+
|
307
|
+
qqstring : [{
|
308
|
+
token : "string",
|
309
|
+
regex : '[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',
|
310
|
+
merge : true,
|
311
|
+
next : "start"
|
312
|
+
}, stringfill],
|
313
|
+
|
314
|
+
js : [{
|
315
|
+
token : "string",
|
316
|
+
merge : true,
|
317
|
+
regex : "[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",
|
318
|
+
next : "start"
|
319
|
+
}, stringfill],
|
320
|
+
|
321
|
+
heregex : [{
|
322
|
+
token : "string.regex",
|
323
|
+
regex : '.*?///[imgy]{0,4}',
|
324
|
+
next : "start"
|
325
|
+
}, {
|
326
|
+
token : "comment.regex",
|
327
|
+
regex : "\\s+(?:#.*)?"
|
328
|
+
}, {
|
329
|
+
token : "string.regex",
|
330
|
+
merge : true,
|
331
|
+
regex : "\\S+"
|
332
|
+
}],
|
333
|
+
|
334
|
+
comment : [{
|
335
|
+
token : "comment",
|
336
|
+
regex : '.*?###',
|
337
|
+
next : "start"
|
338
|
+
}, {
|
339
|
+
token : "comment",
|
340
|
+
merge : true,
|
341
|
+
regex : ".+"
|
342
|
+
}]
|
343
|
+
};
|
344
|
+
}
|
345
|
+
|
346
|
+
exports.CoffeeHighlightRules = CoffeeHighlightRules;
|
347
|
+
});
|
348
|
+
/* ***** BEGIN LICENSE BLOCK *****
|
349
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
350
|
+
*
|
351
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
352
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
353
|
+
* the License. You may obtain a copy of the License at
|
354
|
+
* http://www.mozilla.org/MPL/
|
355
|
+
*
|
356
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
357
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
358
|
+
* for the specific language governing rights and limitations under the
|
359
|
+
* License.
|
360
|
+
*
|
361
|
+
* The Original Code is Ajax.org Code Editor (ACE).
|
362
|
+
*
|
363
|
+
* The Initial Developer of the Original Code is
|
364
|
+
* Ajax.org B.V.
|
365
|
+
* Portions created by the Initial Developer are Copyright (C) 2010
|
366
|
+
* the Initial Developer. All Rights Reserved.
|
367
|
+
*
|
368
|
+
* Contributor(s):
|
369
|
+
* Fabian Jakobs <fabian AT ajax DOT org>
|
370
|
+
*
|
371
|
+
* Alternatively, the contents of this file may be used under the terms of
|
372
|
+
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
373
|
+
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
374
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
375
|
+
* of those above. If you wish to allow use of your version of this file only
|
376
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
377
|
+
* use your version of this file under the terms of the MPL, indicate your
|
378
|
+
* decision by deleting the provisions above and replace them with the notice
|
379
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
380
|
+
* the provisions above, a recipient may use your version of this file under
|
381
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
382
|
+
*
|
383
|
+
* ***** END LICENSE BLOCK ***** */
|
384
|
+
|
385
|
+
ace.define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
|
386
|
+
"use strict";
|
387
|
+
|
388
|
+
var Range = require("../range").Range;
|
389
|
+
|
390
|
+
var MatchingBraceOutdent = function() {};
|
391
|
+
|
392
|
+
(function() {
|
393
|
+
|
394
|
+
this.checkOutdent = function(line, input) {
|
395
|
+
if (! /^\s+$/.test(line))
|
396
|
+
return false;
|
397
|
+
|
398
|
+
return /^\s*\}/.test(input);
|
399
|
+
};
|
400
|
+
|
401
|
+
this.autoOutdent = function(doc, row) {
|
402
|
+
var line = doc.getLine(row);
|
403
|
+
var match = line.match(/^(\s*\})/);
|
404
|
+
|
405
|
+
if (!match) return 0;
|
406
|
+
|
407
|
+
var column = match[1].length;
|
408
|
+
var openBracePos = doc.findMatchingBracket({row: row, column: column});
|
409
|
+
|
410
|
+
if (!openBracePos || openBracePos.row == row) return 0;
|
411
|
+
|
412
|
+
var indent = this.$getIndent(doc.getLine(openBracePos.row));
|
413
|
+
doc.replace(new Range(row, 0, row, column-1), indent);
|
414
|
+
};
|
415
|
+
|
416
|
+
this.$getIndent = function(line) {
|
417
|
+
var match = line.match(/^(\s+)/);
|
418
|
+
if (match) {
|
419
|
+
return match[1];
|
420
|
+
}
|
421
|
+
|
422
|
+
return "";
|
423
|
+
};
|
424
|
+
|
425
|
+
}).call(MatchingBraceOutdent.prototype);
|
426
|
+
|
427
|
+
exports.MatchingBraceOutdent = MatchingBraceOutdent;
|
428
|
+
});
|
429
|
+
/* ***** BEGIN LICENSE BLOCK *****
|
430
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
431
|
+
*
|
432
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
433
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
434
|
+
* the License. You may obtain a copy of the License at
|
435
|
+
* http://www.mozilla.org/MPL/
|
436
|
+
*
|
437
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
438
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
439
|
+
* for the specific language governing rights and limitations under the
|
440
|
+
* License.
|
441
|
+
*
|
442
|
+
* The Original Code is Ajax.org Code Editor (ACE).
|
443
|
+
*
|
444
|
+
* The Initial Developer of the Original Code is
|
445
|
+
* Ajax.org B.V.
|
446
|
+
* Portions created by the Initial Developer are Copyright (C) 2010
|
447
|
+
* the Initial Developer. All Rights Reserved.
|
448
|
+
*
|
449
|
+
* Contributor(s):
|
450
|
+
* Fabian Jakobs <fabian AT ajax DOT org>
|
451
|
+
*
|
452
|
+
* Alternatively, the contents of this file may be used under the terms of
|
453
|
+
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
454
|
+
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
455
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
456
|
+
* of those above. If you wish to allow use of your version of this file only
|
457
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
458
|
+
* use your version of this file under the terms of the MPL, indicate your
|
459
|
+
* decision by deleting the provisions above and replace them with the notice
|
460
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
461
|
+
* the provisions above, a recipient may use your version of this file under
|
462
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
463
|
+
*
|
464
|
+
* ***** END LICENSE BLOCK ***** */
|
465
|
+
|
466
|
+
ace.define('ace/mode/folding/pythonic', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode'], function(require, exports, module) {
|
467
|
+
"use strict";
|
468
|
+
|
469
|
+
var oop = require("../../lib/oop");
|
470
|
+
var BaseFoldMode = require("./fold_mode").FoldMode;
|
471
|
+
|
472
|
+
var FoldMode = exports.FoldMode = function(markers) {
|
473
|
+
this.foldingStartMarker = new RegExp("(?:([\\[{])|(" + markers + "))(?:\\s*)(?:#.*)?$");
|
474
|
+
};
|
475
|
+
oop.inherits(FoldMode, BaseFoldMode);
|
476
|
+
|
477
|
+
(function() {
|
478
|
+
|
479
|
+
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
480
|
+
var line = session.getLine(row);
|
481
|
+
var match = line.match(this.foldingStartMarker);
|
482
|
+
if (match) {
|
483
|
+
if (match[1])
|
484
|
+
return this.openingBracketBlock(session, match[1], row, match.index);
|
485
|
+
if (match[2])
|
486
|
+
return this.indentationBlock(session, row, match.index + match[2].length);
|
487
|
+
return this.indentationBlock(session, row);
|
488
|
+
}
|
489
|
+
}
|
490
|
+
|
491
|
+
}).call(FoldMode.prototype);
|
492
|
+
|
493
|
+
});/* ***** BEGIN LICENSE BLOCK *****
|
494
|
+
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
495
|
+
*
|
496
|
+
* The contents of this file are subject to the Mozilla Public License Version
|
497
|
+
* 1.1 (the "License"); you may not use this file except in compliance with
|
498
|
+
* the License. You may obtain a copy of the License at
|
499
|
+
* http://www.mozilla.org/MPL/
|
500
|
+
*
|
501
|
+
* Software distributed under the License is distributed on an "AS IS" basis,
|
502
|
+
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
503
|
+
* for the specific language governing rights and limitations under the
|
504
|
+
* License.
|
505
|
+
*
|
506
|
+
* The Original Code is Ajax.org Code Editor (ACE).
|
507
|
+
*
|
508
|
+
* The Initial Developer of the Original Code is
|
509
|
+
* Ajax.org B.V.
|
510
|
+
* Portions created by the Initial Developer are Copyright (C) 2010
|
511
|
+
* the Initial Developer. All Rights Reserved.
|
512
|
+
*
|
513
|
+
* Contributor(s):
|
514
|
+
* Fabian Jakobs <fabian AT ajax DOT org>
|
515
|
+
*
|
516
|
+
* Alternatively, the contents of this file may be used under the terms of
|
517
|
+
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
518
|
+
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
519
|
+
* in which case the provisions of the GPL or the LGPL are applicable instead
|
520
|
+
* of those above. If you wish to allow use of your version of this file only
|
521
|
+
* under the terms of either the GPL or the LGPL, and not to allow others to
|
522
|
+
* use your version of this file under the terms of the MPL, indicate your
|
523
|
+
* decision by deleting the provisions above and replace them with the notice
|
524
|
+
* and other provisions required by the GPL or the LGPL. If you do not delete
|
525
|
+
* the provisions above, a recipient may use your version of this file under
|
526
|
+
* the terms of any one of the MPL, the GPL or the LGPL.
|
527
|
+
*
|
528
|
+
* ***** END LICENSE BLOCK ***** */
|
529
|
+
|
530
|
+
ace.define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
|
531
|
+
"use strict";
|
532
|
+
|
533
|
+
var Range = require("../../range").Range;
|
534
|
+
|
535
|
+
var FoldMode = exports.FoldMode = function() {};
|
536
|
+
|
537
|
+
(function() {
|
538
|
+
|
539
|
+
this.foldingStartMarker = null;
|
540
|
+
this.foldingStopMarker = null;
|
541
|
+
|
542
|
+
// must return "" if there's no fold, to enable caching
|
543
|
+
this.getFoldWidget = function(session, foldStyle, row) {
|
544
|
+
var line = session.getLine(row);
|
545
|
+
if (this.foldingStartMarker.test(line))
|
546
|
+
return "start";
|
547
|
+
if (foldStyle == "markbeginend"
|
548
|
+
&& this.foldingStopMarker
|
549
|
+
&& this.foldingStopMarker.test(line))
|
550
|
+
return "end";
|
551
|
+
return "";
|
552
|
+
};
|
553
|
+
|
554
|
+
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
555
|
+
return null;
|
556
|
+
};
|
557
|
+
|
558
|
+
this.indentationBlock = function(session, row, column) {
|
559
|
+
var re = /^\s*/;
|
560
|
+
var startRow = row;
|
561
|
+
var endRow = row;
|
562
|
+
var line = session.getLine(row);
|
563
|
+
var startColumn = column || line.length;
|
564
|
+
var startLevel = line.match(re)[0].length;
|
565
|
+
var maxRow = session.getLength()
|
566
|
+
|
567
|
+
while (++row < maxRow) {
|
568
|
+
line = session.getLine(row);
|
569
|
+
var level = line.match(re)[0].length;
|
570
|
+
|
571
|
+
if (level == line.length)
|
572
|
+
continue;
|
573
|
+
|
574
|
+
if (level <= startLevel)
|
575
|
+
break;
|
576
|
+
|
577
|
+
endRow = row;
|
578
|
+
}
|
579
|
+
|
580
|
+
if (endRow > startRow) {
|
581
|
+
var endColumn = session.getLine(endRow).length;
|
582
|
+
return new Range(startRow, startColumn, endRow, endColumn);
|
583
|
+
}
|
584
|
+
};
|
585
|
+
|
586
|
+
this.openingBracketBlock = function(session, bracket, row, column) {
|
587
|
+
var start = {row: row, column: column + 1};
|
588
|
+
var end = session.$findClosingBracket(bracket, start);
|
589
|
+
if (!end)
|
590
|
+
return;
|
591
|
+
|
592
|
+
var fw = session.foldWidgets[end.row];
|
593
|
+
if (fw == null)
|
594
|
+
fw = this.getFoldWidget(session, end.row);
|
595
|
+
|
596
|
+
if (fw == "start") {
|
597
|
+
end.row --;
|
598
|
+
end.column = session.getLine(end.row).length;
|
599
|
+
}
|
600
|
+
return Range.fromPoints(start, end);
|
601
|
+
};
|
602
|
+
|
603
|
+
}).call(FoldMode.prototype);
|
604
|
+
|
605
|
+
});
|