164 Commits

Author SHA1 Message Date
dbf31dfb2f add search list tests for 'di([{<' motion (delete inside paren) 2026-04-30 13:52:40 +01:00
a7080594a2 add search list tests for 'd%' motion 2026-04-29 10:12:29 +01:00
4d86af57d2 add search list tests for 'daW' motion 2026-04-28 02:38:55 +01:00
2be92e68d4 add seach-list tests for 'diw' motion 2026-04-28 02:17:06 +01:00
55c94340bf add search-list tests for 'diW' motion 2026-04-27 11:36:43 +01:00
929db95bf4 add search-list tests for 'diw' motion 2026-04-27 11:22:37 +01:00
520d865274 add search-list tests for 'dT<char>' motion 2026-04-27 05:01:43 +01:00
1c6a0121b5 add search-list related tests for 'dF<char>' motion 2026-04-27 04:43:34 +01:00
566f8b88b2 add search-list tests for 'dt<char>' motion 2026-04-27 00:28:30 +01:00
fe9048299b add tests for 'df<char>' motion, uncover bug found by test where new match was not recognised after deletion if match involved last character in buffer, and fix that bug by checking (in fcore/search-list/search-list.sm) if we are at a dead state before we check if we are in the last index of the buffer 2026-04-24 16:29:16 +01:00
504b5309f4 extract dfa generator to a separate file in repository root, so that it could be reused 2026-04-24 01:28:10 +01:00
345b6d522e remove references to dead submodules 2026-04-24 01:22:50 +01:00
7fcab2150c add railroad testing framework as a sumboule 2026-04-24 00:52:47 +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
900343203a enable vsync in rgfw shell, to majorly decrease cpu usage 2026-01-23 23:20:40 +00:00
00df20042a update gitignore to ignore shf-glfw and shf-rgfw test files 2026-01-23 21:10:01 +00:00
96080d0964 a bit of repository management (add Makefile to make it less verbose to run tests, and add .gitignore to avoid committing built binaries) 2024-11-19 04:32:37 +00:00
ef395feea8 add similar fix described in previous commit to 'moveLeftAndDelete' function 2024-11-18 11:42:23 +00:00
25046dcb88 bug fix to search-list.sml's 'moveRightAndDelete' function by possibly deleting if start > finish, rather than terminating 2024-11-18 11:29:54 +00:00
e90df37b43 in search-list.sml: fix 'delRightFromHere' and 'delLeftFromHere' functions which joined newHd with left/right, rather than the tl, and therefore added new numbers to the list, which is incorrect behaviour. Fixed this by using joining with 'tl' rather than left/right. In build-search-list.sml: make fromRange function return tuple instead of an instance of app. Finally, in app-update.sml: progress towards refactoring 'helpRemoveChr' function to map and delete from searchList as desired. 2024-11-17 09:25:01 +00:00
f7cc2d4740 change 'targetLength' of SearchList.t from 1024 to 32 2024-11-16 19:59:46 +00:00
5e9f118b15 fixed two issues related to insertion in search-list.sml. First issue: in top level 'insert' function, we called 'insLeft' if new value is greater than first value on right, and we called 'insRight' in the opposite case; this is backwards. Second issue: in base cases of 'insLeft' and 'insRight', when we have reached the end of one side of the list, we used to return the same list we got back instead of adding the new value to this end of the list; this is now fixed. 2024-11-16 19:51:29 +00:00
09d9945201 add function to build search list from specific range 2024-11-16 12:27:14 +00:00
f2b4f256ec bugfix: in search-list.sml's 'delRightFromHere' function, make sure we preserve the last part of the vector when finish < last 2024-11-16 09:05:47 +00:00
436b3e0d92 simplify and rewrite function 'del' in search-list.sml 2024-11-16 08:33:26 +00:00
d6c59e140e replace text-builder.sml's 'buildCursor' function with a new 'Rect.lerp' function (which is in fcore/rect.sml) 2024-11-15 21:14:43 +00:00
2a2f64f00c add bgVertexBuffer and bgProgram to imperative shell, so we can draw bg and cursor without overlap, and without z-index 2024-11-15 10:26:22 +00:00
d5eb19f8d9 progress drawing spaces within search string, and drawing behind background of search string 2024-11-15 09:50:35 +00:00
025f9d2bf4 fix exception in bin-search.sml, by making sure that forwardLinearSearch always starts at 0 or more 2024-11-15 09:24:48 +00:00
c0c1a7c885 refactor app-update.sml to pass additional parameters to TextBuilder.build 2024-11-15 08:24:48 +00:00
91688441cf refactor fcore/text-builder.sml to take non-changing parameters as records, for brevity 2024-11-15 06:43:14 +00:00
df9c0e3b51 break out of infinite loop in build-search-list.sml's 'helpBuild' function, by passing 'matchedIdx + 1' to tail call, and return correct matchedIdx value from 'helpNextMatch' function by adding 1 rather than subtracting 2024-11-15 06:04:11 +00:00
13d6d51fe9 when buildinng search list, also save searchString into app 2024-11-15 05:40:57 +00:00
cac0d02fab initial implementation of building search list 2024-11-15 05:37:53 +00:00
f279dc0937 make 'de', 'dE', 'dj' and 'dk' commands work similarly to vi (details are in comments) 2024-11-14 08:57:31 +00:00
cae9f19787 add search list to app type 2024-11-14 08:12:27 +00:00
91663a6cae done implementing search list 2024-11-13 12:54:47 +00:00
11df1a6bcd done implementing delete function in SearchList 2024-11-13 03:49:12 +00:00
3b81d087f0 implement function to go specific number in search-list.sml 2024-11-12 07:57:36 +00:00
1bae34a067 done with insert into search list 2024-11-12 03:15:04 +00:00
8bf0b64ef3 implement insRight function in search-list.sml 2024-11-12 03:05:14 +00:00
54090ccf64 add yank functionality in imperative shell 2024-11-11 05:27:20 +00:00
5294da6780 use 'Cursor.clipIdx' in app-update.sml's 'helpDelete' and 'helpDeleteLine' functions, to ensure we never delete last line (unix text files always end with \n) 2024-11-10 07:57:49 +00:00
6e4f6b58b9 done with 'parseDelete' functionality in app-update.sml': have all the delete commands I would like 2024-11-10 07:51:12 +00:00
58a9c2ec69 add functionality for commands: 'dgg' (delete from cursor to start of buffer), 'dge' (delete from cursor to the end of the previous word) and 'dgE' (delete from cursor to the end of the previous WORD) 2024-11-10 07:34:30 +00:00
bc27925e75 similar loop optimisations described in previous commit to app-update.sml's 'helpDeleteToChr' function 2024-11-09 10:49:54 +00:00
fed827a6c9 same loop optimisation mentioned in previous commit to app-update.sml's 'helpDelete' function 2024-11-09 10:41:37 +00:00
dece4d4d83 break out of loop early in 'helpMove' and 'helpMoveToChr' functions, in case where calling 'fMove' returned the same value as before 2024-11-09 10:11:51 +00:00
cde4dbc67f reduce unnecessary intermediary allocations in app-update.sml's 'helpDeleteToChr' function, similarly to previous commit 2024-11-09 09:59:12 +00:00
5804620846 small optimisation in app-update.sml's 'helpDelete' function, reducing number of allocations by accumulating otherIdx, and deleting from buffer only once loop is over 2024-11-09 09:39:03 +00:00