|
|
e44eae6d46
|
reimplement 'f' move motion more efficiently, not leaving the LineGap.t data structure while iterating to next count
|
2025-10-18 14:01:06 +01: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 |
|
|
|
b8beeaaa60
|
add some more tests for 'df<char' motion, and fix implementation to pass those tests (if our cursor is at the same position after calling 'fMove', then exit the loop to find the next occurrence of <char>)
|
2025-10-17 16:19:17 +01:00 |
|
|
|
c4c6634d79
|
add 'D' motion, which does the same thing as 'd$' (these two aliases exist in Vim too, to do the same thing)
|
2025-10-16 15:02:45 +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 |
|
|
|
c2eaa5537c
|
modify 'd$' implementation to pass failing test (we don't want to delete newline at end of line, so we don't do that now)
|
2025-10-16 11:09:20 +01:00 |
|
|
|
a855cecd25
|
implement 'dG' motion (need to test it next)
|
2025-10-16 01:13:14 +01:00 |
|
|
|
82c1d48c6f
|
add tests for 'dgg' motion
|
2025-10-15 15:06:04 +01:00 |
|
|
|
60b6cc6d6d
|
better naming of functions to create search/char highlight
|
2025-10-15 10:01:50 +01:00 |
|
|
|
e2ed022ccc
|
clearer names for colour-related fields in text-builder-utils.sml
|
2025-10-15 09:55:36 +01:00 |
|
|
|
999a35cb8b
|
fix failing test for 'dge' motion: if the deletion takes us to a newliune that follows a non-newline-character, we should decrement the cursor to be on the non-newline-character
|
2025-10-14 12:31:18 +01:00 |
|
|
|
22a8b807d2
|
handle edge case when building dfa from a string, where an exception was raised when our search regex contains an alternation where the second alternation is a substring of the first alternation, and add a test for it to make sure that it passes
|
2025-10-14 02:24:45 +01:00 |
|
|
|
be7a9b3035
|
add minimal modifications to implementation of 'dge' motion, so that failing test for 'dge' motion passes
|
2025-10-13 22:08:33 +01:00 |
|
|
|
ca2c2f438c
|
when adding to followset in ONE_OR_MORE case, make sure we add the child to the followset as well
|
2025-10-12 00:32:55 +01:00 |
|
|
|
ce3470e612
|
fix bug in regex-test: dfa-gen.sml should add the position of the endMarker to the followSet as well
|
2025-10-12 00:22:14 +01:00 |
|
|
|
7f1f1f7bdc
|
at end of char loop, track if length of dstate changed. If it did not, that means that we have encountered a loop that is at the end; thus, we should add the endMarker
|
2025-10-11 13:39:28 +01:00 |
|
|
|
b2931753d0
|
make dfa-gen.sml compile again, with parity before reimplementing it
|
2025-10-11 13:23:44 +01:00 |
|
|
|
96f0afc2b2
|
attempt at fixing dfa-gen to convert properly
|
2025-10-11 11:32:30 +01:00 |
|
|
|
a44afca40b
|
checkpoint for reimplementing dfa-gen.sml
|
2025-10-10 11:54:34 +01:00 |
|
|
|
5a43954aef
|
checkpoint
|
2025-10-10 04:59:32 +01:00 |
|
|
|
244d0ce26d
|
begin attempt to compute followpos properly
|
2025-10-10 04:44:18 +01:00 |
|
|
|
bdfca17b5a
|
implement function to insert a list to a pos
|
2025-10-10 04:00:34 +01:00 |
|
|
|
58c3e65fdd
|
add list of follows to leaves in regex parse tree (only changed data type; need to populate follows list later)
|
2025-10-10 03:49:09 +01:00 |
|
|
|
108a30ea79
|
add utility function to insert from a list into a set
|
2025-10-10 03:29:52 +01:00 |
|
|
|
88eb30dbf2
|
done caching firstpos and lastpos, and using the cached data
|
2025-10-10 01:56:54 +01:00 |
|
|
|
6e646bdffa
|
begin computing firstpos and lastpos during parsing
|
2025-10-10 01:43:24 +01:00 |
|
|
|
3197315478
|
fix failing tests for escaping regex metacharacters
|
2025-10-09 06:22:21 +01:00 |
|
|
|
a5fec6f1a2
|
add tests for escape sequences
|
2025-10-09 06:06:07 +01:00 |
|
|
|
250ae239be
|
begin adding tests for regex
|
2025-10-09 05:34:32 +01:00 |
|
|
|
70215fbc0a
|
done implementing functionality to get PersistentVector.prevMatch working. We use the call stack to try the node at the previous index if we receive an invalid state from the recursive call.
|
2025-10-08 11:10:06 +01:00 |
|
|
|
088c5c3d98
|
checkpoint while implementing prevMatch functionality
|
2025-10-08 10:39:49 +01:00 |
|
|
|
0de7a9278a
|
progress implementing help-prev-match for vector
|
2025-10-08 10:27:19 +01:00 |
|
|
|
3b823d7ae6
|
delete 'nextMatch' function in search-list.sml, and refactor other code to use alternative function
|
2025-10-08 08:16:20 +01:00 |
|
|
|
8941ce9f89
|
reimplement functionality to search forwards using 'n' command
|
2025-10-08 08:10:51 +01:00 |
|
|
|
108e021fdb
|
log an exception if search-thread encounters a failure
|
2025-10-08 06:51:52 +01:00 |
|
|
|
3c2e5812cd
|
reimplement function to search through text from scratch
|
2025-10-08 06:35:49 +01:00 |
|
|
|
5c8e74ac11
|
change type of SEARCH message to take a DFA, instead of a searchString
|
2025-10-08 05:54:19 +01:00 |
|
|
|
06106f5de8
|
remove 'searchString' field from app_type, because the same role is fulfilled by new 'dfa' field
|
2025-10-08 05:40:29 +01:00 |
|
|
|
df346d0a9e
|
add ability to switch to case-sensitive-search-mode using '?' command from normal mode
|
2025-10-08 05:29:05 +01:00 |
|
|
|
8857f49537
|
pass DFA to 'SearchList.buildRange' function, so that we don't need to parse search string into DFA each time
|
2025-10-08 05:20:33 +01:00 |
|
|
|
fd8385fa81
|
add dfa field to app_type so that we don't rebuild DFA each time we want to execute a search again (like after deleting)
|
2025-10-08 05:02:15 +01:00 |
|
|
|
7f68084398
|
add 'caseSensitive' field to NORMAL_SEARCH_MODE, so that we know what kind of DFA to build
|
2025-10-08 04:53:04 +01:00 |
|
|
|
7a72bc2ed1
|
done with allowing different types of endMarkers
|
2025-10-07 14:44:40 +01:00 |
|
|
|
f085860f20
|
begin making changes to return a parse error if regex string contains an end marker
|
2025-10-07 14:36:35 +01:00 |
|
|
|
060df2745a
|
fix bugs: only wildcard and character-class-negation should check to see if curChr is an endmarker
|
2025-10-07 14:30:23 +01:00 |
|
|
|
c62e234d00
|
change dfa-gen to a functor, and use functor to instantiate different structures
|
2025-10-07 14:05:45 +01:00 |
|
|
|
075fec02be
|
handle edge case in char range: escaped char followed by another escaped char
|
2025-10-07 12:28:14 +01:00 |
|
|
|
4dfee016eb
|
handle edge case in char-range: in a range like a-z, the second character may be an escape sequence, and we need to handle that case if so
|
2025-10-07 12:13:41 +01:00 |
|
|
|
44c2fbb3c7
|
handle character ranges like a-z in character class and negated character class
|
2025-10-07 09:48:10 +01:00 |
|