update wrapData when wrapMethod changes

This commit is contained in:
nightwing 2013-11-13 03:34:52 +04:00
commit 60cfe6f161

View file

@ -948,9 +948,9 @@ var EditSession = function(text, mode) {
this.tokenRe = mode.tokenRe; this.tokenRe = mode.tokenRe;
this.nonTokenRe = mode.nonTokenRe; this.nonTokenRe = mode.nonTokenRe;
this.$options.wrapMethod.set.call(this, this.$wrapMethod);
if (!$isPlaceholder) { if (!$isPlaceholder) {
this.$options.wrapMethod.set.call(this, this.$wrapMethod);
this.$setFolding(mode.foldingRules); this.$setFolding(mode.foldingRules);
this._emit("changeMode"); this._emit("changeMode");
this.bgTokenizer.start(0); this.bgTokenizer.start(0);
@ -2456,10 +2456,17 @@ config.defineOptions(EditSession.prototype, "session", {
wrapMethod: { wrapMethod: {
// code|text|auto // code|text|auto
set: function(val) { set: function(val) {
if (val == "auto") val = val == "auto"
this.$wrapAsCode = this.$mode.type != "text"; ? this.$mode.type != "text"
else : val != "text";
this.$wrapAsCode = val != "text"; if (val != this.$wrapAsCode) {
this.$wrapAsCode = val;
if (this.$useWrapMode) {
this.$modified = true;
this.$resetRowCache(0);
this.$updateWrapData(0, this.getLength() - 1);
}
}
}, },
initialValue: "auto" initialValue: "auto"
}, },