|
|
025f9d2bf4
|
fix exception in bin-search.sml, by making sure that forwardLinearSearch always starts at 0 or more
|
2024-11-15 09:24:48 +00:00 |
|
|
|
c0c1a7c885
|
refactor app-update.sml to pass additional parameters to TextBuilder.build
|
2024-11-15 08:24:48 +00:00 |
|
|
|
35de4582e9
|
refactor TextBuilder and inner functions to handle highlighting searched characters
|
2024-11-15 08:13:32 +00:00 |
|
|
|
91688441cf
|
refactor fcore/text-builder.sml to take non-changing parameters as records, for brevity
|
2024-11-15 06:43:14 +00:00 |
|
|
|
df9c0e3b51
|
break out of infinite loop in build-search-list.sml's 'helpBuild' function, by passing 'matchedIdx + 1' to tail call, and return correct matchedIdx value from 'helpNextMatch' function by adding 1 rather than subtracting
|
2024-11-15 06:04:11 +00:00 |
|
|
|
13d6d51fe9
|
when buildinng search list, also save searchString into app
|
2024-11-15 05:40:57 +00:00 |
|
|
|
cac0d02fab
|
initial implementation of building search list
|
2024-11-15 05:37:53 +00:00 |
|
|
|
f279dc0937
|
make 'de', 'dE', 'dj' and 'dk' commands work similarly to vi (details are in comments)
|
2024-11-14 08:57:31 +00:00 |
|
|
|
cae9f19787
|
add search list to app type
|
2024-11-14 08:12:27 +00:00 |
|
|
|
91663a6cae
|
done implementing search list
|
2024-11-13 12:54:47 +00:00 |
|
|
|
11df1a6bcd
|
done implementing delete function in SearchList
|
2024-11-13 03:49:12 +00:00 |
|
|
|
fb236aa7a1
|
add another helper function for deleting in SearchList. (Only one more helper function to go now.)
|
2024-11-13 03:15:20 +00:00 |
|
|
|
204d171893
|
implement a couple of more helper functions for deletion
|
2024-11-12 20:46:07 +00:00 |
|
|
|
b24dbd0ede
|
implement a helper function for delete
|
2024-11-12 13:07:28 +00:00 |
|
|
|
9b45f43948
|
start implementing delete in search-list.sml (with top-down programming, calling functions that do not yet exist)
|
2024-11-12 09:14:39 +00:00 |
|
|
|
3b81d087f0
|
implement function to go specific number in search-list.sml
|
2024-11-12 07:57:36 +00:00 |
|
|
|
1bae34a067
|
done with insert into search list
|
2024-11-12 03:15:04 +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 |
|
|
|
fb8090338f
|
remove unnecessary import statement
|
2024-11-11 05:31:43 +00:00 |
|
|
|
54090ccf64
|
add yank functionality in imperative shell
|
2024-11-11 05:27:20 +00:00 |
|
|
|
ae68627a8f
|
pull minor line_gap.sml update (not user facing or significant)
|
2024-11-10 22:03:12 +00:00 |
|
|
|
681905ff15
|
receive new version of line_gap.sml which has new function to build a null-terminated substring for C FFI
|
2024-11-10 21:58:42 +00:00 |
|
|
|
79a4935dec
|
receive updated version of line_gap.sml, which gives us ability to use substring
|
2024-11-10 11:15:56 +00:00 |
|
|
|
5294da6780
|
use 'Cursor.clipIdx' in app-update.sml's 'helpDelete' and 'helpDeleteLine' functions, to ensure we never delete last line (unix text files always end with \n)
|
2024-11-10 07:57:49 +00:00 |
|
|
|
6e4f6b58b9
|
done with 'parseDelete' functionality in app-update.sml': have all the delete commands I would like
|
2024-11-10 07:51:12 +00:00 |
|
|
|
58a9c2ec69
|
add functionality for commands: 'dgg' (delete from cursor to start of buffer), 'dge' (delete from cursor to the end of the previous word) and 'dgE' (delete from cursor to the end of the previous WORD)
|
2024-11-10 07:34:30 +00:00 |
|
|
|
bc27925e75
|
similar loop optimisations described in previous commit to app-update.sml's 'helpDeleteToChr' function
|
2024-11-09 10:49:54 +00:00 |
|
|
|
fed827a6c9
|
same loop optimisation mentioned in previous commit to app-update.sml's 'helpDelete' function
|
2024-11-09 10:41:37 +00:00 |
|
|
|
dece4d4d83
|
break out of loop early in 'helpMove' and 'helpMoveToChr' functions, in case where calling 'fMove' returned the same value as before
|
2024-11-09 10:11:51 +00:00 |
|
|
|
cde4dbc67f
|
reduce unnecessary intermediary allocations in app-update.sml's 'helpDeleteToChr' function, similarly to previous commit
|
2024-11-09 09:59:12 +00:00 |
|
|
|
5804620846
|
small optimisation in app-update.sml's 'helpDelete' function, reducing number of allocations by accumulating otherIdx, and deleting from buffer only once loop is over
|
2024-11-09 09:39:03 +00:00 |
|
|
|
19aaae72f3
|
add functionality to delete to chr (equivalent of Vi commands starting with 'df' like 'dfe' to delete to the next 'e', and also add equivalent of 'dFe' to delete backwards)
|
2024-11-09 09:24:14 +00:00 |
|
|
|
faff848cb4
|
in cursor.sml's 'helpTillPrevChr' function, properly handle edge case where graphical chr is followed by multiple line breaks
|
2024-11-09 06:33:32 +00:00 |
|
|
|
d4d0236dab
|
amend cursor.sml's 'helpTillNextChr' function to work with new line break scheme, and use it to implement 'delete till' functionality starting with 'dt' (for example, 'dta' deletes till 'a', 'dts'detetes till 's', etc.)
|
2024-11-09 05:35:32 +00:00 |
|
|
|
e4f46295d4
|
improvement to app-update.sml's 'deleteEndOfLine' function, where we rely on 'helpRemoveChr' function to handle conditional 'go backwards' logic, and we also make sure not to do anything in 'deleteEndOfLine' if we are at a \n
|
2024-11-09 03:51:39 +00:00 |
|
|
|
e1b5352cfb
|
add todo notes for 'parseDelete' function
|
2024-11-08 22:31:19 +00:00 |
|
|
|
267efae4cc
|
add another custom delete function ('deleteToFirstNonSpaceChr', which can be triggered with command d^ and it works fine on testing
|
2024-11-08 22:19:57 +00:00 |
|
|
|
ae80ef5f21
|
code function to delete to end of line with command 'd$' (custom function needed because it did not work as expected to pass 'Cursor.viDlr' as a higher order function as with other motions)
|
2024-11-08 21:52:04 +00:00 |
|
|
|
74822d1541
|
rename cursor.sml's 'clipIdxAfterDelete' function to 'clipIdx', simplify it, and use it in other functions too
|
2024-11-08 20:43:36 +00:00 |
|
|
|
f02a20c6ea
|
clip idx after delete if necessary
|
2024-11-08 18:47:26 +00:00 |
|
|
|
c080b913ae
|
reorganisation app-update.sml to place related functions close together
|
2024-11-08 18:36:02 +00:00 |
|
|
|
4574a23dc8
|
extract reusable function 'buildTextAndClear' (but need to be careful since some functions have specialised build functionality and shouldn't use this function)
|
2024-11-08 18:27:55 +00:00 |
|
|
|
f7c99530ae
|
rename function for vi's 'x' command from deleteChr to removeChr, because it helps avoid confusion with motion-based delete (for example, 'dw')
|
2024-11-08 15:27:16 +00:00 |
|
|
|
88f4ff6057
|
progress with delete
|
2024-11-08 15:19:16 +00:00 |
|
|
|
6e66d4c968
|
done with imperative shell/ffi aspect of sending KEY_ESC to update thread when that action has occurred
|
2024-11-08 09:46:01 +00:00 |
|
|
|
a4dea7626f
|
add KEY_ESC message type, and refactor app-update.sml to use it (always calls 'clearMode' function which always sets the app to normal mode, and sets the command strnig to empty)
|
2024-11-08 09:30:57 +00:00 |
|
|
|
ff38e39deb
|
do not use 'clearMode' in helpDeleteChr function, because we have 'buffer' and 'cursorIdx' parameters we would like to add to the app state before exiting the loop. Instead, go to end of loop by passing 'count' of 0
|
2024-11-08 04:25:33 +00:00 |
|
|
|
36763fce94
|
add count to 'x' command, allowing [count] chars to be deleted
|
2024-11-08 04:21:05 +00:00 |
|
|
|
81c516e907
|
fix very minor issue in cursor.sml's 'helpViL' function (previously returned cursorIdx when non-line breaks is followed by non-line break, but now return cursorIdx + 1 instead which is the correct behaviour, because we want to move the cursor rightwards one position in that case
|
2024-11-07 21:07:11 +00:00 |
|