|
|
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 |
|