|
|
76e14ea491
|
add functions to yank to end-of-previous-character, and to yank from current line to start of buffer
|
2025-09-05 23:46:10 +01:00 |
|
|
|
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 |
|
|
|
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 |
|