|
|
02086e0922
|
code outline of a function to extend an existing match in search-list.sml.
|
2026-02-06 20:30:07 +00:00 |
|
|
|
11a632556c
|
progress refactoring delete functions in fcore/normal-mode/make-normal-delete.sml so that searchList is incrementally rebuilt when buffer is deleted from
|
2026-02-06 09:41:39 +00:00 |
|
|
|
9c66c3f5e8
|
progress in changing functions to use 'PersistentVector.delete' so that search list is incremental and not rebuilt from scratch after each deletion
|
2026-02-06 08:57:18 +00:00 |
|
|
|
df7669b065
|
progress in changing functions to use 'PersistentVector.delete' so that search list is incremental and not rebuilt from scratch after each deletion
|
2026-02-06 08:52:11 +00:00 |
|
|
|
c856f49a6c
|
amend merge function from persistent-vector.sml. If we reach the same depth and find that there is no space, then climb (using the stack) up by one depth, raise the depth of the smaller node by 1, and merge there. This helps ensure balance. Before, we broke a LEAF into two LEAF objects if we wanted to merge and found that there was no room, but that led to balancing problems, which are addressed by this change.
|
2026-02-05 23:54:31 +00:00 |
|
|
|
0f907769e3
|
add a function to persistent-vector.sml to check if all leaves are at the same depth (which is how we want to balance)
|
2026-02-05 20:39:01 +00:00 |
|
|
|
5c34a4c6ac
|
done with tests for 'yw' motion
|
2026-02-04 10:19:40 +00:00 |
|
|
|
1f2af6aacd
|
amend implementation of 'yw' so that we do not yank newline following last word in line, if we are trying to yank last word
|
2026-02-04 10:12:04 +00:00 |
|
|
|
83c660818e
|
begin adding tests for 'yw' yank motion
|
2026-02-04 09:26:57 +00:00 |
|
|
|
2a8785a373
|
add tests for 'yy' yank motion
|
2026-02-01 09:48:10 +00:00 |
|
|
|
2ee963a3d8
|
done implementing tests for yank. Also simplify 'NormalDelete.deleteLineDown' and 'NormalYank.yankLineDown' functions by removing an if-branch which can never trigger. (The code path can only be executed in the event that 'endLineIdx' is on a newline, and there is an if-expression in that branch checking whether 'endLineIdx' is on a newline, which is redundant.)
|
2026-01-31 22:20:52 +00:00 |
|
|
|
c0d4155808
|
adjust 'NormalYank.yankLineDown' function to pass failing test
|
2026-01-31 21:53:32 +00:00 |
|
|
|
ef9da12a0b
|
begin adding tests for 'yj' motion, based on tests for 'dj' motion
|
2026-01-31 21:18:21 +00:00 |
|
|
|
000cf4ab62
|
implement 'yj' motion. (Next: add tests for it.)
|
2026-01-31 12:05:16 +00:00 |
|
|
|
900343203a
|
enable vsync in rgfw shell, to majorly decrease cpu usage
|
2026-01-23 23:20:40 +00:00 |
|
|
|
fdc289e237
|
change use of 'Bool' type to 'bool' in rgfw-exports.c
|
2026-01-23 21:19:10 +00:00 |
|
|
|
00df20042a
|
update gitignore to ignore shf-glfw and shf-rgfw test files
|
2026-01-23 21:10:01 +00:00 |
|
|
|
faa15866f8
|
seems like 'NormalYankDelete' functions need to yank one character more than the deletion range, so implement that, and make note to add tests for that module
|
2026-01-23 21:08:12 +00:00 |
|
|
|
8b46f1edfc
|
make sure that characters sent from RGFW to mlton char callback are shifted if shift is held
|
2026-01-23 21:05:12 +00:00 |
|
|
|
238e6f8907
|
mostly done implementing callbacks for rgfw
|
2026-01-23 20:53:37 +00:00 |
|
|
|
2b383ce756
|
change if statement in keyCallback (on C side) to a switch statement, so adding more cases becomes easier
|
2026-01-23 15:09:43 +00:00 |
|
|
|
0b91362fd1
|
fix compile error for rgfw shell. The compile error was on the C side, and was caused by a dependency (<GL/glx.h>) having the typedef 'Bool', and the mlton-generated export headers also having a typedef 'Bool' with the same name. The solution for this project is just to delete the typedef from the mlton-generated headers.
|
2026-01-23 14:56:55 +00:00 |
|
|
|
8d68bcbd13
|
remove duplicate '<stdboo.h>' include in ffi/glfw-export.c, and disambiguate mlton-generated export file for GLFW shell further (by prepending 'mlton-' to the file)
|
2026-01-23 13:37:13 +00:00 |
|
|
|
a8f69bec06
|
disambiguate exports (rename 'export.h' to 'glfw-export.h' because now we are beginning to add RGFW as a back-end with its own separate exports)
|
2026-01-23 13:10:34 +00:00 |
|
|
|
e18032dcc8
|
checkpoint (seem to have encountered an FFI bug?)
|
2026-01-23 12:52:47 +00:00 |
|
|
|
609c30bef5
|
mark 'Rgfw.swapBuffers' as reentrant, because calling this function will likely trigger the registered key callbacks
|
2026-01-23 11:16:14 +00:00 |
|
|
|
a89bb8fa5f
|
consume events in RGFW loop. (Next: react to input events.)
|
2026-01-23 11:13:33 +00:00 |
|
|
|
b4573441fb
|
progrfess scaffolding rgfw (next: consume events and add callbacks for events)
|
2026-01-23 10:55:43 +00:00 |
|
|
|
df20641af1
|
refactor functional core into its own .mlb file that can be shared across different shells
|
2026-01-23 10:08:57 +00:00 |
|
|
|
13d4989792
|
additional scaffolding for making RGFW main loop
|
2026-01-23 10:04:44 +00:00 |
|
|
|
e7ab53310e
|
ffi progress
|
2026-01-23 09:47:27 +00:00 |
|
|
|
dee5e72f39
|
add rule to Makefile to run RGFW build more quickly
|
2026-01-22 21:38:15 +00:00 |
|
|
|
d0f9220cfe
|
progress binding RGFW and making RGFW shell
|
2026-01-22 21:02:22 +00:00 |
|
|
|
e0c09c5480
|
begin adding bindings to rgfw window library
|
2026-01-22 02:00:57 +00:00 |
|
|
|
5eb94f5ccb
|
remove shell/shell.sml and merge its contents into shell/glfw-loop.sml, because shell.sml used to set up and initialise GLFW before calling the main loop. We may want to add additional back-ends later instead, so it's better to keep names specific to the windowing library or platform.
|
2026-01-22 00:57:21 +00:00 |
|
|
|
9ef8231b8b
|
separate OpenGL drawing from GLFW loop in imperative shell, so that other windowing libraries can call the same OpenGL functions.
|
2026-01-22 00:04:22 +00:00 |
|
|
|
a8104131ca
|
add bindings for d-pad directions
|
2026-01-21 22:45:19 +00:00 |
|
|
|
2d1bcf28f7
|
progress reimplementing gamepad support
|
2026-01-21 21:03:20 +00:00 |
|
|
|
50868b830b
|
implement actions for TRIANGLE mode in glfw-gamepad.sml
|
2026-01-21 20:50:04 +00:00 |
|
|
|
0679f4154e
|
begin refactoring shell/glfw-gamepad.sml. (Most functions inside that file are pure now, and I think a 'modal' approach to the face buttons would be better/more ergonomic.)
|
2026-01-21 20:38:13 +00:00 |
|
|
|
96fe9cea0d
|
update todo.md notes with next steps to focus on
|
2026-01-20 09:13:03 +00:00 |
|
|
|
214ea67b76
|
add gamepad-bindings for escape key
|
2026-01-20 09:08:11 +00:00 |
|
|
|
e2454b1093
|
handle l2 and r2
|
2026-01-20 09:01:41 +00:00 |
|
|
|
9962232f83
|
implemented l2 and r2 mostly (except for some to-do items mentioned in comments)
|
2026-01-20 08:32:29 +00:00 |
|
|
|
38e31b2097
|
amend l1 (previous commit only amended r1)
|
2026-01-20 08:02:58 +00:00 |
|
|
|
755d69675f
|
fix how l1 and r1 buttons should be handled (previously, we weren't saving the relevant state to true when they were pressed, but now we are)
|
2026-01-20 08:02:14 +00:00 |
|
|
|
ff33812b27
|
done with handling for gamepad's face buttons; next, handle r2 and l2 buttons
|
2026-01-20 07:56:04 +00:00 |
|
|
|
73d30bfb1f
|
progress implementing SML-side handling of controller
|
2026-01-20 07:10:15 +00:00 |
|
|
|
f2bffc4b6b
|
add bindings to query gamepad's face buttons
|
2026-01-20 04:19:26 +00:00 |
|
|
|
6f89fbc89c
|
begin binding gamepad functions from GLFW to SML
|
2026-01-19 13:23:47 +00:00 |
|