diff --git a/src/actions/motion.ts b/src/actions/motion.ts index bc4a3a4fe6bb..ca9094c1bcaa 100644 --- a/src/actions/motion.ts +++ b/src/actions/motion.ts @@ -235,7 +235,10 @@ abstract class MoveByScreenLineMaintainDesiredColumn extends MoveByScreenLine { } } -class MoveDownFoldFix extends BaseMovement { +class MoveDownFoldFix extends MoveByScreenLine { + movementType: CursorMovePosition = "down"; + by: CursorMoveByUnit = "line"; + public async execAction(position: Position, vimState: VimState): Promise < Position | IMovement > { if (position.line === TextEditor.getLineCount() - 1) { return position; @@ -253,7 +256,7 @@ class MoveDownFoldFix extends BaseMovement { await new MoveUpByScreenLine().execAction(position, vimState); count--; } - return position.getDown(vimState.desiredColumn); + return super.execAction(position, vimState); } } @@ -301,8 +304,9 @@ class MoveUp extends BaseMovement { } @RegisterAction -class MoveUpFoldFix extends BaseMovement { - +class MoveUpFoldFix extends MoveByScreenLine { + movementType: CursorMovePosition = "up"; + by: CursorMoveByUnit = "line"; public async execAction(position: Position, vimState: VimState): Promise < Position | IMovement > { if (position.line === 0) { return position; @@ -321,7 +325,7 @@ class MoveUpFoldFix extends BaseMovement { await new MoveDownByScreenLine().execAction(position, vimState); count--; } - return position.getUp(vimState.desiredColumn); + return super.execAction(position, vimState); } }