Commit Graph

27 Commits

Author SHA1 Message Date
367e691349 implement additional non-terminal yank commands 2025-09-04 00:50:16 +01:00
e1a15ab1d0 append non-terminal characters after string in yank 2025-09-02 22:41:34 +01:00
6cd038cf81 done refactoring terminal yank commands 2025-09-02 12:46:30 +01:00
d7f69574af a bit of refactoring 2025-09-02 12:39:50 +01:00
d135526386 refactoring, and fix bug in 'y^' motion. (When cursor is after first-non-space-character, copy from first-non-space-character to cursor. Otherwise, copy spaces at beginning until first-non-space-character.) 2025-09-02 12:33:02 +01:00
44441ad26b add two additional terminal yank operations: '<count-y-n> for copying to next match, and <count-y-N> for copying to prev match 2025-09-02 11:48:14 +01:00
a90cdf7943 implement a couple of more yank operations 2025-09-02 11:35:29 +01:00
1d631a708c implement a few more yank motions 2025-09-02 09:43:50 +01:00
74f1fb77ab parse a few additional motions for yanking 2025-09-02 03:13:01 +01:00
ea38e95e6b add a few additional motions to be parsed by yank 2025-09-02 03:07:50 +01:00
298cec88b3 create higher order functions to remove boilerplate code when implementing different yank cases 2025-09-02 02:55:19 +01:00
b3436b2963 implement function to yank a single line 2025-09-02 02:37:08 +01:00
faac32e0f8 add note about unhandled keys in normal mode 2025-09-01 12:01:54 +01:00
3e69c41d8f implement functionality for left and right arrow keys to move cursor left/right when entering searchString in NORMAL_SEARCH_MODE 2025-09-01 11:33:01 +01:00
b80bc3d93c add searchCursorIdx field specific to NORMAL_SEARCH_MODE which we will later use to keep track of where to add/remove characters in the in-progress searchString from 2025-09-01 03:18:45 +01:00
71c77fc6ac redraw screen when we change from NORMAL_MODE to NORMAL_SEARCH_MODE, so it is visually clear that we have changed modes 2025-09-01 03:04:39 +01:00
f4a4dd9161 scaffolding for backspace functionality 2025-09-01 02:52:05 +01:00
a86befdea8 a bit of refactoring 2025-08-31 06:28:05 +01:00
542da2229c a little additional scaffolding for normal mode 2025-08-31 02:41:37 +01:00
0dd7a69777 propagate 'time' value throughout normal mode updating 2025-08-20 13:12:07 +01:00
28593486ed refactor command-parsing code for normal mode, so that non-character events (KEY_ESC, RESIZE_EVENT, WITH_SEARCH_LIST) are dealt with at the beginning, and that the remainder of the parsing code looks at the current string and the new character typed. This is safe because pattern matching on the other commands (KEY_ESC, RESIZE_EVENT, WITH_SEARCH_LIST) always calls the same functions. 2025-08-08 23:23:40 +01:00
3b8faf28e4 add d% motion for deleting a matching pair 2025-08-08 07:30:39 +01:00
f848d4f301 done implementing 'deleteInside' and 'deleteAroundd' commands 2025-08-07 23:33:40 +01:00
1bdf8e457b implement 'deleteInside' motions 2025-08-07 19:12:01 +01:00
b6960f4c68 implemented 'diw' and 'diW' commands for deleting inside a word or WORD 2025-08-07 18:33:03 +01:00
c6f40ba9a0 remove unnecessary linebreak 2025-08-07 18:12:27 +01:00
14f97ecc57 done refactoring normal mode functions 2025-08-07 18:09:52 +01:00