|
|
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 |
|
|
|
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 |
|
|
|
6f89fbc89c
|
begin binding gamepad functions from GLFW to SML
|
2026-01-19 13:23:47 +00:00 |
|
|
|
05961a460c
|
adjust colours to be same as 'morning' theme in neovim
|
2025-10-17 23:37:09 +01:00 |
|
|
|
111e0cf66d
|
remove usage of concurrent ml, deciding that we prefer to run everything in the main thread instead
|
2025-10-17 23:08:16 +01:00 |
|
|
|
7676556513
|
fix failing test for 'd$' motion, which means completing tests for 'd$' motion too
|
2025-10-16 12:07:27 +01:00 |
|
|
|
f804a2a9fc
|
add tests for 'd$' motion, including one failing test whose implementation needs to be fixed
|
2025-10-16 12:02:20 +01:00 |
|
|
|
108e021fdb
|
log an exception if search-thread encounters a failure
|
2025-10-08 06:51:52 +01:00 |
|
|
|
4d1b2073dc
|
reimplement functionality to run whole text search using DFA
|
2025-10-08 06:40:20 +01:00 |
|
|
|
5c8e74ac11
|
change type of SEARCH message to take a DFA, instead of a searchString
|
2025-10-08 05:54:19 +01:00 |
|
|
|
2c388899ca
|
use different colours for program
|
2025-09-27 08:00:21 +01:00 |
|
|
|
169f96f459
|
fix exception when the buffer is empty
|
2025-09-16 04:35:49 +01:00 |
|
|
|
53a4265b07
|
add back a way to trigger exceptions manually to cause a logging error
|
2025-09-13 01:47:57 +01:00 |
|
|
|
77a64ae794
|
previously forgot to draw char in text builder, but we do that now
|
2025-09-12 14:02:38 +01:00 |
|
|
|
2e0f749229
|
adjust imperative shell to use xyz coordinates for position, instead of simply xy; need to ensure the functional core code outputs a vector in this format too
|
2025-09-11 01:43:23 +01:00 |
|
|
|
781691060c
|
begin refactoring code to use a single vertex buffer for all shapes
|
2025-09-11 01:31:19 +01:00 |
|
|
|
fee8ba5207
|
set preemptive scheduling time to change threads every 555 microseconds, instead of every 20 milliseoncds (which was the default)
|
2025-09-10 01:58:35 +01:00 |
|
|
|
95a07bcd92
|
rename 'UpdateThread' structure to 'Updater', because it is no longer a separate thread
|
2025-09-10 01:44:25 +01:00 |
|
|
|
6961a76471
|
done merging draw thread with update thread
|
2025-09-10 01:41:59 +01:00 |
|
|
|
dc3009bf54
|
create separate mailbox structures for draw and input messages, because our plan is to: 'handle input + drawing on a single thread'
|
2025-09-10 01:04:56 +01:00 |
|
|
|
299735f500
|
only update search list if timestamp for search message is greater than the buffer's modified time
|
2025-09-07 13:37:14 +01:00 |
|
|
|
f3c1905c0c
|
when constructing SEARCH message, include time in the message as well. This will enable us to ignore any messages when we have a 'later' state available.
|
2025-09-07 13:24:41 +01:00 |
|
|
|
ea38e95e6b
|
add a few additional motions to be parsed by yank
|
2025-09-02 03:07:50 +01:00 |
|
|
|
72e3b59bb7
|
because GLFW at this time has clipboard bugs on Wayland (setting clipboard string), we print out whenever the shell receives a 'yank' message indicating for GLFW to copy. This will let us test that the correct string is yanked.
|
2025-09-02 02:18:14 +01:00 |
|
|
|
a10e56935e
|
scaffolding for arrow-movement functionality
|
2025-09-01 11:23:45 +01:00 |
|
|
|
f4a4dd9161
|
scaffolding for backspace functionality
|
2025-09-01 02:52:05 +01:00 |
|
|
|
a86befdea8
|
a bit of refactoring
|
2025-08-31 06:28:05 +01:00 |
|
|
|
542da2229c
|
a little additional scaffolding for normal mode
|
2025-08-31 02:41:37 +01:00 |
|
|
|
a9fda7d88b
|
change text building function in text-builder.sml to use the 'startX' and 'startY' fields added to the environment type
|
2025-08-31 01:38:42 +01:00 |
|
|
|
83e062eb60
|
fix visual bug resulting from 'TextBuilder.buildTextStringSearch' function. When we have a search string 'abc' and a file 'abcabc', there are two matches and it should also look like there are two matches, but it did not look like there were two matches prior to this commit. This commit fixes that by advancing the search position before adding to the text accumulator.
|
2025-08-31 00:05:48 +01:00 |
|
|
|
2b3f0405c6
|
reimplement search-range functionality to scan range from the string from left to right
|
2025-08-30 23:31:55 +01:00 |
|
|
|
de46376e4e
|
reimplement search list functionality (when building whole search list, not from range) to start from index 0, to get rid of edge cases resulting from reading the string backwards
|
2025-08-30 23:05:11 +01:00 |
|
|
|
0647589f13
|
handle edge case in searching: when we look for 'abba' in the text 'abbabba', it looks like we should have two matches, but to be consistent with other programs, we only have one match
|
2025-08-30 17:16:02 +01:00 |
|
|
|
9051717213
|
remove 'gl_samples' parameter (it was used from antialiasing, but we have a bitmap font, so we don't want antialiasing)
|
2025-08-20 14:01:24 +01:00 |
|
|
|
cd21f87732
|
fix compile error in shell/shell.sml (had to pass an additional parameter: 'Time.now ()')
|
2025-08-20 13:53:31 +01:00 |
|
|
|
c21d1b8205
|
progress fixing compile errors resulting from adding 'bufferModifyTime' field (fixed normal-mode move expressions)
|
2025-08-20 12:50:39 +01:00 |
|
|
|
642814fb36
|
begin adding a 'bufferModifyTime' field to the app_type (lots of refactoring to do now)
|
2025-08-20 12:17:07 +01:00 |
|
|
|
27c5d11dd7
|
code functions to build search list from a range in the buffer (not searching for every single match, but searching for visible matches on user's window)
|
2025-08-07 15:28:29 +01:00 |
|
|
|
752bb4d00f
|
don't return (buffer, searchList) tuple when building search list, but only return search list itself. (No point returning buffer as it is never modified or moved.)
|
2025-08-07 14:40:14 +01:00 |
|
|
|
704854c80f
|
use concurrency for rebuilding search list after deletion so we don't block main thread on very, very large files
|
2025-08-07 12:20:57 +01:00 |
|
|
|
e06a27d5ad
|
delete some dead code
|
2025-08-06 00:30:50 +01:00 |
|
|
|
f0f28a1318
|
clean up some dead code
|
2025-08-06 00:16:50 +01:00 |
|
|
|
0729662eef
|
minor formatting changes to exception logging, and begin building from new search list functionality as well
|
2025-08-05 13:59:10 +01:00 |
|