FL-17880 fix relative movements in ImaginaryCaret; track caret movements in file copies

GitOrigin-RevId: 4386b367da0aaaabe08433123ef79465999ce472
This commit is contained in:
Valentin Fondaratov
2023-03-06 16:51:37 +00:00
committed by intellij-monorepo-bot
parent ae667215d6
commit 3bf8fe1de5
@@ -75,9 +75,17 @@ public class ImaginaryCaret extends UserDataHolderBase implements Caret {
if (!withSelection) {
myStart = myPos = myEnd;
}
return;
}
throw notImplemented();
else {
var oldPos = myPos;
var currentPosition = getLogicalPosition();
moveToLogicalPosition(new LogicalPosition(currentPosition.line + lineShift, currentPosition.column + columnShift));
if (withSelection) {
var newPos = myPos;
myStart = Math.min(oldPos, newPos);
myEnd = Math.max(oldPos, newPos);
}
}
}
@Override