Skip to content

Commit

Permalink
Fixes PowerShell#1674 - BackwardDeleteChar now does not remove charac…
Browse files Browse the repository at this point in the history
…ter under the cursor.
  • Loading branch information
springcomp committed Dec 2, 2020
1 parent a7fd34f commit 3faaf0a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion PSReadLine/ReadLine.vi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ private static void DeleteToEndPoint(object arg, int endPoint, Action<ConsoleKey

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

_singleton.SaveToClipboard(endPoint, deleteLength);
_singleton.SaveEditItem(EditItemDelete.Create(
Expand Down
18 changes: 9 additions & 9 deletions test/BasicEditingTest.VI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -988,14 +988,14 @@ public void ViChangeChar()

Test("0123456", Keys(
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
"cF0abc", _.Escape, CheckThat(() => AssertLineIs("abc")),
"cF0abc", _.Escape, CheckThat(() => AssertLineIs("abc6")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"cF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hcF0abc", _.Escape, CheckThat(() => AssertLineIs("abc6")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hcF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc6")),
"cF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc6")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hcF0abc", _.Escape, CheckThat(() => AssertLineIs("abc56")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
"hcF1abc", _.Escape, CheckThat(() => AssertLineIs("0abc456")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(4)),
"0cF0abc", _.Escape, CheckThat(() => AssertLineIs("0bc123456")),
'u'
));
Expand All @@ -1012,10 +1012,10 @@ public void ViChangeChar()

Test("0123456", Keys(
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
"cT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hcT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc6")),
"cT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc6")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hcT1abc", _.Escape, CheckThat(() => AssertLineIs("01abc56")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
"0cT0abc", _.Escape, CheckThat(() => AssertLineIs("0bc123456")),
'u'
));
Expand Down
12 changes: 6 additions & 6 deletions test/MovementTest.VI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -621,11 +621,11 @@ public void ViCharDelete()
"0dfg"
));

Test("", Keys(
Test("g", Keys(
"abcdefg", _.Escape, CheckThat(() => AssertLineIs("abcdefg")),
"dFa", _.Escape, CheckThat(() => AssertLineIs("")),
"dFa", _.Escape, CheckThat(() => AssertLineIs("g")),
'u', CheckThat(() => AssertCursorLeftIs(6)),
"dFb", CheckThat(() => AssertLineIs("a")),
"dFb", CheckThat(() => AssertLineIs("ag")),
'u', CheckThat(() => AssertCursorLeftIs(6)),
"dFa"
));
Expand All @@ -644,10 +644,10 @@ public void ViCharDelete()

Test("0123456", Keys(
"0123456", _.Escape, CheckThat(() => AssertLineIs("0123456")),
"dT0", CheckThat(() => AssertLineIs("0")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hdT0", CheckThat(() => AssertLineIs("06")),
"dT0", CheckThat(() => AssertLineIs("06")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(6)),
"hdT0", CheckThat(() => AssertLineIs("056")),
'u', CheckThat(() => AssertLineIs("0123456")), CheckThat(() => AssertCursorLeftIs(5)),
"0dT0"
));
}
Expand Down

0 comments on commit 3faaf0a

Please sign in to comment.