diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index ac8d434d..7e4cc06e 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -761,6 +761,9 @@ var EditSession = function(text, mode) { this.$modes = {}; this._loadMode = function(mode, callback) { + if (!this.$modes["null"]) + this.$modes["null"] = this.$modes["ace/mode/text"] = new TextMode(); + if (this.$modes[mode]) return callback(this.$modes[mode]); @@ -804,11 +807,7 @@ var EditSession = function(text, mode) { }; this.$setModePlaceholder = function() { - var textModeId = "ace/mode/text" - if (!this.$modes[textModeId]) - this.$modes[textModeId] = new TextMode(); - - this.$mode = this.$modes[textModeId]; + this.$mode = this.$modes["null"]; var tokenizer = this.$mode.getTokenizer(); if (!this.bgTokenizer) { @@ -820,8 +819,8 @@ var EditSession = function(text, mode) { } else { this.bgTokenizer.setTokenizer(tokenizer); } - this.bgTokenizer.setDocument(this.getDocument()); - + this.bgTokenizer.setDocument(this.getDocument()); + this.tokenRe = this.$mode.tokenRe; this.nonTokenRe = this.$mode.nonTokenRe; }; @@ -836,7 +835,7 @@ var EditSession = function(text, mode) { this.$mode = null; this.$modeId = null; this.setMode = function(mode) { - mode = mode || "ace/mode/text"; + mode = mode || "null"; // load on demand if (typeof mode === "string") { if (this.$modeId == mode)