Skip to content

Commit 09d0044

Browse files
committed
fix undo selection range after delete
1 parent 0ba027c commit 09d0044

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

lib/ace/edit_session.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1216,7 +1216,7 @@ var EditSession = function(text, mode) {
12161216
var range, point;
12171217
var lastDeltaIsInsert = false;
12181218
if (isInsert(delta)) {
1219-
range = delta.range.clone();
1219+
range = Range.fromPoints(delta.range.start, delta.range.end);
12201220
lastDeltaIsInsert = true;
12211221
} else {
12221222
range = Range.fromPoints(delta.range.start, delta.range.start);
@@ -1248,6 +1248,11 @@ var EditSession = function(text, mode) {
12481248
// Check if this range and the last undo range has something in common.
12491249
// If true, merge the ranges.
12501250
if (lastUndoRange != null) {
1251+
if (Range.comparePoints(lastUndoRange.start, range.start) == 0) {
1252+
lastUndoRange.start.column += range.end.column - range.start.column;
1253+
lastUndoRange.end.column += range.end.column - range.start.column;
1254+
}
1255+
12511256
var cmp = lastUndoRange.compareRange(range);
12521257
if (cmp == 1) {
12531258
range.setStart(lastUndoRange.start);

0 commit comments

Comments
 (0)