Commit Graph

161 Commits

Author SHA1 Message Date
f1dd822d5b add tests for 'yl' motion 2026-01-07 07:52:06 +00:00
8b0031ca71 add tests for 'yh' motion 2026-01-07 06:33:10 +00:00
d2f32c1512 add tests for 'da<symbol>' motion, finishing all delete-tests 2026-01-03 08:39:41 +00:00
ba6798f476 make implementation of 'di<symbol>' more robust (we check if the cursor is inside a symbol-pair before checking if there is a symbol pair after the cursor), and add tests for 'di<symbol>' motion 2026-01-03 08:09:08 +00:00
8fdf2411a8 add tests for 'd/home/humza/Downloads/sml/shf/todo.md' motion 2026-01-01 18:47:38 +00:00
44dbe1ffb0 reimplement '/home/humza/Downloads/sml/shf/todo.md' motion so that it has the same behaviour as Vim. (If the cursor is not at a pair character, then check after the cursor to see if we find a pair-character there. If some location after the cursor has a pair-character, then move the cursor to it and find the pair of the character, if any.) 2026-01-01 06:58:30 +00:00
a65b950b77 add tests for 'daW' motion 2025-12-31 11:44:42 +00:00
99bb3b257e done with delete-around-word ('daw') tests. Next: delete-around-WORD ('daW') tests. 2025-12-28 01:37:29 +00:00
6efce2dd67 make 'dW' motion use transition function that is specific for deleting, and add a test to ensure that 'dW' does not delete a newline when it is not on a newline character 2025-12-27 09:45:11 +00:00
5c5910f748 change vi-caps-word-dfa.sml to regard newlines as final states, as with vi-word-dfa.sml in previous commit 2025-12-27 09:35:32 +00:00
742b571b4e amend 'dw' motion in line with previous commit 2025-12-27 07:32:22 +00:00
9846750c51 change implementation of 'word' so that we stop at newlines when we press 'w' motion, like in Vim and add tests to verify this behaviour (todo: fix regressions in deletion tests) 2025-12-27 06:05:36 +00:00
9e809e146a done adding tests for when cursor is on a space, for 'daw' motion 2025-12-27 02:41:13 +00:00
acabbac70a add another test for 'daw' motion 2025-12-27 02:22:32 +00:00
846a40a0a6 begin adding tests for 'daw' motion 2025-12-26 22:49:24 +00:00
bf62b35825 add tests for 'diW' motion, including one which fails (need to fix) 2025-12-12 19:17:00 +00:00
eb650bfd4b add more tests for 'diw' motion, including one failing test which needs to be fixed. 2025-12-12 10:45:55 +00:00
1330bcdff9 add a couple of more tests, and revert persistent-vector.sml to how it was before adding rope-like metadata 2025-12-12 10:30:21 +00:00
2f2d530dae fix calculation for delete function (we needed to fix the calculation of how much to decrement by) 2025-12-09 13:10:23 +00:00
102f2788a1 add basic tests for PersistentVector.delete 2025-12-09 12:27:23 +00:00
e6bda83309 begin adding tests for persistent-vector.sml, and add bug fix to 'PersistentVector.delete' in light of one of the tests. (We were decrementing by the wrong value previously, but I fixed it and added a comment of how we arrive at the value we want to decrement by 2025-12-09 11:42:30 +00:00
995ee01470 begin adding tests for 'diw' (delete-inside-word) motion 2025-10-19 21:55:55 +01:00
308c28c709 done adding tests for 'dT<char>' motion 2025-10-19 14:52:04 +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
597b5beb3d add tests (some of Which currently fail) for 'dF<char>' motion 2025-10-18 13:37:42 +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
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
f804a2a9fc add tests for 'd$' motion, including one failing test whose implementation needs to be fixed 2025-10-16 12:02: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
5fcee88911 add tests for 'd0' motion 2025-10-15 22:38:15 +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
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
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