diff --git a/lib/ace/mode/abap.js b/lib/ace/mode/abap.js index fbd8066a..6ec54c07 100644 --- a/lib/ace/mode/abap.js +++ b/lib/ace/mode/abap.js @@ -39,9 +39,7 @@ var TextMode = require("./text").Mode; var oop = require("../lib/oop"); function Mode() { - var highlighter = new Rules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = new Rules(highlighter.$keywordList); + this.HighlightRules = Rules; this.foldingRules = new FoldMode(); } diff --git a/lib/ace/mode/actionscript.js b/lib/ace/mode/actionscript.js index 7411413d..47b9345d 100644 --- a/lib/ace/mode/actionscript.js +++ b/lib/ace/mode/actionscript.js @@ -48,16 +48,14 @@ var ActionScriptHighlightRules = require("./actionscript_highlight_rules").Actio var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new ActionScriptHighlightRules(); + this.HighlightRules = ActionScriptHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "//"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/ada.js b/lib/ace/mode/ada.js index 8db5a21f..d368bfdd 100644 --- a/lib/ace/mode/ada.js +++ b/lib/ace/mode/ada.js @@ -38,7 +38,7 @@ var AdaHighlightRules = require("./ada_highlight_rules").AdaHighlightRules; var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new AdaHighlightRules().getRules()); + this.HighlightRules = AdaHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/asciidoc.js b/lib/ace/mode/asciidoc.js index be0bf88b..02979f54 100644 --- a/lib/ace/mode/asciidoc.js +++ b/lib/ace/mode/asciidoc.js @@ -38,9 +38,8 @@ var AsciidocHighlightRules = require("./asciidoc_highlight_rules").AsciidocHighl var AsciidocFoldMode = require("./folding/asciidoc").FoldMode; var Mode = function() { - var highlighter = new AsciidocHighlightRules(); + this.HighlightRules = AsciidocHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.foldingRules = new AsciidocFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/assembly_x86.js b/lib/ace/mode/assembly_x86.js index e4d6d8f7..26989198 100644 --- a/lib/ace/mode/assembly_x86.js +++ b/lib/ace/mode/assembly_x86.js @@ -43,15 +43,13 @@ var AssemblyX86HighlightRules = require("./assembly_x86_highlight_rules").Assemb var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new AssemblyX86HighlightRules(); + this.HighlightRules = AssemblyX86HighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = ";"; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/autohotkey.js b/lib/ace/mode/autohotkey.js index b8e69fd9..2a9ecee5 100644 --- a/lib/ace/mode/autohotkey.js +++ b/lib/ace/mode/autohotkey.js @@ -48,16 +48,14 @@ var AutoHotKeyHighlightRules = require("./autohotkey_highlight_rules").AutoHotKe var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new AutoHotKeyHighlightRules(); + this.HighlightRules = AutoHotKeyHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "/\\*"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/batchfile.js b/lib/ace/mode/batchfile.js index 5b293c0b..2f10957f 100644 --- a/lib/ace/mode/batchfile.js +++ b/lib/ace/mode/batchfile.js @@ -47,16 +47,14 @@ var BatchFileHighlightRules = require("./batchfile_highlight_rules").BatchFileHi var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new BatchFileHighlightRules(); + this.HighlightRules = BatchFileHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "::"; this.blockComment = ""; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/c9search.js b/lib/ace/mode/c9search.js index 66b26145..18cfdd40 100644 --- a/lib/ace/mode/c9search.js +++ b/lib/ace/mode/c9search.js @@ -39,7 +39,7 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var C9StyleFoldMode = require("./folding/c9search").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new C9SearchHighlightRules().getRules()); + this.HighlightRules = C9SearchHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new C9StyleFoldMode(); }; diff --git a/lib/ace/mode/c_cpp.js b/lib/ace/mode/c_cpp.js index 6b6f8c09..cb62292f 100644 --- a/lib/ace/mode/c_cpp.js +++ b/lib/ace/mode/c_cpp.js @@ -41,12 +41,10 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new c_cppHighlightRules(); + this.HighlightRules = c_cppHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; diff --git a/lib/ace/mode/clojure.js b/lib/ace/mode/clojure.js index df67dc06..38a6c4f1 100644 --- a/lib/ace/mode/clojure.js +++ b/lib/ace/mode/clojure.js @@ -39,9 +39,7 @@ var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensO var Range = require("../range").Range; var Mode = function() { - var highlighter = new ClojureHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = ClojureHighlightRules; this.$outdent = new MatchingParensOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/cobol.js b/lib/ace/mode/cobol.js index 4ff2f7ef..a705d9bd 100644 --- a/lib/ace/mode/cobol.js +++ b/lib/ace/mode/cobol.js @@ -38,7 +38,7 @@ var CobolHighlightRules = require("./cobol_highlight_rules").CobolHighlightRules var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new CobolHighlightRules().getRules()); + this.HighlightRules = CobolHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/coffee.js b/lib/ace/mode/coffee.js index 4a6d2201..02b018bd 100644 --- a/lib/ace/mode/coffee.js +++ b/lib/ace/mode/coffee.js @@ -41,10 +41,8 @@ var WorkerClient = require("../worker/worker_client").WorkerClient; var oop = require("../lib/oop"); function Mode() { - var highlighter = new Rules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = Rules; this.$outdent = new Outdent(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new FoldMode(); } diff --git a/lib/ace/mode/coldfusion.js b/lib/ace/mode/coldfusion.js index fc62a89e..25a2b17a 100644 --- a/lib/ace/mode/coldfusion.js +++ b/lib/ace/mode/coldfusion.js @@ -41,10 +41,8 @@ var ColdfusionHighlightRules = require("./coldfusion_highlight_rules").Coldfusio var Mode = function() { XmlMode.call(this); - var highlighter = new ColdfusionHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = ColdfusionHighlightRules; - this.$embeds = highlighter.getEmbeds(); this.createModeDelegates({ "js-": JavaScriptMode, "css-": CssMode diff --git a/lib/ace/mode/csharp.js b/lib/ace/mode/csharp.js index 66644b45..94629f3d 100644 --- a/lib/ace/mode/csharp.js +++ b/lib/ace/mode/csharp.js @@ -10,11 +10,9 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new CSharpHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = CSharpHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/css.js b/lib/ace/mode/css.js index fcaa298c..0ee16e75 100644 --- a/lib/ace/mode/css.js +++ b/lib/ace/mode/css.js @@ -41,11 +41,9 @@ var CssBehaviour = require("./behaviour/css").CssBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new CssHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = CssHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CssBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/curly.js b/lib/ace/mode/curly.js index 91738f51..c98ab2e9 100644 --- a/lib/ace/mode/curly.js +++ b/lib/ace/mode/curly.js @@ -49,39 +49,14 @@ var HtmlFoldMode = require("./folding/html").FoldMode; var CurlyHighlightRules = require("./curly_highlight_rules").CurlyHighlightRules; var Mode = function() { - // set everything up - var highlighter = new CurlyHighlightRules(); + HtmlMode.call(this); + this.HighlightRules = CurlyHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new HtmlFoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, HtmlMode); (function() { - // Extra logic goes here--we won't be covering all of this - - /* These are all optional pieces of code! - this.getNextLineIndent = function(state, line, tab) { - var indent = this.$getIndent(line); - return indent; - }; - - this.checkOutdent = function(state, line, input) { - return this.$outdent.checkOutdent(line, input); - }; - - this.autoOutdent = function(state, doc, row) { - this.$outdent.autoOutdent(doc, row); - }; - - this.createWorker = function(session) { - var worker = new WorkerClient(["ace"], "ace/mode/mynew_worker", "NewWorker"); - worker.attachToDocument(session.getDocument()); - - return worker; - }; - */ }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/d.js b/lib/ace/mode/d.js index 2dc2de49..26803662 100644 --- a/lib/ace/mode/d.js +++ b/lib/ace/mode/d.js @@ -42,16 +42,14 @@ var DHighlightRules = require("./d_highlight_rules").DHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new DHighlightRules(); + this.HighlightRules = DHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "/\\+"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/dart.js b/lib/ace/mode/dart.js index cab31e08..a94e33cd 100644 --- a/lib/ace/mode/dart.js +++ b/lib/ace/mode/dart.js @@ -48,16 +48,12 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { CMode.call(this); - var highlighter = new DartHighlightRules(); + this.HighlightRules = DartHighlightRules; this.foldingRules = new CStyleFoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, CMode); -(function() { - // Extra logic goes here. +(function() { this.lineCommentStart = "//"; this.blockComment = {start: "/*", end: "*/"}; }).call(Mode.prototype); diff --git a/lib/ace/mode/diff.js b/lib/ace/mode/diff.js index 9021a5ff..24e156e3 100644 --- a/lib/ace/mode/diff.js +++ b/lib/ace/mode/diff.js @@ -38,7 +38,7 @@ var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules; var FoldMode = require("./folding/diff").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new HighlightRules().getRules()); + this.HighlightRules = HighlightRules; this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i"); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/django.js b/lib/ace/mode/django.js index ea5c878e..4a68bb7b 100644 --- a/lib/ace/mode/django.js +++ b/lib/ace/mode/django.js @@ -107,9 +107,8 @@ var DjangoHtmlHighlightRules = function() { oop.inherits(DjangoHtmlHighlightRules, HtmlHighlightRules); var Mode = function() { - var highlighter = new DjangoHtmlHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$embeds = highlighter.getEmbeds(); + HtmlMode.call(this); + this.HighlightRules = DjangoHtmlHighlightRules; }; oop.inherits(Mode, HtmlMode); diff --git a/lib/ace/mode/dot.js b/lib/ace/mode/dot.js index c128ccd6..0f443b10 100644 --- a/lib/ace/mode/dot.js +++ b/lib/ace/mode/dot.js @@ -9,10 +9,9 @@ var DotHighlightRules = require("./dot_highlight_rules").DotHighlightRules; var DotFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new DotHighlightRules(); + this.HighlightRules = DotHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new DotFoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/ejs.js b/lib/ace/mode/ejs.js index 60713a02..50293e90 100644 --- a/lib/ace/mode/ejs.js +++ b/lib/ace/mode/ejs.js @@ -92,9 +92,7 @@ var RubyMode = require("./ruby").Mode; var Mode = function() { HtmlMode.call(this); - var highlighter = new EjsHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$embeds = highlighter.getEmbeds(); + this.HighlightRules = EjsHighlightRules; this.createModeDelegates({ "js-": JavaScriptMode, "css-": CssMode, diff --git a/lib/ace/mode/erlang.js b/lib/ace/mode/erlang.js index adcb0a97..d3d2e42e 100644 --- a/lib/ace/mode/erlang.js +++ b/lib/ace/mode/erlang.js @@ -43,16 +43,14 @@ var ErlangHighlightRules = require("./erlang_highlight_rules").ErlangHighlightRu var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new ErlangHighlightRules(); + this.HighlightRules = ErlangHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "%"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/forth.js b/lib/ace/mode/forth.js index 6208434b..1ee65e20 100644 --- a/lib/ace/mode/forth.js +++ b/lib/ace/mode/forth.js @@ -48,16 +48,14 @@ var ForthHighlightRules = require("./forth_highlight_rules").ForthHighlightRules var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new ForthHighlightRules(); + this.HighlightRules = ForthHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "(?<=^|\\s)\\.?\\( [^)]*\\)"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/ftl.js b/lib/ace/mode/ftl.js index 31cbff22..a07dcaac 100644 --- a/lib/ace/mode/ftl.js +++ b/lib/ace/mode/ftl.js @@ -37,8 +37,7 @@ var Tokenizer = require("../tokenizer").Tokenizer; var FtlHighlightRules = require("./ftl_highlight_rules").FtlHighlightRules; var Mode = function() { - var highlighter = new FtlHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = FtlHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/glsl.js b/lib/ace/mode/glsl.js index ef2a2b44..202ec9f7 100644 --- a/lib/ace/mode/glsl.js +++ b/lib/ace/mode/glsl.js @@ -41,12 +41,10 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new glslHighlightRules(); + this.HighlightRules = glslHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; oop.inherits(Mode, CMode); diff --git a/lib/ace/mode/golang.js b/lib/ace/mode/golang.js index 91b3e085..c5d1ace0 100644 --- a/lib/ace/mode/golang.js +++ b/lib/ace/mode/golang.js @@ -9,10 +9,7 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new GolangHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = GolangHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new CStyleFoldMode(); }; diff --git a/lib/ace/mode/groovy.js b/lib/ace/mode/groovy.js index 65d87cd4..91d88e08 100644 --- a/lib/ace/mode/groovy.js +++ b/lib/ace/mode/groovy.js @@ -8,9 +8,7 @@ var GroovyHighlightRules = require("./groovy_highlight_rules").GroovyHighlightRu var Mode = function() { JavaScriptMode.call(this); - var highlighter = new GroovyHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = GroovyHighlightRules; }; oop.inherits(Mode, JavaScriptMode); diff --git a/lib/ace/mode/haml.js b/lib/ace/mode/haml.js index 7970aff2..23ea9e69 100644 --- a/lib/ace/mode/haml.js +++ b/lib/ace/mode/haml.js @@ -47,10 +47,8 @@ var HamlHighlightRules = require("./haml_highlight_rules").HamlHighlightRules; var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new HamlHighlightRules(); - this.foldingRules = new FoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = HamlHighlightRules; + this.foldingRules = new FoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/handlebars.js b/lib/ace/mode/handlebars.js index 1c1d1cd2..55af534c 100644 --- a/lib/ace/mode/handlebars.js +++ b/lib/ace/mode/handlebars.js @@ -12,11 +12,9 @@ var HtmlFoldMode = require("./folding/html").FoldMode; var Mode = function() { HtmlMode.call(this); - var highlighter = new HandlebarsHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = HandlebarsHighlightRules; this.$behaviour = new HtmlBehaviour(); - this.$embeds = highlighter.getEmbeds(); this.foldingRules = new HtmlFoldMode(); }; diff --git a/lib/ace/mode/haskell.js b/lib/ace/mode/haskell.js index 11e6c17d..5b36905c 100644 --- a/lib/ace/mode/haskell.js +++ b/lib/ace/mode/haskell.js @@ -48,16 +48,14 @@ var HaskellHighlightRules = require("./haskell_highlight_rules").HaskellHighligh var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new HaskellHighlightRules(); + this.HighlightRules = HaskellHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "--"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/haxe.js b/lib/ace/mode/haxe.js index 3933a769..2ae10d0e 100644 --- a/lib/ace/mode/haxe.js +++ b/lib/ace/mode/haxe.js @@ -10,12 +10,10 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new HaxeHighlightRules(); + this.HighlightRules = HaxeHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/html.js b/lib/ace/mode/html.js index 070978e2..90854002 100644 --- a/lib/ace/mode/html.js +++ b/lib/ace/mode/html.js @@ -42,12 +42,10 @@ var HtmlFoldMode = require("./folding/html").FoldMode; var HtmlCompletions = require("./html_completions").HtmlCompletions; var Mode = function() { - var highlighter = new HtmlHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = HtmlHighlightRules; this.$behaviour = new HtmlBehaviour(); this.$completer = new HtmlCompletions(); - this.$embeds = highlighter.getEmbeds(); this.createModeDelegates({ "js-": JavaScriptMode, "css-": CssMode diff --git a/lib/ace/mode/html_ruby.js b/lib/ace/mode/html_ruby.js index 5fed54c1..876f3671 100644 --- a/lib/ace/mode/html_ruby.js +++ b/lib/ace/mode/html_ruby.js @@ -42,9 +42,7 @@ var RubyMode = require("./ruby").Mode; var Mode = function() { HtmlMode.call(this); - var highlighter = new HtmlRubyHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$embeds = highlighter.getEmbeds(); + this.HighlightRules = HtmlRubyHighlightRules; this.createModeDelegates({ "js-": JavaScriptMode, "css-": CssMode, diff --git a/lib/ace/mode/ini.js b/lib/ace/mode/ini.js index cd21990a..6e10cfcf 100644 --- a/lib/ace/mode/ini.js +++ b/lib/ace/mode/ini.js @@ -48,16 +48,14 @@ var IniHighlightRules = require("./ini_highlight_rules").IniHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new IniHighlightRules(); + this.HighlightRules = IniHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = ";"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/jade.js b/lib/ace/mode/jade.js index 461b60b2..74025633 100644 --- a/lib/ace/mode/jade.js +++ b/lib/ace/mode/jade.js @@ -43,15 +43,13 @@ var JadeHighlightRules = require("./jade_highlight_rules").JadeHighlightRules; var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new JadeHighlightRules(); + this.HighlightRules = JadeHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.foldingRules = new FoldMode(); }; oop.inherits(Mode, TextMode); -(function() { - // Extra logic goes here. +(function() { this.lineCommentStart = "//"; }).call(Mode.prototype); diff --git a/lib/ace/mode/java.js b/lib/ace/mode/java.js index f132130b..8d37e00e 100644 --- a/lib/ace/mode/java.js +++ b/lib/ace/mode/java.js @@ -8,10 +8,7 @@ var JavaHighlightRules = require("./java_highlight_rules").JavaHighlightRules; var Mode = function() { JavaScriptMode.call(this); - var highlighter = new JavaHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = JavaHighlightRules; }; oop.inherits(Mode, JavaScriptMode); diff --git a/lib/ace/mode/javascript.js b/lib/ace/mode/javascript.js index 00d8af1a..c0e7ae3d 100644 --- a/lib/ace/mode/javascript.js +++ b/lib/ace/mode/javascript.js @@ -42,12 +42,10 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new JavaScriptHighlightRules(); + this.HighlightRules = JavaScriptHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); - this.$keywordList = highlighter.$keywordList; this.foldingRules = new CStyleFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/json.js b/lib/ace/mode/json.js index c228c092..1f92c56d 100644 --- a/lib/ace/mode/json.js +++ b/lib/ace/mode/json.js @@ -41,7 +41,7 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var WorkerClient = require("../worker/worker_client").WorkerClient; var Mode = function() { - this.$tokenizer = new Tokenizer(new HighlightRules().getRules()); + this.HighlightRules = HighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/jsp.js b/lib/ace/mode/jsp.js index a394eab2..03df8d3c 100644 --- a/lib/ace/mode/jsp.js +++ b/lib/ace/mode/jsp.js @@ -40,8 +40,7 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new JspHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = JspHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/jsx.js b/lib/ace/mode/jsx.js index 608b3385..2131b23f 100644 --- a/lib/ace/mode/jsx.js +++ b/lib/ace/mode/jsx.js @@ -10,7 +10,7 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; function Mode() { - this.$tokenizer = new Tokenizer(new JsxHighlightRules().getRules()); + this.HighlightRules = JsxHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/julia.js b/lib/ace/mode/julia.js index cb28d62c..a85ba2f0 100644 --- a/lib/ace/mode/julia.js +++ b/lib/ace/mode/julia.js @@ -48,16 +48,14 @@ var JuliaHighlightRules = require("./julia_highlight_rules").JuliaHighlightRules var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new JuliaHighlightRules(); + this.HighlightRules = JuliaHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "#"; this.blockComment = ""; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/latex.js b/lib/ace/mode/latex.js index f91d8f32..6d932a6a 100644 --- a/lib/ace/mode/latex.js +++ b/lib/ace/mode/latex.js @@ -9,7 +9,7 @@ var LatexFoldMode = require("./folding/latex").FoldMode; var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new LatexHighlightRules().getRules()); + this.HighlightRules = LatexHighlightRules; this.foldingRules = new LatexFoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/less.js b/lib/ace/mode/less.js index 4343e649..bde7a18e 100644 --- a/lib/ace/mode/less.js +++ b/lib/ace/mode/less.js @@ -40,7 +40,7 @@ var CssBehaviour = require("./behaviour/css").CssBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new LessHighlightRules().getRules()); + this.HighlightRules = LessHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CssBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/liquid.js b/lib/ace/mode/liquid.js index 247c02a1..41322d27 100644 --- a/lib/ace/mode/liquid.js +++ b/lib/ace/mode/liquid.js @@ -38,10 +38,7 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var Range = require("../range").Range; var Mode = function() { - var highlighter = new LiquidHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = LiquidHighlightRules; this.$outdent = new MatchingBraceOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/lisp.js b/lib/ace/mode/lisp.js index 46427d60..3762c171 100644 --- a/lib/ace/mode/lisp.js +++ b/lib/ace/mode/lisp.js @@ -42,10 +42,7 @@ var Tokenizer = require("../tokenizer").Tokenizer; var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules; var Mode = function() { - var highlighter = new LispHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = LispHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/logiql.js b/lib/ace/mode/logiql.js index c640bd42..2fdaf5b3 100644 --- a/lib/ace/mode/logiql.js +++ b/lib/ace/mode/logiql.js @@ -42,9 +42,8 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function() { - var highlighter = new LogiQLHighlightRules(); + this.HighlightRules = LogiQLHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); }; @@ -134,7 +133,6 @@ oop.inherits(Mode, TextMode); var row = it.getCurrentTokenRow(); return new Range(row, col, row, col + tok.value.length); }; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/lsl.js b/lib/ace/mode/lsl.js index a10acd0e..b2dcb991 100644 --- a/lib/ace/mode/lsl.js +++ b/lib/ace/mode/lsl.js @@ -41,7 +41,7 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var oop = require("../lib/oop"); var Mode = function() { - this.$tokenizer = new Tokenizer(new Rules().getRules()); + this.HighlightRules = Rules; this.$outdent = new Outdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/lua.js b/lib/ace/mode/lua.js index 58a3c822..3beae941 100644 --- a/lib/ace/mode/lua.js +++ b/lib/ace/mode/lua.js @@ -40,11 +40,9 @@ var Range = require("../range").Range; var WorkerClient = require("../worker/worker_client").WorkerClient; var Mode = function() { - var highlighter = new LuaHighlightRules(); + this.HighlightRules = LuaHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.foldingRules = new LuaFoldMode(); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/luapage.js b/lib/ace/mode/luapage.js index 4a03444c..b6f65480 100644 --- a/lib/ace/mode/luapage.js +++ b/lib/ace/mode/luapage.js @@ -8,10 +8,9 @@ var Tokenizer = require("../tokenizer").Tokenizer; var LuaPageHighlightRules = require("./luapage_highlight_rules").LuaPageHighlightRules; var Mode = function() { - var highlighter = new LuaPageHighlightRules(); + this.HighlightRules = LuaPageHighlightRules; - this.$tokenizer = new Tokenizer(new LuaPageHighlightRules().getRules()); - this.$embeds = highlighter.getEmbeds(); + this.HighlightRules = LuaPageHighlightRules; this.createModeDelegates({ "lua-": LuaMode }); diff --git a/lib/ace/mode/makefile.js b/lib/ace/mode/makefile.js index e51a22bb..bd53cc32 100644 --- a/lib/ace/mode/makefile.js +++ b/lib/ace/mode/makefile.js @@ -47,11 +47,8 @@ var MakefileHighlightRules = require("./makefile_highlight_rules").MakefileHighl var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new MakefileHighlightRules(); + this.HighlightRules = MakefileHighlightRules; this.foldingRules = new FoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/markdown.js b/lib/ace/mode/markdown.js index bce60478..f2371229 100644 --- a/lib/ace/mode/markdown.js +++ b/lib/ace/mode/markdown.js @@ -41,10 +41,8 @@ var MarkdownHighlightRules = require("./markdown_highlight_rules").MarkdownHighl var MarkdownFoldMode = require("./folding/markdown").FoldMode; var Mode = function() { - var highlighter = new MarkdownHighlightRules(); + this.HighlightRules = MarkdownHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$embeds = highlighter.getEmbeds(); this.createModeDelegates({ "js-": JavaScriptMode, "xml-": XmlMode, diff --git a/lib/ace/mode/matlab.js b/lib/ace/mode/matlab.js index 2b4362d0..ca56b44a 100644 --- a/lib/ace/mode/matlab.js +++ b/lib/ace/mode/matlab.js @@ -38,7 +38,7 @@ var MatlabHighlightRules = require("./matlab_highlight_rules").MatlabHighlightRu var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new MatlabHighlightRules().getRules()); + this.HighlightRules = MatlabHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/mushcode.js b/lib/ace/mode/mushcode.js index 689ff9df..1a30717b 100644 --- a/lib/ace/mode/mushcode.js +++ b/lib/ace/mode/mushcode.js @@ -39,7 +39,7 @@ var PythonFoldMode = require("./folding/pythonic").FoldMode; var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new MushCodeRules().getRules()); + this.HighlightRules = MushCodeRules; this.foldingRules = new PythonFoldMode("\\:"); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/mysql.js b/lib/ace/mode/mysql.js index ef7d77dc..2f9754a3 100644 --- a/lib/ace/mode/mysql.js +++ b/lib/ace/mode/mysql.js @@ -37,7 +37,7 @@ var MysqlHighlightRules = require("./mysql_highlight_rules").MysqlHighlightRules var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new MysqlHighlightRules().getRules()); + this.HighlightRules = MysqlHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/nix.js b/lib/ace/mode/nix.js index b864fc49..a745aca3 100644 --- a/lib/ace/mode/nix.js +++ b/lib/ace/mode/nix.js @@ -48,16 +48,12 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { CMode.call(this); - var highlighter = new NixHighlightRules(); + this.HighlightRules = NixHighlightRules; this.foldingRules = new CStyleFoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, CMode); -(function() { - // Extra logic goes here. +(function() { this.lineCommentStart = "#"; this.blockComment = {start: "/*", end: "*/"}; }).call(Mode.prototype); diff --git a/lib/ace/mode/objectivec.js b/lib/ace/mode/objectivec.js index 10286215..76fdf143 100644 --- a/lib/ace/mode/objectivec.js +++ b/lib/ace/mode/objectivec.js @@ -47,10 +47,8 @@ var ObjectiveCHighlightRules = require("./objectivec_highlight_rules").Objective var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new ObjectiveCHighlightRules(); + this.HighlightRules = ObjectiveCHighlightRules; this.foldingRules = new CStyleFoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/ocaml.js b/lib/ace/mode/ocaml.js index 9aa6643d..ae369625 100644 --- a/lib/ace/mode/ocaml.js +++ b/lib/ace/mode/ocaml.js @@ -39,11 +39,9 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var Range = require("../range").Range; var Mode = function() { - var highlighter = new OcamlHighlightRules(); + this.HighlightRules = OcamlHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/pascal.js b/lib/ace/mode/pascal.js index cd0739d1..cabdb0dc 100644 --- a/lib/ace/mode/pascal.js +++ b/lib/ace/mode/pascal.js @@ -48,9 +48,8 @@ var PascalHighlightRules = require("./pascal_highlight_rules").PascalHighlightRu var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new PascalHighlightRules(); + this.HighlightRules = PascalHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/perl.js b/lib/ace/mode/perl.js index 46d20065..4a48a52e 100644 --- a/lib/ace/mode/perl.js +++ b/lib/ace/mode/perl.js @@ -40,12 +40,10 @@ var Range = require("../range").Range; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new PerlHighlightRules(); + this.HighlightRules = PerlHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new CStyleFoldMode({start: "^=(begin|item)\\b", end: "^=(cut)\\b"}); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/pgsql.js b/lib/ace/mode/pgsql.js index 2398ea83..cdcf109a 100755 --- a/lib/ace/mode/pgsql.js +++ b/lib/ace/mode/pgsql.js @@ -37,10 +37,7 @@ var PgsqlHighlightRules = require("./pgsql_highlight_rules").PgsqlHighlightRules var Range = require("../range").Range; var Mode = function() { - var highlighter = new PgsqlHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = PgsqlHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/php.js b/lib/ace/mode/php.js index 8e3ecd6c..6b770a9e 100644 --- a/lib/ace/mode/php.js +++ b/lib/ace/mode/php.js @@ -46,7 +46,7 @@ var unicode = require("../unicode"); var Mode = function(opts) { var inline = opts && opts.inline; var HighlightRules = inline ? PhpLangHighlightRules : PhpHighlightRules; - this.$tokenizer = new Tokenizer(new HighlightRules().getRules()); + this.HighlightRules = HighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/plain_text.js b/lib/ace/mode/plain_text.js index b093e736..f8e61c66 100644 --- a/lib/ace/mode/plain_text.js +++ b/lib/ace/mode/plain_text.js @@ -38,7 +38,7 @@ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var Behaviour = require("./behaviour").Behaviour; var Mode = function() { - this.$tokenizer = new Tokenizer(new TextHighlightRules().getRules()); + this.HighlightRules = TextHighlightRules; this.$behaviour = new Behaviour(); }; diff --git a/lib/ace/mode/powershell.js b/lib/ace/mode/powershell.js index f3bfcdcc..7dc778aa 100644 --- a/lib/ace/mode/powershell.js +++ b/lib/ace/mode/powershell.js @@ -10,10 +10,7 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new PowershellHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = PowershellHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode({start: "^\\s*(<#)", end: "^[#\\s]>\\s*$"}); diff --git a/lib/ace/mode/prolog.js b/lib/ace/mode/prolog.js index 10203ce6..6f89e92f 100644 --- a/lib/ace/mode/prolog.js +++ b/lib/ace/mode/prolog.js @@ -48,16 +48,14 @@ var PrologHighlightRules = require("./prolog_highlight_rules").PrologHighlightRu var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new PrologHighlightRules(); + this.HighlightRules = PrologHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "/\\*"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/properties.js b/lib/ace/mode/properties.js index cd71a52c..0f89b75b 100644 --- a/lib/ace/mode/properties.js +++ b/lib/ace/mode/properties.js @@ -37,8 +37,7 @@ var Tokenizer = require("../tokenizer").Tokenizer; var PropertiesHighlightRules = require("./properties_highlight_rules").PropertiesHighlightRules; var Mode = function() { - var highlighter = new PropertiesHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = PropertiesHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/python.js b/lib/ace/mode/python.js index 7adaf918..bcd22920 100644 --- a/lib/ace/mode/python.js +++ b/lib/ace/mode/python.js @@ -39,9 +39,7 @@ var PythonFoldMode = require("./folding/pythonic").FoldMode; var Range = require("../range").Range; var Mode = function() { - var highlighter = new PythonHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = PythonHighlightRules; this.foldingRules = new PythonFoldMode("\\:"); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/r.js b/lib/ace/mode/r.js index a5421a81..520b4c24 100644 --- a/lib/ace/mode/r.js +++ b/lib/ace/mode/r.js @@ -29,7 +29,7 @@ define(function(require, exports, module) { var Mode = function() { - this.$tokenizer = new Tokenizer(new RHighlightRules().getRules()); + this.HighlightRules = RHighlightRules; this.$outdent = new MatchingBraceOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/rdoc.js b/lib/ace/mode/rdoc.js index 1fb9e6e4..9a9671aa 100644 --- a/lib/ace/mode/rdoc.js +++ b/lib/ace/mode/rdoc.js @@ -21,7 +21,7 @@ var RDocHighlightRules = require("./rdoc_highlight_rules").RDocHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function(suppressHighlighting) { - this.$tokenizer = new Tokenizer(new RDocHighlightRules().getRules()); + this.HighlightRules = RDocHighlightRules; this.$outdent = new MatchingBraceOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/rhtml.js b/lib/ace/mode/rhtml.js index 99885dbf..8c98dc4b 100644 --- a/lib/ace/mode/rhtml.js +++ b/lib/ace/mode/rhtml.js @@ -31,7 +31,7 @@ var RCodeModel = require("mode/r_code_model").RCodeModel; var Mode = function(doc, session) { this.$session = session; - this.$tokenizer = new Tokenizer(new RHtmlHighlightRules().getRules()); + this.HighlightRules = RHtmlHighlightRules; /* Or these. this.codeModel = new RCodeModel(doc, this.$tokenizer, /^r-/, diff --git a/lib/ace/mode/ruby.js b/lib/ace/mode/ruby.js index ca832137..adb3c96a 100644 --- a/lib/ace/mode/ruby.js +++ b/lib/ace/mode/ruby.js @@ -40,10 +40,7 @@ var Range = require("../range").Range; var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new RubyHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = RubyHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new FoldMode(); }; diff --git a/lib/ace/mode/rust.js b/lib/ace/mode/rust.js index 75b02ca9..2a468568 100644 --- a/lib/ace/mode/rust.js +++ b/lib/ace/mode/rust.js @@ -48,16 +48,14 @@ var RustHighlightRules = require("./rust_highlight_rules").RustHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new RustHighlightRules(); + this.HighlightRules = RustHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "/\\*"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/sass.js b/lib/ace/mode/sass.js index 65f4753e..de78c71b 100644 --- a/lib/ace/mode/sass.js +++ b/lib/ace/mode/sass.js @@ -38,7 +38,7 @@ var SassHighlightRules = require("./sass_highlight_rules").SassHighlightRules; var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new SassHighlightRules().getRules()); + this.HighlightRules = SassHighlightRules; this.foldingRules = new FoldMode(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/scad.js b/lib/ace/mode/scad.js index 6bd094bc..3860f5af 100644 --- a/lib/ace/mode/scad.js +++ b/lib/ace/mode/scad.js @@ -41,10 +41,7 @@ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new scadHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = scadHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/scala.js b/lib/ace/mode/scala.js index 97e891fd..5253cec9 100644 --- a/lib/ace/mode/scala.js +++ b/lib/ace/mode/scala.js @@ -9,9 +9,7 @@ var ScalaHighlightRules = require("./scala_highlight_rules").ScalaHighlightRules var Mode = function() { JavaScriptMode.call(this); - var highlighter = new ScalaHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = ScalaHighlightRules; }; oop.inherits(Mode, JavaScriptMode); diff --git a/lib/ace/mode/scheme.js b/lib/ace/mode/scheme.js index 42fb3caf..4accf238 100644 --- a/lib/ace/mode/scheme.js +++ b/lib/ace/mode/scheme.js @@ -42,9 +42,7 @@ var Tokenizer = require("../tokenizer").Tokenizer; var SchemeHighlightRules = require("./scheme_highlight_rules").SchemeHighlightRules; var Mode = function() { - var highlighter = new SchemeHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = SchemeHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/scss.js b/lib/ace/mode/scss.js index 8517ef82..599bdd8d 100644 --- a/lib/ace/mode/scss.js +++ b/lib/ace/mode/scss.js @@ -40,7 +40,7 @@ var CssBehaviour = require("./behaviour/css").CssBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new ScssHighlightRules().getRules()); + this.HighlightRules = ScssHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CssBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/sh.js b/lib/ace/mode/sh.js index 84496fb3..32c7e75e 100644 --- a/lib/ace/mode/sh.js +++ b/lib/ace/mode/sh.js @@ -38,10 +38,7 @@ var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules; var Range = require("../range").Range; var Mode = function() { - var highlighter = new ShHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = ShHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/snippets.js b/lib/ace/mode/snippets.js index f22efa2d..865e0b3a 100644 --- a/lib/ace/mode/snippets.js +++ b/lib/ace/mode/snippets.js @@ -98,9 +98,8 @@ exports.SnippetGroupHighlightRules = SnippetGroupHighlightRules; var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new SnippetGroupHighlightRules(); + this.HighlightRules = SnippetGroupHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/soy_template.js b/lib/ace/mode/soy_template.js index 381d1493..493c49ce 100644 --- a/lib/ace/mode/soy_template.js +++ b/lib/ace/mode/soy_template.js @@ -47,16 +47,13 @@ var SoyTemplateHighlightRules = require("./soy_template_highlight_rules").SoyTem var Mode = function() { HtmlMode.call(this); - var highlighter = new SoyTemplateHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = SoyTemplateHighlightRules; }; oop.inherits(Mode, HtmlMode); (function() { this.lineCommentStart = "//"; this.blockComment = {start: "/*", end: "*/"}; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/sql.js b/lib/ace/mode/sql.js index 6b4d9c6e..d10a4727 100644 --- a/lib/ace/mode/sql.js +++ b/lib/ace/mode/sql.js @@ -38,10 +38,7 @@ var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; var Range = require("../range").Range; var Mode = function() { - var highlighter = new SqlHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; + this.HighlightRules = SqlHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/stylus.js b/lib/ace/mode/stylus.js index 065348c6..e33220b5 100644 --- a/lib/ace/mode/stylus.js +++ b/lib/ace/mode/stylus.js @@ -47,16 +47,12 @@ var StylusHighlightRules = require("./stylus_highlight_rules").StylusHighlightRu var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - var highlighter = new StylusHighlightRules(); + this.HighlightRules = StylusHighlightRules; this.foldingRules = new FoldMode(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); - this.$keywordList = highlighter.$keywordList; }; oop.inherits(Mode, TextMode); -(function() { - // Extra logic goes here. +(function() { }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/svg.js b/lib/ace/mode/svg.js index 58b250b5..0ca57e10 100644 --- a/lib/ace/mode/svg.js +++ b/lib/ace/mode/svg.js @@ -43,10 +43,8 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { XmlMode.call(this); - this.highlighter = new SvgHighlightRules(); - this.$tokenizer = new Tokenizer(this.highlighter.getRules()); + this.HighlightRules = SvgHighlightRules; - this.$embeds = this.highlighter.getEmbeds(); this.createModeDelegates({ "js-": JavaScriptMode }); diff --git a/lib/ace/mode/tcl.js b/lib/ace/mode/tcl.js index 2efd0a3b..4dcac180 100644 --- a/lib/ace/mode/tcl.js +++ b/lib/ace/mode/tcl.js @@ -40,7 +40,7 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new TclHighlightRules().getRules()); + this.HighlightRules = TclHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new CStyleFoldMode(); }; diff --git a/lib/ace/mode/tex.js b/lib/ace/mode/tex.js index 7d8f859d..3c7f3050 100644 --- a/lib/ace/mode/tex.js +++ b/lib/ace/mode/tex.js @@ -27,9 +27,9 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var Mode = function(suppressHighlighting) { if (suppressHighlighting) - this.$tokenizer = new Tokenizer(new TextHighlightRules().getRules()); + this.HighlightRules = TextHighlightRules; else - this.$tokenizer = new Tokenizer(new TexHighlightRules().getRules()); + this.HighlightRules = TexHighlightRules; this.$outdent = new MatchingBraceOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/text.js b/lib/ace/mode/text.js index 4b7312dc..b853c52d 100644 --- a/lib/ace/mode/text.js +++ b/lib/ace/mode/text.js @@ -40,7 +40,7 @@ var TokenIterator = require("../token_iterator").TokenIterator; var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new TextHighlightRules().getRules()); + this.HighlightRules = TextHighlightRules; this.$behaviour = new Behaviour(); }; @@ -61,6 +61,10 @@ var Mode = function() { ); this.getTokenizer = function() { + if (!this.$tokenizer) { + this.$highlightRules = new this.HighlightRules(); + this.$tokenizer = new Tokenizer(this.$highlightRules.getRules()); + } return this.$tokenizer; }; @@ -271,13 +275,12 @@ var Mode = function() { }; this.createModeDelegates = function (mapping) { - if (!this.$embeds) { - return; - } + this.$embeds = []; this.$modes = {}; - for (var i = 0; i < this.$embeds.length; i++) { - if (mapping[this.$embeds[i]]) { - this.$modes[this.$embeds[i]] = new mapping[this.$embeds[i]](); + for (var i in mapping) { + if (mapping[i]) { + this.$embeds.push(i); + this.$modes[i] = new mapping[i](); } } @@ -356,9 +359,15 @@ var Mode = function() { return this.$keywordList; return completionKeywords.concat(this.$keywordList || []); }; + + this.$createKeywordList = function() { + if (!this.$highlightRules) + this.getTokenizer(); + return this.$keywordList = this.$highlightRules.$keywordList || []; + } this.getCompletions = function(state, session, pos, prefix) { - var keywords = this.$keywordList || []; + var keywords = this.$keywordList || this.$createKeywordList(); return keywords.map(function(word) { return { name: word, diff --git a/lib/ace/mode/textile.js b/lib/ace/mode/textile.js index a840d7c1..0c9a86bb 100644 --- a/lib/ace/mode/textile.js +++ b/lib/ace/mode/textile.js @@ -38,7 +38,7 @@ var TextileHighlightRules = require("./textile_highlight_rules").TextileHighligh var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function() { - this.$tokenizer = new Tokenizer(new TextileHighlightRules().getRules()); + this.HighlightRules = TextileHighlightRules; this.$outdent = new MatchingBraceOutdent(); }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/toml.js b/lib/ace/mode/toml.js index bd47182f..a5ed1ee3 100644 --- a/lib/ace/mode/toml.js +++ b/lib/ace/mode/toml.js @@ -44,15 +44,13 @@ var TomlHighlightRules = require("./toml_highlight_rules").TomlHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { - var highlighter = new TomlHighlightRules(); + this.HighlightRules = TomlHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "#"; - // Extra logic goes here. }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/twig.js b/lib/ace/mode/twig.js index 4808091e..fc314394 100644 --- a/lib/ace/mode/twig.js +++ b/lib/ace/mode/twig.js @@ -42,12 +42,10 @@ var HtmlFoldMode = require("./folding/html").FoldMode; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function() { - var highlighter = new TwigHighlightRules(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = TwigHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new HtmlBehaviour(); - this.$embeds = highlighter.getEmbeds(); this.createModeDelegates({ "js-": JavaScriptMode, "css-": CssMode diff --git a/lib/ace/mode/typescript.js b/lib/ace/mode/typescript.js index a4978e10..32d24c31 100644 --- a/lib/ace/mode/typescript.js +++ b/lib/ace/mode/typescript.js @@ -44,9 +44,8 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function() { - var highlighter = new TypeScriptHighlightRules(); + this.HighlightRules = TypeScriptHighlightRules; - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/lib/ace/mode/vbscript.js b/lib/ace/mode/vbscript.js index 79489139..8060445d 100644 --- a/lib/ace/mode/vbscript.js +++ b/lib/ace/mode/vbscript.js @@ -46,9 +46,7 @@ var Tokenizer = require("../tokenizer").Tokenizer; var VBScriptHighlightRules = require("./vbscript_highlight_rules").VBScriptHighlightRules; var Mode = function() { - var highlighter = new VBScriptHighlightRules(); - - this.$tokenizer = new Tokenizer(highlighter.getRules()); + this.HighlightRules = VBScriptHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/velocity.js b/lib/ace/mode/velocity.js index c67594d2..c76859f5 100644 --- a/lib/ace/mode/velocity.js +++ b/lib/ace/mode/velocity.js @@ -44,16 +44,15 @@ var FoldMode = require("./folding/velocity").FoldMode; var HtmlBehaviour = require("./behaviour/html").HtmlBehaviour; var Mode = function() { - var highlighter = new VelocityHighlightRules(); + this.HighlightRules = VelocityHighlightRules; this.foldingRules = new FoldMode(); - this.$tokenizer = new Tokenizer(highlighter.getRules()); this.$behaviour = new HtmlBehaviour(); }; oop.inherits(Mode, TextMode); (function() { - this.lineCommentStart = "##"; - this.blockComment = {start: "#*", end: "*#"}; + this.lineCommentStart = "##"; + this.blockComment = {start: "#*", end: "*#"}; }).call(Mode.prototype); exports.Mode = Mode; diff --git a/lib/ace/mode/verilog.js b/lib/ace/mode/verilog.js index a1aa3c40..67e9049e 100644 --- a/lib/ace/mode/verilog.js +++ b/lib/ace/mode/verilog.js @@ -38,7 +38,7 @@ var VerilogHighlightRules = require("./verilog_highlight_rules").VerilogHighligh var Range = require("../range").Range; var Mode = function() { - this.$tokenizer = new Tokenizer(new VerilogHighlightRules().getRules()); + this.HighlightRules = VerilogHighlightRules; }; oop.inherits(Mode, TextMode); diff --git a/lib/ace/mode/xml.js b/lib/ace/mode/xml.js index 24feef0c..c6e18fc6 100644 --- a/lib/ace/mode/xml.js +++ b/lib/ace/mode/xml.js @@ -39,7 +39,7 @@ var XmlBehaviour = require("./behaviour/xml").XmlBehaviour; var XmlFoldMode = require("./folding/xml").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new XmlHighlightRules().getRules()); + this.HighlightRules = XmlHighlightRules; this.$behaviour = new XmlBehaviour(); this.foldingRules = new XmlFoldMode(); }; diff --git a/lib/ace/mode/yaml.js b/lib/ace/mode/yaml.js index 2035e390..ec0628ae 100644 --- a/lib/ace/mode/yaml.js +++ b/lib/ace/mode/yaml.js @@ -39,7 +39,7 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { - this.$tokenizer = new Tokenizer(new YamlHighlightRules().getRules()); + this.HighlightRules = YamlHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new FoldMode(); };