fix foldwidgets getting out of sync with document
This commit is contained in:
parent
d2163a7016
commit
505b1fc3c6
4 changed files with 14 additions and 28 deletions
|
|
@ -42,7 +42,7 @@ var oop = require("./lib/oop");
|
|||
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
||||
var Range = require("./range").Range;
|
||||
var Anchor = require("./anchor").Anchor;
|
||||
var lang = require("./lib/lang");
|
||||
|
||||
/**
|
||||
* class Document
|
||||
*
|
||||
|
|
@ -326,8 +326,15 @@ var Document = function(text) {
|
|||
if (lines.length == 0)
|
||||
return {row: row, column: 0};
|
||||
|
||||
if (lines.length > 0xFFFF) {
|
||||
var end = this.insertLines(row, lines.slice(0xFFFF));
|
||||
lines = lines.slice(0, 0xFFFF);
|
||||
}
|
||||
|
||||
var args = [row, 0];
|
||||
this.$lines = lang.chunkLines(lines, this.$lines, args, true);
|
||||
args.push.apply(args, lines);
|
||||
this.$lines.splice.apply(this.$lines, args);
|
||||
|
||||
var range = new Range(row, 0, row + lines.length, 0);
|
||||
var delta = {
|
||||
action: "insertLines",
|
||||
|
|
@ -335,7 +342,7 @@ var Document = function(text) {
|
|||
lines: lines
|
||||
};
|
||||
this._emit("change", { data: delta });
|
||||
return range.end;
|
||||
return end || range.end;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue