fix undo selection range after delete
This commit is contained in:
parent
0ba027c8bf
commit
09d0044e1e
1 changed files with 6 additions and 1 deletions
|
|
@ -1216,7 +1216,7 @@ var EditSession = function(text, mode) {
|
|||
var range, point;
|
||||
var lastDeltaIsInsert = false;
|
||||
if (isInsert(delta)) {
|
||||
range = delta.range.clone();
|
||||
range = Range.fromPoints(delta.range.start, delta.range.end);
|
||||
lastDeltaIsInsert = true;
|
||||
} else {
|
||||
range = Range.fromPoints(delta.range.start, delta.range.start);
|
||||
|
|
@ -1248,6 +1248,11 @@ var EditSession = function(text, mode) {
|
|||
// Check if this range and the last undo range has something in common.
|
||||
// If true, merge the ranges.
|
||||
if (lastUndoRange != null) {
|
||||
if (Range.comparePoints(lastUndoRange.start, range.start) == 0) {
|
||||
lastUndoRange.start.column += range.end.column - range.start.column;
|
||||
lastUndoRange.end.column += range.end.column - range.start.column;
|
||||
}
|
||||
|
||||
var cmp = lastUndoRange.compareRange(range);
|
||||
if (cmp == 1) {
|
||||
range.setStart(lastUndoRange.start);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue