Commit Graph

171 Commits

Author SHA1 Message Date
66d672505a fix calculation of number to decrement by in 'PersistentVector.delete', after additional test showed that calculation resulted in incorrect metadata. (Todo: just implement function to merge left and right subtrees.) 2026-01-18 00:27:03 +00:00
83bb852ae2 add another test for 'PersistentVector.delete 2026-01-17 23:45:20 +00:00
1c947eab7d add a test for 'PersistentVector.delete' (even though the 'PersistentVector.merge' helper function is unimplemented) 2026-01-17 23:27:36 +00:00
08abb43e3b added tests for 'PersistentVector.splitLeft' function 2026-01-16 21:30:56 +00:00
47cf451501 begin adding tests for 'PersistentVector.splitLeft' function 2026-01-16 21:16:23 +00:00
e0bebb6d1a add tests checking that PersistentVector.toList works as expected 2026-01-15 13:20:45 +00:00
290cc65a52 add tests checking that persistent-vector.sml appends properly, as it is meant to 2026-01-15 13:03:23 +00:00
ac3b987c42 add boilerplate helper functions in persistent-vector-tests.sml to check if list contains indices that are in range, or are not in range 2026-01-15 12:49:02 +00:00
ef43efb680 rename some test files 2026-01-15 12:32:13 +00:00
e1077b7780 add tests for 'yk' motion (next: implement 'yj' motion and test it) 2026-01-14 04:49:41 +00:00
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