|
|
01213fb2fb
|
fix bug with tillNextChr which would place cursor on a newline
|
2024-10-26 16:20:24 +01:00 |
|
|
|
eeacde8e7a
|
address edge case when '0' is input, because '0' may either be a count if some number preceded it, or else it is a command to go the start of the line
|
2024-10-26 11:04:04 +01:00 |
|
|
|
62a9aaaaab
|
progress with moving cursor to specific char (vi's 't' command and vi's 'f' command)
|
2024-10-26 10:47:45 +01:00 |
|
|
|
816f064558
|
progress parsing normal mode commands
|
2024-10-26 06:01:48 +01:00 |
|
|
|
defb17af20
|
add mode type to app type (equivalent of vi's normal mode, visual mode, insert mode, etc.)
|
2024-10-26 04:46:05 +01:00 |
|
|
|
17a69720fd
|
add function to go to first non-space character in line
|
2024-10-25 21:44:46 +01:00 |
|
|
|
7a62ad3afc
|
pass higher order function to word motions, for less code duplication
|
2024-10-25 21:27:58 +01:00 |
|
|
|
39e867bd35
|
reduce code duplication in app-update.sml by using higher order function
|
2024-10-25 21:10:53 +01:00 |
|
|
|
a198840961
|
add WORD motions (as opposed to word motions)
|
2024-10-25 21:01:48 +01:00 |
|
|
|
b79a8696f5
|
refactor many functions in cursor.sml so they don't need to be mutually recursive
|
2024-10-25 15:25:39 +01:00 |
|
|
|
8b3bd97af3
|
fully remove 'word_type' datatype from cursor.sml
|
2024-10-24 13:44:12 +01:00 |
|
|
|
5534fd3645
|
refactor another cursor.sml function
|
2024-10-24 13:30:02 +01:00 |
|
|
|
50a0a3e31b
|
begin preparation to remove 'word_type' datatype in cursor.sml, which will simplify implementation of word motions
|
2024-10-24 13:13:49 +01:00 |
|
|
|
1f9b01c858
|
implement equivalent of vi's 'e' command
|
2024-10-24 12:29:43 +01:00 |
|
|
|
15ff3a111a
|
implement equivalent of vi's 'b' cursor motion
|
2024-10-24 06:26:40 +01:00 |
|
|
|
80cdcdccd6
|
implement nextWord in cursor.sml (vi's lowercase w)
|
2024-10-23 04:31:34 +01:00 |
|
|
|
a454524ecc
|
reimplement part of non-recursive start function 'viK' in cursor.sml
|
2024-10-22 09:46:29 +01:00 |
|
|
|
dd71dda9f2
|
in start of cursor.sml's viK function, use vi0 function if cursor is at newline, so there's no need to worry about or track column
|
2024-10-22 07:06:16 +01:00 |
|
|
|
b22222cf5d
|
implement vi0 and viDlr (viDlr = function called when pressing $), which both work fine
|
2024-10-21 03:04:47 +01:00 |
|
|
|
e08f2c4f77
|
add implementation of viK, completing hjkl movement keys
|
2024-10-21 01:34:54 +01:00 |
|
|
|
d8e1c9d0fd
|
in cursor.sml's 'viJ' function, make sure to call helpViJString with nest str hd/tl, when strIdx is in the strTl
|
2024-10-20 21:58:58 +01:00 |
|
|
|
6b3d322c1c
|
progress with viJ to move cursor downwards
|
2024-10-20 21:30:06 +01:00 |
|
|
|
47f4d452fe
|
amend error in cursor.sml's 'getCursorColumn' function, where we may need to check tail of string to start convert cursorIdx to relative strIdx
|
2024-10-19 23:04:26 +01:00 |
|
|
|
e0f44fc8ea
|
better handling of double linebreaks in cursor.sml's viH function
|
2024-10-19 07:24:27 +01:00 |
|
|
|
7fd59c734a
|
add function to retrieve column that cursor is on, relative to line
|
2024-10-19 07:03:32 +01:00 |
|
|
|
5f4be185e8
|
add preferredColumn field to app type
|
2024-10-18 06:44:45 +01:00 |
|
|
|
92b834427c
|
code 'viH' function to move leftwards by one char
|
2024-10-18 00:40:43 +01:00 |
|
|
|
19073cb56c
|
improve code to move rightwards in cursor.sml (making it clearer with comments), and improve code to draw cursor at newline in text=builder.sml
|
2024-10-17 08:40:28 +01:00 |
|
|
|
0299a9e6b2
|
draw cursor at newline linebreaks (only \n though and not \r\n)
|
2024-10-17 06:25:43 +01:00 |
|
|
|
8fb362ba8b
|
handle \r\n pair in 'viL' function
|
2024-10-17 04:03:45 +01:00 |
|
|
|
766ab6787c
|
in viL function, use 'cursorIdx + 1' instead of 'bufferIdx + ...' because what we want is to increment the cursor by one index, rather than to move the cursor to the end of the hd
|
2024-10-17 03:17:57 +01:00 |
|
|
|
428e5f2ecd
|
complete implementation of rightwards navigation (viL)
|
2024-10-17 02:57:26 +01:00 |
|
|
|
21652a5381
|
in TextBuilder, forgot to build cursor when cursorIdx is over space, so now we build cursor when cursorIdx is over space
|
2024-10-17 02:14:09 +01:00 |
|
|
|
c77777cc09
|
add CHAR_EVENT message type (next is to handle hjkl navigation)
|
2024-10-17 01:38:31 +01:00 |
|
|
|
ce23e50c8d
|
scaffolding for char callback
|
2024-10-17 01:20:48 +01:00 |
|
|
|
e7f20a5c7f
|
undo hardcoded parameter for visual testing purposes
|
2024-10-09 12:43:42 +01:00 |
|
|
|
6344dca6cb
|
done fiddling with cursor; looks fine now
|
2024-10-09 12:42:07 +01:00 |
|
|
|
306d693877
|
have cursor drawn now, but it is not appropriate size for character so have to fix that next
|
2024-10-09 12:05:40 +01:00 |
|
|
|
5cc4357cc7
|
progress drawing cursor
|
2024-10-09 11:59:41 +01:00 |
|
|
|
2afc54abc5
|
additional preparation for drawing cursor (next, just need to send cursor vector)
|
2024-10-09 11:36:05 +01:00 |
|
|
|
9d7d00e8d1
|
add cursor buffer and cursor program to imperative shell
|
2024-10-09 11:22:39 +01:00 |
|
|
|
418adc4502
|
add cursorIdx to app type in fcore
|
2024-10-09 10:59:32 +01:00 |
|
|
|
cfaa66bc0b
|
begin preparation for drawing cursor
|
2024-10-09 10:53:00 +01:00 |
|
|
|
fc1d08f364
|
receive latest commit of cozette-sml which fixes position of _underscore and backtick, which were swapped with each other
|
2024-10-09 01:25:38 +01:00 |
|
|
|
bfc5a3914c
|
hardcode more pleasant (in my opinion) colour scheme for the moment
|
2024-10-09 01:23:26 +01:00 |
|
|
|
1ae15e5585
|
expand comment to reflect a bit of planning
|
2024-10-09 00:02:12 +01:00 |
|
|
|
6e4cc9acff
|
a bit of refactoring
|
2024-10-08 08:53:43 +01:00 |
|
|
|
68a1787958
|
done scaffolding cml and adding resize functionality
|
2024-10-06 10:23:07 +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 |
|