Commit Graph

734 Commits

Author SHA1 Message Date
60ec24453f reimplement 'yt<char>' motion to use 'Cursor.toNextChr' 2025-10-18 19:55:53 +01:00
9f53c5549a rename 'Cursor.toNextChrNew' function to 'Cursor.toNextChr', and update usages to change the name as well. 2025-10-18 15:17:26 +01:00
e07f21d6f4 remove usages of 'Cursor.toNextChr' and delete it 2025-10-18 15:14:41 +01:00
ee96419901 repace usage of 'Cursor.toNextChr' with 'Cursor.toNextChrNew' ins make-normal-delete.sml 2025-10-18 15:07:14 +01:00
d7adae374f reimplement 'dt' motion 2025-10-18 14:59:37 +01:00
bc44c7bcd0 add another test for 'df<char>' motion, checking that we leave a newline behind if the whole buffer is deleted 2025-10-18 14:29:20 +01:00
5d00da2cbb reimplement 'df' motion as per previous commits, and add a new test for 'df' motion to check that cursor does not land on a 'newline following a non-newline' position, after deleting using 'df<char>' 2025-10-18 14:24:16 +01:00
239aaacfc5 reimplement 't' movement motion the same way that 'f' movement motion was reimplemented in previous commit 2025-10-18 14:05:25 +01:00
e44eae6d46 reimplement 'f' move motion more efficiently, not leaving the LineGap.t data structure while iterating to next count 2025-10-18 14:01:06 +01:00
597b5beb3d add tests (some of Which currently fail) for 'dF<char>' motion 2025-10-18 13:37:42 +01:00
05961a460c adjust colours to be same as 'morning' theme in neovim 2025-10-17 23:37:09 +01:00
111e0cf66d remove usage of concurrent ml, deciding that we prefer to run everything in the main thread instead 2025-10-17 23:08:16 +01:00
0799128f7c add tests for 'dt<char>' motion 2025-10-17 16:24:43 +01:00
b8beeaaa60 add some more tests for 'df<char' motion, and fix implementation to pass those tests (if our cursor is at the same position after calling 'fMove', then exit the loop to find the next occurrence of <char>) 2025-10-17 16:19:17 +01:00
09c9a92029 add tests for 'df<char>' motion. Some fail and need the implementation to be fixed. 2025-10-17 15:56:08 +01:00
52f8e2307c add tests for 'dN' motion 2025-10-16 21:28:18 +01:00
ad506c0c0a add tests for 'dn' motion 2025-10-16 21:21:09 +01:00
c4c6634d79 add 'D' motion, which does the same thing as 'd$' (these two aliases exist in Vim too, to do the same thing) 2025-10-16 15:02:45 +01:00
3e1e80cd93 remove 'dd' tests from todo list, because we already have tests for 'dd' motion 2025-10-16 14:49:27 +01:00
a28e099b6f add another test for 'd^' motion, that we don't delete anything when cursor is on a newline (this one passes but it is an important case to test) 2025-10-16 13:22:34 +01:00
2667e58a26 done adding tests for d^ motion 2025-10-16 13:19:01 +01:00
91b7d54cc4 begin adding tests for d^ motion 2025-10-16 13:11:39 +01:00
7676556513 fix failing test for 'd$' motion, which means completing tests for 'd$' motion too 2025-10-16 12:07:27 +01:00
f804a2a9fc add tests for 'd$' motion, including one failing test whose implementation needs to be fixed 2025-10-16 12:02:20 +01:00
c2eaa5537c modify 'd$' implementation to pass failing test (we don't want to delete newline at end of line, so we don't do that now) 2025-10-16 11:09:20 +01:00
c190cec868 add failing test for 'd$' motion 2025-10-16 11:04:26 +01:00
abde4dc8a6 add tests for 'dG' motion 2025-10-16 01:21:30 +01:00
a855cecd25 implement 'dG' motion (need to test it next) 2025-10-16 01:13:14 +01:00
5fcee88911 add tests for 'd0' motion 2025-10-15 22:38:15 +01:00
e1347da0e1 add to-do list of things to do next 2025-10-15 15:29:19 +01:00
82c1d48c6f add tests for 'dgg' motion 2025-10-15 15:06:04 +01:00
4c8f588ce9 add tests for 'dge' motion 2025-10-15 14:46:09 +01:00
60b6cc6d6d better naming of functions to create search/char highlight 2025-10-15 10:01:50 +01:00
e2ed022ccc clearer names for colour-related fields in text-builder-utils.sml 2025-10-15 09:55:36 +01:00
066c39c98d done adding tests for 'dge' motion 2025-10-15 08:52:25 +01:00
5206ec555d add a test for 'dge' motion 2025-10-14 16:26:12 +01:00
78a5fdff58 add another test for 'dge' motion 2025-10-14 15:19:24 +01:00
999a35cb8b fix failing test for 'dge' motion: if the deletion takes us to a newliune that follows a non-newline-character, we should decrement the cursor to be on the non-newline-character 2025-10-14 12:31:18 +01:00
d73959ce9b find failing test case for 'dge' motion (deletion works as expected, but cursor is at wrong place) 2025-10-14 12:21:23 +01:00
03c3bd310b add an additional test for 'dge' motion 2025-10-14 12:16:18 +01:00
22a8b807d2 handle edge case when building dfa from a string, where an exception was raised when our search regex contains an alternation where the second alternation is a substring of the first alternation, and add a test for it to make sure that it passes 2025-10-14 02:24:45 +01:00
be7a9b3035 add minimal modifications to implementation of 'dge' motion, so that failing test for 'dge' motion passes 2025-10-13 22:08:33 +01:00
8e56eb7628 begin adding tests for 'dge' delete motion (one test currently fails) 2025-10-13 22:03:49 +01:00
6f9365effb add tests for 'dB' motion 2025-10-13 21:41:45 +01:00
cb5013bc25 done adding tests for 'db' delete motion 2025-10-12 08:49:50 +01:00
88e1ae00a9 progress adding additional tests for 'db' motion 2025-10-12 08:42:05 +01:00
facc5b3761 begin adding tests for 'db' delete motion 2025-10-12 08:27:14 +01:00
ca2c2f438c when adding to followset in ONE_OR_MORE case, make sure we add the child to the followset as well 2025-10-12 00:32:55 +01:00
ce3470e612 fix bug in regex-test: dfa-gen.sml should add the position of the endMarker to the followSet as well 2025-10-12 00:22:14 +01:00
bc16421a24 add failing test 2025-10-11 14:35:15 +01:00