Commit Graph

45 Commits

Author SHA1 Message Date
6ab3e592ad add yank-delete motions like 'ydw' and so on 2025-09-06 03:53:47 +01:00
caf43d0864 functorise NormalDelete structure so we can use share the same deletion logic and code for NormalDelete and NormalYankDelete (the latter which is not yet implemented) 2025-09-06 03:43:45 +01:00
d135526386 refactoring, and fix bug in 'y^' motion. (When cursor is after first-non-space-character, copy from first-non-space-character to cursor. Otherwise, copy spaces at beginning until first-non-space-character.) 2025-09-02 12:33:02 +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
1419843508 add function to convert string to an unescaped string 2025-09-01 13:46:16 +01:00
53082315ac draw cursor when in NORMAL_SEARCH_MODE 2025-09-01 11:04:56 +01:00
71c77fc6ac redraw screen when we change from NORMAL_MODE to NORMAL_SEARCH_MODE, so it is visually clear that we have changed modes 2025-09-01 03:04:39 +01:00
c95ae5eae3 add functionality to return from NORMAL_SEARCH_MODE back to NORMAL_MODE, saving new search string and new search list 2025-08-31 07:40:31 +01:00
a86befdea8 a bit of refactoring 2025-08-31 06:28:05 +01:00
3b6dff3081 begin scaffolding NormalSearchMode (normal mode, except we are searching) 2025-08-31 02:10:57 +01:00
de46376e4e reimplement search list functionality (when building whole search list, not from range) to start from index 0, to get rid of edge cases resulting from reading the string backwards 2025-08-30 23:05:11 +01:00
7497dc7e7a add code for clojure-style persistent vectors 2025-08-30 18:12:47 +01:00
af15b97400 pull in new version of cozette-ascii library, and fix resulting compile errors (which all occurred in text-builder.sml) 2025-08-18 02:17:13 +01:00
850d3b7bcb done refactoring one text builder loop 2025-08-17 19:32:46 +01:00
3e67d90512 progress functorising text builder 2025-08-17 17:15:15 +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
704854c80f use concurrency for rebuilding search list after deletion so we don't block main thread on very, very large files 2025-08-07 12:20:57 +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
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
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
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
cac0d02fab initial implementation of building search list 2024-11-15 05:37:53 +00:00
cae9f19787 add search list to app type 2024-11-14 08:12:27 +00:00
8bf0b64ef3 implement insRight function in search-list.sml 2024-11-12 03:05:14 +00:00
287dc5548d progress implementing searchList data structure 2024-11-11 13:23:37 +00:00
308d042deb add functionality to centre text window to cursor 2024-10-30 10:05:16 +00:00
4b1ee33954 begin moving text window when cursor goes off screen (currently, we only move the window when cursor goes backwards but this works fine and as expected) 2024-10-28 09:34:55 +00:00
428e5f2ecd complete implementation of rightwards navigation (viL) 2024-10-17 02:57:26 +01:00
5cc4357cc7 progress drawing cursor 2024-10-09 11:59:41 +01:00
6e4cc9acff a bit of refactoring 2024-10-08 08:53:43 +01:00
b95fc48252 scaffolding for concurrent ml 2024-10-06 09:32:56 +01:00
6766fd1485 a bit of scaffolding to prepare for adding resize callback + message types 2024-10-06 08:18:24 +01:00
de70d31ee1 progress adding function to draw text 2024-10-04 23:23:25 +01:00
ff8d911010 add dependencies to .mlb file 2024-10-04 15:08:47 +01:00
eb0ca122d6 add draw module (very incomplete) 2024-10-01 08:25:12 +01:00
ae8005dceb add shader strings for open gl 2024-09-30 15:46:19 +01:00
c37c8d60e3 init 2024-09-30 13:43:43 +01:00