use cached textmode

This commit is contained in:
nightwing 2012-04-26 18:10:31 +04:00
commit d4daa0f9d9

View file

@ -77,10 +77,7 @@ var EditSession = function(text, mode) {
}
this.selection = new Selection(this);
if (mode)
this.setMode(mode);
else
this.setMode(new TextMode());
this.setMode(mode);
};
@ -508,6 +505,7 @@ var EditSession = function(text, mode) {
return callback(_self.$modes[mode]);
_self.$modes[mode] = new module.Mode();
_self.$modes[mode].$id = mode;
_self._emit("loadmode", {
name: mode,
mode: _self.$modes[mode]
@ -528,10 +526,9 @@ var EditSession = function(text, mode) {
this.$mode = null;
this.$origMode = null;
this.setMode = function(mode) {
this.$origMode = mode;
// load on demand
if (typeof mode === "string") {
this.$origMode = mode;
var _self = this;
this._loadMode(mode, function(module) {
if (_self.$origMode !== mode)
@ -540,6 +537,12 @@ var EditSession = function(text, mode) {
_self.setMode(module);
});
return;
} else if (mode == null) {
mode = "ace/mode/text"
this.$origMode = mode;
this.$modes[mode] = this.$modes[mode] || (new TextMode());
this.setMode(this.$modes[mode]);
return;
}
if (this.$mode === mode) return;