Skip to content

Commit 3faaf0a

Browse files
committed
Fixes PowerShell#1674 - BackwardDeleteChar now does not remove character under the cursor.
1 parent a7fd34f commit 3faaf0a

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

PSReadLine/ReadLine.vi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ private static void DeleteToEndPoint(object arg, int endPoint, Action<ConsoleKey
299299

300300
private static void DeleteBackwardToEndPoint(object arg, int endPoint, Action<ConsoleKeyInfo?, object> instigator)
301301
{
302-
int deleteLength = _singleton._current - endPoint + 1;
302+
int deleteLength = _singleton._current - endPoint;
303303

304304
_singleton.SaveToClipboard(endPoint, deleteLength);
305305
_singleton.SaveEditItem(EditItemDelete.Create(

test/BasicEditingTest.VI.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -988,14 +988,14 @@ public void ViChangeChar()
988988

989989
Test("0123456", Keys(
990990
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
991-
"cF0abc", _.Escape, CheckThat(() => AssertLineIs("abc")),
991+
"cF0abc", _.Escape, CheckThat(() => AssertLineIs("abc6")),
992992
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
993-
"cF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc")),
994-
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
995-
"hcF0abc", _.Escape, CheckThat(() => AssertLineIs("abc6")),
996-
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
997-
"hcF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc6")),
993+
"cF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc6")),
998994
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
995+
"hcF0abc", _.Escape, CheckThat(() => AssertLineIs("abc56")),
996+
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
997+
"hcF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc456")),
998+
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(4)),
999999
"0cF0abc", _.Escape, CheckThat(() => AssertLineIs("0bc123456")),
10001000
'u'
10011001
));
@@ -1012,10 +1012,10 @@ public void ViChangeChar()
10121012

10131013
Test("0123456", Keys(
10141014
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
1015-
"cT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc")),
1016-
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
1017-
"hcT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc6")),
1015+
"cT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc6")),
10181016
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
1017+
"hcT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc56")),
1018+
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
10191019
"0cT0abc", _.Escape, CheckThat(() => AssertLineIs("0bc123456")),
10201020
'u'
10211021
));

test/MovementTest.VI.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -621,11 +621,11 @@ public void ViCharDelete()
621621
"0dfg"
622622
));
623623

624-
Test("", Keys(
624+
Test("g", Keys(
625625
"abcdefg", _.Escape, CheckThat(() => AssertLineIs("abcdefg")),
626-
"dFa", _.Escape, CheckThat(() => AssertLineIs("")),
626+
"dFa", _.Escape, CheckThat(() => AssertLineIs("g")),
627627
'u', CheckThat(() => AssertCursorLeftIs(6)),
628-
"dFb", CheckThat(() => AssertLineIs("a")),
628+
"dFb", CheckThat(() => AssertLineIs("ag")),
629629
'u', CheckThat(() => AssertCursorLeftIs(6)),
630630
"dFa"
631631
));
@@ -644,10 +644,10 @@ public void ViCharDelete()
644644

645645
Test("0123456", Keys(
646646
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
647-
"dT0", CheckThat(() => AssertLineIs("0")),
648-
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
649-
"hdT0", CheckThat(() => AssertLineIs("06")),
647+
"dT0", CheckThat(() => AssertLineIs("06")),
650648
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
649+
"hdT0", CheckThat(() => AssertLineIs("056")),
650+
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
651651
"0dT0"
652652
));
653653
}

0 commit comments

Comments
 (0)