Skip to content

Commit 897c7b5

Browse files
authored
Fixes #9482. Fix multicursorIndex handling in vertical movements with foldfix enabled (#9795)
1 parent 416ec4d commit 897c7b5

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/actions/motion.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ class MoveDownFoldFix extends MoveByScreenLineMaintainDesiredColumn {
263263
let prevLine: number = position.line;
264264
let prevChar: number = position.character;
265265
const moveDownByScreenLine = new MoveDownByScreenLine();
266+
moveDownByScreenLine.multicursorIndex = this.multicursorIndex;
266267
do {
267268
t = await moveDownByScreenLine.execAction(t, vimState);
268269
t = t instanceof Position ? t : t.stop;
@@ -299,7 +300,9 @@ class MoveDown extends BaseMovement {
299300
}
300301

301302
if (configuration.foldfix && vimState.currentMode !== Mode.VisualBlock) {
302-
return new MoveDownFoldFix().execAction(position, vimState);
303+
const moveDownFoldFix = new MoveDownFoldFix();
304+
moveDownFoldFix.multicursorIndex = this.multicursorIndex;
305+
return moveDownFoldFix.execAction(position, vimState);
303306
}
304307

305308
if (position.line < vimState.document.lineCount - 1) {
@@ -337,7 +340,9 @@ class MoveUp extends BaseMovement {
337340
}
338341

339342
if (configuration.foldfix && vimState.currentMode !== Mode.VisualBlock) {
340-
return new MoveUpFoldFix().execAction(position, vimState);
343+
const moveUpFoldFix = new MoveUpFoldFix();
344+
moveUpFoldFix.multicursorIndex = this.multicursorIndex;
345+
return moveUpFoldFix.execAction(position, vimState);
341346
}
342347

343348
if (position.line > 0) {
@@ -369,6 +374,7 @@ class MoveUpFoldFix extends MoveByScreenLineMaintainDesiredColumn {
369374
}
370375
let t: Position | IMovement;
371376
const moveUpByScreenLine = new MoveUpByScreenLine();
377+
moveUpByScreenLine.multicursorIndex = this.multicursorIndex;
372378
do {
373379
t = await moveUpByScreenLine.execAction(position, vimState);
374380
t = t instanceof Position ? t : t.stop;

0 commit comments

Comments
 (0)