|
|
09d9945201
|
add function to build search list from specific range
|
2024-11-16 12:27:14 +00:00 |
|
|
|
f2b4f256ec
|
bugfix: in search-list.sml's 'delRightFromHere' function, make sure we preserve the last part of the vector when finish < last
|
2024-11-16 09:05:47 +00:00 |
|
|
|
436b3e0d92
|
simplify and rewrite function 'del' in search-list.sml
|
2024-11-16 08:33:26 +00:00 |
|
|
|
0ba56bf6d3
|
amend lambdas in search-list.sml's 'moveRightAndMap' function, where wrong variable was used in lambda, and rename 'num' variable in that function to 'from' to make purpose and intent clearer
|
2024-11-16 04:55:02 +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 |
|
|
|
2a2f64f00c
|
add bgVertexBuffer and bgProgram to imperative shell, so we can draw bg and cursor without overlap, and without z-index
|
2024-11-15 10:26:22 +00:00 |
|
|
|
d5eb19f8d9
|
progress drawing spaces within search string, and drawing behind background of search string
|
2024-11-15 09:50:35 +00:00 |
|
|
|
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 |
|