Commit Graph

33 Commits

Author SHA1 Message Date
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
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
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
250ae239be begin adding tests for regex 2025-10-09 05:34:32 +01:00
ad92dadd34 pull in new version of brolib-sml, which handles edge case for LineGap.delete 2025-10-06 22:58:09 +01:00
cdc23945a5 reimplement vi's 'h' movement, so that we only skip newline characters that immediately follow a non-newline 2025-09-21 21:36:59 +01:00
ad7d103f61 rename 'ViLDfa' structure to 'ViHlDfa' since this DFA implements both vi's 'h' motion and vi's 'l' motion 2025-09-17 11:02:11 +01:00
9ddb5f68d7 fix bugs in vi-l-dfa (we want to stop looping when the counter is ~1, because the starting character will likely be final/a not-newline, and we want to loop at least once; also, we want to special case 'twoNewlineState' as a final case which causes us to go backwards by 1 instead of treating 'oneNewlineState' as a final/special case). We also modify other code to use the new vi-l implementation in the program. 2025-09-17 03:52:31 +01:00
820a6c2462 copy new file order from shf.mlb to shf-tests.mlb, and remove split-string tests because we have tried to refactor string-search logic to be separate from the data structure 2025-09-16 01:25:27 +01:00
a037211763 add a new test validating that the cursor does not move when cursor is on an empty line 2025-09-07 21:09:20 +01:00
6d9ad9b13b rename a file and a structure because another file with the same name exists, except that one is lowercase and the other is uppercase. Case insensitive filesystems don't like that they had the same name before, except for the case. 2025-09-02 02:14:12 +01:00
e5b45461b4 update shf-test.mlb to make acquire changes in main (tests have not been compiling for a few days, since persistent-vector.sml was added, and that's fine because I was working on unrelated aspects) 2025-09-01 16:23:16 +01:00
4d77aed6ef done refactoring tests 2025-08-20 13:50:57 +01:00
0dd7a69777 propagate 'time' value throughout normal mode updating 2025-08-20 13:12:07 +01:00
f97a2944ae pass time parameter in normal-delete.sml 2025-08-20 13:00:36 +01:00
c4f3e921a3 formating 2025-08-20 12:51:31 +01:00
c21d1b8205 progress fixing compile errors resulting from adding 'bufferModifyTime' field (fixed normal-mode move expressions) 2025-08-20 12:50:39 +01:00
14f97ecc57 done refactoring normal mode functions 2025-08-07 18:09:52 +01:00
f63e416e8f move normal-mode deletion functions to their own file 2025-08-07 18:02:47 +01:00
bc188b9175 begin refactoring (split app-update into different files) 2025-08-07 17:41:10 +01:00
e06a27d5ad delete some dead code 2025-08-06 00:30:50 +01:00
f0f28a1318 clean up some dead code 2025-08-06 00:16:50 +01:00
01369627bf begin reimplementing search list data structure 2025-08-05 13:24:55 +01:00
ce0f700253 abstract exception handler/logger into its own file 2025-08-04 09:03:47 +01:00
d4532e37cf add boilerplate to ease regression testing 2025-08-04 07:14:00 +01:00
528aea59a1 reimplement vi's '$' motion as a DFA, also eliminating a bug that involves double deleteion in the process 2025-08-04 05:37:08 +01:00
8d67c33893 reimplement vi's 'w' command to use ViWordDfa 2025-07-20 16:04:48 +01:00
10b76d98c5 functorise some boilerplate code to start a DFA loop 2025-07-20 09:39:17 +01:00
25fb8bfc5e make DFA for vi next WORD motion, still passing tests 2025-07-20 09:12:23 +01:00
e59a1c67d8 begin scaffolding for adding deletion tests 2025-03-23 07:47:38 +00:00
649bcb66e1 a bit of refactoring to allow addition of more tests 2025-03-22 05:18:25 +00:00
deb24c2063 with cursor movements, instead of passing in functions as parameters (callbacks/higher order functions), functorise the cursor movement functions instead so we can take advantage of defunctorisation and avoid the runtime cost of closures/higher order functions/function pointers 2025-01-09 22:30:51 +00:00
b5e1c3757f add unit tests, etc. 2024-11-18 13:47:00 +00:00