Skip to content

Commit ff8b49a

Browse files
committed
Fix d and D in VisualBlock mode with multiple cursors. Fixes #4683.
1 parent a52d749 commit ff8b49a

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

src/actions/commands/actions.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -692,9 +692,6 @@ class CommandDeleteToLineEnd extends BaseCommand {
692692
modes = [Mode.Normal];
693693
keys = ['D'];
694694
override createsUndoPoint = true;
695-
override runsOnceForEveryCursor() {
696-
return true;
697-
}
698695

699696
public override async exec(position: Position, vimState: VimState): Promise<void> {
700697
if (position.isLineEnd(vimState.document)) {
@@ -1476,9 +1473,6 @@ class ActionDeleteVisualBlock extends BaseCommand {
14761473
modes = [Mode.VisualBlock];
14771474
keys = [['d'], ['x'], ['X']];
14781475
override createsUndoPoint = true;
1479-
override runsOnceForEveryCursor() {
1480-
return false;
1481-
}
14821476

14831477
public override async exec(position: Position, vimState: VimState): Promise<void> {
14841478
const lines: string[] = [];
@@ -1511,9 +1505,6 @@ class ActionShiftDVisualBlock extends BaseCommand {
15111505
modes = [Mode.VisualBlock];
15121506
keys = ['D'];
15131507
override createsUndoPoint = true;
1514-
override runsOnceForEveryCursor() {
1515-
return false;
1516-
}
15171508

15181509
public override async exec(position: Position, vimState: VimState): Promise<void> {
15191510
const lines: string[] = [];

test/multicursor.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,26 @@ suite('Multicursor', () => {
6969
});
7070
});
7171

72+
suite('Delete', () => {
73+
newTest({
74+
title: 'x (Normal mode)',
75+
start: ['|cat', 'c|at', 'ca|t'],
76+
keysPressed: 'x',
77+
end: ['|at', 'c|t', 'c|a'],
78+
});
79+
80+
// TODO: `D`
81+
82+
newTest({
83+
title: 'd (Visual mode)',
84+
start: ['|cat', 'c|at', 'ca|t'],
85+
keysPressed: 'vl' + 'd',
86+
end: ['|t', '|c', 'c|a'],
87+
});
88+
89+
// TODO: VisualBlock mode
90+
});
91+
7292
suite('Replace', () => {
7393
newTest({
7494
title: 'r (Normal mode)',

0 commit comments

Comments
 (0)