Commit Graph

1841 Commits

Author SHA1 Message Date
7fcab2150c add railroad testing framework as a sumboule 2026-04-24 00:52:47 +01:00
da8790f0b6 Add 'game-sml/' from commit '113c3e67abe635f714f972a1e2ab0e4b24ff10f4'
git-subtree-dir: game-sml
git-subtree-mainline: aa5357714d
git-subtree-split: 113c3e67ab
2026-04-24 00:38:14 +01:00
aa5357714d Add 'cozette-sml/' from commit '5ee4d063750e4b57ef9abf2d8ca19a3811ad73a1'
git-subtree-dir: cozette-sml
git-subtree-mainline: bbdbe022f3
git-subtree-split: 5ee4d06375
2026-04-24 00:35:35 +01:00
bbdbe022f3 Add 'string-tries-sml/' from commit 'd056e08ce768e014ab409c7f63e8fd0adfc1dff2'
git-subtree-dir: string-tries-sml
git-subtree-mainline: dba78da7ec
git-subtree-split: d056e08ce7
2026-04-24 00:34:11 +01:00
dba78da7ec Add 'dotscape-art/' from commit 'a1b88b9d3bfd82a91da6fe522e20f83027d17c5e'
git-subtree-dir: dotscape-art
git-subtree-mainline: f3a4e15ed5
git-subtree-split: a1b88b9d3b
2026-04-24 00:31:29 +01:00
f3a4e15ed5 Add 'dotscape/' from commit 'f306501a68a51b634e895c5fdac70788ae899d75'
git-subtree-dir: dotscape
git-subtree-mainline: 6b91d64fc3
git-subtree-split: f306501a68
2026-04-24 00:30:08 +01:00
6b91d64fc3 Add 'shf/' from commit 'b6c5a95b664aeb861d7b33ffc9eefe447ba99dd7'
git-subtree-dir: shf
git-subtree-mainline: 401408448f
git-subtree-split: b6c5a95b66
2026-04-24 00:27:49 +01:00
401408448f Add 'brolib-sml/' from commit 'fd96032949434207dda3b288f48d7fe579f59e4e'
git-subtree-dir: brolib-sml
git-subtree-mainline: 64471ecf7f
git-subtree-split: fd96032949
2026-04-24 00:26:04 +01:00
64471ecf7f initial commit 2026-04-24 00:19:28 +01:00
b6c5a95b66 remove some submodules, replacing them with hardcoded paths instead 2026-04-23 23:40:14 +01:00
d25c42f9f0 done adding search-list related tests for 'dN' motion 2026-04-01 23:49:30 +01:00
9d46ec9f34 add additional test for 'dn' motion after finding bug, fixed bug (rewrote high-level delete fundtion in persistent-vector.sml to address it), and begin adding tests for 'dN' motion 2026-03-28 00:45:08 +00:00
3f6eaa730a add search-list tests for 'dn' motion 2026-02-14 20:56:11 +00:00
1b07323e54 add search-list tests for 'd^' motion 2026-02-10 10:11:32 +00:00
756f44e7f8 add tests for 'd$' motion, and fix bug. When we are extending an existing match and reached the last index of the buffer, we used to return the searchList right away. However, we are meant to add the extended match before returning the searchList. We do this now, and the bug is fixed. 2026-02-10 09:56:35 +00:00
3c0a1dc034 add search-list tests for 'd0' motion 2026-02-10 09:10:19 +00:00
e0517ca8cd add tests related to searchList for 'dG' and 'dgg' motions 2026-02-10 08:57:32 +00:00
9a374d30f3 add search-list tests for 'dge' and 'dgE' motions 2026-02-09 22:30:48 +00:00
a270879216 add tests regarding search-list for 'db' and 'dB' motions 2026-02-09 02:31:36 +00:00
66ac1cbc34 add search-list tests for 'de' and 'dE' motions 2026-02-09 02:11:01 +00:00
5fc1b10b24 add tests regarding search list for 'dW' motion 2026-02-09 02:00:34 +00:00
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
3b21025dbc expand plan for addressing to-do list in todo.md a bit 2026-02-08 03:21:34 +00:00
33866533a3 address remainning todo-notes, which had to do with updating the searchList when we insert into a buffer. 2026-02-08 03:17:19 +00:00
c28ae4d8cd code function that can insert into both searchList and buffer 2026-02-08 02:32:32 +00:00
1fa2a44a2f progress addressing to-do notes in fcore/normal-mode/make-normal-delete.sml, although some notes are still left. The notes that have been addressed involved cases where we create a new buffer containing just a newline, because all of the text in the buffer has been deleted otherwise. In this case, we call 'SearchList.build' and build the search-list from scratch, which is fast because only one character needs to be checked. 2026-02-08 02:16:48 +00:00
0c40cad77a done replacing direct calls to 'LineGap.delete' with calls to 'SearchList.deleteBufferAndSearchList', so that the search list is also deleted from whenever the buffer is deleted from 2026-02-07 22:27:44 +00:00
9b520d71f5 pull in new brolib-sml changes, which fixes a minor bug in the 'LineGap.lineNumberToIdx' function. That function tried to index into a vector immediately when the metadata indicated the current node is at the correct line number, without checking if the relevant line break is at the current node. We perform this check first, and continue going leftwards until we find the line break if the relevant line break is not at the current node. 2026-02-07 03:10:23 +00:00
fd96032949 fix bug in line_gap.sml: when we convert a line number to an absolute index and travel leftwards, make sure we continue travelling leftwards when the current node is at the correct line number but the line number does not start at this node. 2026-02-07 03:04:49 +00:00
340e52019f handle edge case when deleting from buffer: if the previous match is extended into a new match, then replace the old match in the search list with the extended match 2026-02-07 02:25:45 +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
b02b2f53da when deleting from buffer and search list both, don't try to find any matches if the DFA is empty (has a length of 0), because that means there is no search to find a match for 2026-02-06 21:25:44 +00:00
2292c30cd3 bookmark checkpoint in refactoring code to call funhction which deletes from both (searchList and buffer), instead of just deleting buffer 2026-02-06 20:43:47 +00:00
02086e0922 code outline of a function to extend an existing match in search-list.sml. 2026-02-06 20:30:07 +00:00
11a632556c progress refactoring delete functions in fcore/normal-mode/make-normal-delete.sml so that searchList is incrementally rebuilt when buffer is deleted from 2026-02-06 09:41:39 +00:00
9c66c3f5e8 progress in changing functions to use 'PersistentVector.delete' so that search list is incremental and not rebuilt from scratch after each deletion 2026-02-06 08:57:18 +00:00
df7669b065 progress in changing functions to use 'PersistentVector.delete' so that search list is incremental and not rebuilt from scratch after each deletion 2026-02-06 08:52:11 +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
0f907769e3 add a function to persistent-vector.sml to check if all leaves are at the same depth (which is how we want to balance) 2026-02-05 20:39:01 +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