|
|
c7570707ab
|
100fcore/app-update.sml done with functionality of getting screen to move (if needed) when cursor moves, including getting screen to move when moving to a new chr (in this commit)
|
2024-10-28 23:06:32 +00:00 |
|
|
|
5e1e39ca69
|
fixed two issues. First is that an exception occurred when sometimes moving cursor forwards. Cause of this issue was that callee functions depended on LineGap being moved to start of line, but this did not always happen (and now it does always happen). Second issue was that moving cursor down did not scroll as expected when line wrapped. The reason for this second issue was that the 'getStartLineAfter' function did not increment 'startLine' value in loop when line wrap occurred. Both issues are now fixed.
|
2024-10-28 22:54:28 +00:00 |
|
|
|
bff4c006ed
|
have functionality for cursor to scroll down a line when cursor moves down one line working, but it only seems to work perfectly when there are no visual line breaks
|
2024-10-28 21:56:07 +00:00 |
|
|
|
0ed5a23ade
|
some progress moving textWindow, but it is not perfect yet
|
2024-10-28 10:59:18 +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 |
|
|
|
deab30c46d
|
add equivalent of vi's 'ge' and 'gE' commands
|
2024-10-28 06:52:58 +00:00 |
|
|
|
22f7c7f8c3
|
return nonLastLine from helpTillPrevChr function
|
2024-10-27 02:45:15 +00:00 |
|
|
|
44af1441cf
|
add equivalent functionality of vi's 'T' command
|
2024-10-26 22:11:52 +01:00 |
|
|
|
8ef0365e20
|
a little refactoring
|
2024-10-26 21:56:11 +01:00 |
|
|
|
22ca7c5ed4
|
add equivalent of vi's 'F'
|
2024-10-26 21:21:33 +01:00 |
|
|
|
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 |
|