|
|
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 |
|
|
|
01369627bf
|
begin reimplementing search list data structure
|
2025-08-05 13:24:55 +01:00 |
|
|
|
b7cdbfbe02
|
log another exception-throwing test
|
2025-08-04 10:59:01 +01:00 |
|
|
|
1dc77e629e
|
add char event which triggers log
|
2025-08-04 09:29:37 +01:00 |
|
|
|
ce0f700253
|
abstract exception handler/logger into its own file
|
2025-08-04 09:03:47 +01:00 |
|
|
|
83634ef20e
|
log exceptions that occur to a local file
|
2025-08-04 06:23:52 +01:00 |
|
|
|
16fdfc7ac2
|
print stack trace for when an exception occurs
|
2025-08-03 13:14:28 +01:00 |
|
|
|
7045b69ce8
|
eliminate instance of currying/partial application with constant value (a constant mailbox) is shell/shell.sml
|
2024-12-17 10:55:58 +00:00 |
|
|
|
90f8732f06
|
move msgs into AppType.app_type, and refactor AppUpdate.update function to have type (app_type -> app_type) instead of pervious case which was (app_type -> app_type * MailboxType.t list). Reason: no need to allocate/return tuple when can store messages in type directly; previous msg list will be reset after each app update. All tests after refactor are passing.
|
2024-12-17 10:40:06 +00:00 |
|
|
|
09d9945201
|
add function to build search list from specific range
|
2024-11-16 12:27:14 +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 |
|