Commit Graph

43 Commits

Author SHA1 Message Date
50d10c1a89 delete-chr (equivalent of vi's 'x' cmd) works fine now, except when deleting from the very first line, where first line may become invisible temporarily. I am not sure why that is happening but will find out. 2024-11-06 12:17:26 +00:00
9df6f92a33 progress with equivalent of vi's 'x' command 2024-11-05 12:38:01 +00:00
a0a8fcc17b change line indexing in AppUpdate.moveToLine from 0-based to 1-based (so first line can be access with 1G, second with 2G, as is normal with Vim) 2024-11-04 02:56:57 +00:00
b368619df3 add functionality to go to specific line in buffer 2024-11-02 13:59:55 +00:00
2a8e02ff3a when pressing fcore/text-window.sml to match pair, only recentre text window if matching pair is not currently visible on screen 2024-11-02 12:34:23 +00:00
553d4605e7 add implementation of matching cursor pairs 2024-10-31 11:07:52 +00:00
601a341992 add functionality to move to end of line 2024-10-30 10:54:55 +00:00
308d042deb add functionality to centre text window to cursor 2024-10-30 10:05:16 +00:00
f2f305c35d add command to go to start of lineGap 2024-10-30 07:51:24 +00:00
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
44af1441cf add equivalent functionality of vi's 'T' command 2024-10-26 22:11:52 +01:00
22ca7c5ed4 add equivalent of vi's 'F' 2024-10-26 21:21:33 +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
f9990636df list non-terminal commands 2024-10-26 06:54:15 +01:00
816f064558 progress parsing normal mode commands 2024-10-26 06:01:48 +01:00
17a69720fd add function to go to first non-space character in line 2024-10-25 21:44:46 +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
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
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
6b3d322c1c progress with viJ to move cursor downwards 2024-10-20 21:30:06 +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
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
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
2afc54abc5 additional preparation for drawing cursor (next, just need to send cursor vector) 2024-10-09 11:36:05 +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
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