diff --git a/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/ImaginaryCaret.java b/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/ImaginaryCaret.java index db815260f506..6a1e1d32cd75 100644 --- a/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/ImaginaryCaret.java +++ b/platform/editor-ui-ex/src/com/intellij/openapi/editor/impl/ImaginaryCaret.java @@ -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