Commit Graph

188 Commits

Author SHA1 Message Date
49b7f748aa add search-list tests for 'dw' motion 2026-02-09 01:56:29 +00:00
ed8d336794 add search-list tests for 'dk' motion 2026-02-08 20:27:18 +00:00
482a8f073c add tests regarding searchList for 'dd' motion 2026-02-08 18:48:07 +00:00
c87ef22ec7 add search-list-deletion tests for 'dj' motion 2026-02-08 11:49:03 +00:00
bb4d1d318e add a couple of more tests asserting searchList state after deletion 2026-02-08 10:13:30 +00:00
6c1e5777d1 begin adding tests for how searchList should be after a deletion 2026-02-08 09:54:39 +00:00
68be55342d fix failing test for 'PersistentVector.extendExistingMatch'. The test itself was wrong, as it forgets that lists are 0-indexed. 2026-02-07 01:40:43 +00:00
7fa573334f add failing test for PersistentVector.extendExistingMatch. (Need to fix.) 2026-02-07 00:33:29 +00:00
0ea0d44da3 add function to extend an existing match, and add tests for it 2026-02-07 00:29:58 +00:00
c856f49a6c amend merge function from persistent-vector.sml. If we reach the same depth and find that there is no space, then climb (using the stack) up by one depth, raise the depth of the smaller node by 1, and merge there. This helps ensure balance. Before, we broke a LEAF into two LEAF objects if we wanted to merge and found that there was no room, but that led to balancing problems, which are addressed by this change. 2026-02-05 23:54:31 +00:00
5c34a4c6ac done with tests for 'yw' motion 2026-02-04 10:19:40 +00:00
1f2af6aacd amend implementation of 'yw' so that we do not yank newline following last word in line, if we are trying to yank last word 2026-02-04 10:12:04 +00:00
83c660818e begin adding tests for 'yw' yank motion 2026-02-04 09:26:57 +00:00
2a8785a373 add tests for 'yy' yank motion 2026-02-01 09:48:10 +00:00
2ee963a3d8 done implementing tests for yank. Also simplify 'NormalDelete.deleteLineDown' and 'NormalYank.yankLineDown' functions by removing an if-branch which can never trigger. (The code path can only be executed in the event that 'endLineIdx' is on a newline, and there is an if-expression in that branch checking whether 'endLineIdx' is on a newline, which is redundant.) 2026-01-31 22:20:52 +00:00
ef9da12a0b begin adding tests for 'yj' motion, based on tests for 'dj' motion 2026-01-31 21:18:21 +00:00
29d84a9f9f done adding tests for 'PersistentVector.delete' function 2026-01-18 08:08:45 +00:00
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