Commit Graph

717 Commits

Author SHA1 Message Date
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
478a2e5002 add some more tests from freeCodeCamp tutorial 2025-10-11 14:27:56 +01:00
7f1f1f7bdc at end of char loop, track if length of dstate changed. If it did not, that means that we have encountered a loop that is at the end; thus, we should add the endMarker 2025-10-11 13:39:28 +01:00
b2931753d0 make dfa-gen.sml compile again, with parity before reimplementing it 2025-10-11 13:23:44 +01:00
96f0afc2b2 attempt at fixing dfa-gen to convert properly 2025-10-11 11:32:30 +01:00
a44afca40b checkpoint for reimplementing dfa-gen.sml 2025-10-10 11:54:34 +01:00
5a43954aef checkpoint 2025-10-10 04:59:32 +01:00
244d0ce26d begin attempt to compute followpos properly 2025-10-10 04:44:18 +01:00
bdfca17b5a implement function to insert a list to a pos 2025-10-10 04:00:34 +01:00
58c3e65fdd add list of follows to leaves in regex parse tree (only changed data type; need to populate follows list later) 2025-10-10 03:49:09 +01:00
108a30ea79 add utility function to insert from a list into a set 2025-10-10 03:29:52 +01:00
88eb30dbf2 done caching firstpos and lastpos, and using the cached data 2025-10-10 01:56:54 +01:00
6e646bdffa begin computing firstpos and lastpos during parsing 2025-10-10 01:43:24 +01:00
90327579d1 find failing test in regex: 'go*' does not match phrase 'gut feeling'. It should match the first character because the 'o' is optional, but the * acts like + instead, expecting at least one 'o' 2025-10-09 22:46:06 +01:00
7a3e4c2b67 add some additional regex tests 2025-10-09 22:26:33 +01:00
4665141a1d checkpoint for adding freeCodeCamp regex tests 2025-10-09 17:06:09 +01:00
c427cd25fa begin adding regex tests based on freeCodeCamp tutorial 2025-10-09 16:56:36 +01:00
e51c18166e begin adding tests based on tutorial by freeCodeCamp 2025-10-09 16:50:19 +01:00