Commit Graph

189 Commits

Author SHA1 Message Date
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
543453e8bd unescape an escaped search string 2025-09-01 13:56:32 +01:00
1296ce367b handle resize event and concurrent (permanent and full) search result in NORMAL_SEARCH_MODE 2025-09-01 12:52:26 +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
53082315ac draw cursor when in NORMAL_SEARCH_MODE 2025-09-01 11:04:56 +01:00
ea4dae3c53 implement backspace for normal-search-mode 2025-09-01 03:34:16 +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
3f7009bf09 prefix search string with a / in NORMAL_SEARCH_MODE, just like in Vim 2025-09-01 02:39:16 +01:00
0f945c9646 create an 'exitToNormalMode' function which exits NORMAL_SEARCH_MODE and creates a message to redraw the screen so that it looks like normal mode 2025-09-01 02:26:25 +01:00
561e45c556 extract reusable function which can be used when a search string is changed, in NORMAL_SEARCH_MODE 2025-09-01 02:18:23 +01:00
c95ae5eae3 add functionality to return from NORMAL_SEARCH_MODE back to NORMAL_MODE, saving new search string and new search list 2025-08-31 07:40:31 +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
3b6dff3081 begin scaffolding NormalSearchMode (normal mode, except we are searching) 2025-08-31 02:10:57 +01:00
659a1d2585 change buildRange length from 777 to 1111 2025-08-30 23:36:14 +01:00
2b3f0405c6 reimplement search-range functionality to scan range from the string from left to right 2025-08-30 23:31:55 +01:00
148b72835b move buffer to start before creating searchMsg 2025-08-30 18:21:47 +01:00
0dd7a69777 propagate 'time' value throughout normal mode updating 2025-08-20 13:12:07 +01:00
f97a2944ae pass time parameter in normal-delete.sml 2025-08-20 13:00:36 +01:00
c4f3e921a3 formating 2025-08-20 12:51:31 +01:00
c21d1b8205 progress fixing compile errors resulting from adding 'bufferModifyTime' field (fixed normal-mode move expressions) 2025-08-20 12:50:39 +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
5236579cd5 extract some more common code (which was used in many delete functions) into its own function 2025-08-07 19:31:34 +01:00
0fd63fe82f extract a function which has commonly used code 2025-08-07 19:17:47 +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
f63e416e8f move normal-mode deletion functions to their own file 2025-08-07 18:02:47 +01:00
85c0b09d26 put cursor-movement functions in their own file 2025-08-07 17:57:47 +01:00
bc188b9175 begin refactoring (split app-update into different files) 2025-08-07 17:41:10 +01:00