|
|
92006ae680
|
add functions to get line number (where first line is 0) to line_gap.sml
|
2025-09-11 17:59:03 +01:00 |
|
|
|
fe8d3906de
|
fix regression introduced by previous commit (we need to be more careful when consing to 'leftStringsTl/rightStringsTl' than when consing to 'leftStrings/rightStrings', because our usage of consing the 'tl' variant in some places implies we have modified the head of that respective list
|
2025-08-05 16:17:53 +01:00 |
|
|
|
a2ca88da92
|
fix bug in index metadata in line_gap.sml (make sure we add and subtract by size of string by calling String.size)
|
2025-08-05 15:58:08 +01:00 |
|
|
|
a84490c86c
|
use parametric polymorphism for value in gap_map.sml, instead of specifying value via functor. This is more flexible because a type which is defined after the functor can be used with the map. (The key in gap_map.sml is still specified by functor, though, which is necessary because the structure uses comparison functions which work with the key.)
|
2025-03-12 23:25:29 +00:00 |
|
|
|
e2da10e908
|
amend 'removeMiddle' function in gap_map.sml: before, we were leaving element we want to remove in rkhd/rvhd because we started the slice at 'insPos', but now we increment 'insPos' by 1 so we filter that desired element out
|
2025-02-14 13:02:42 +00:00 |
|
|
|
5f834ddaa4
|
add functor to fold over GapMap in gap_map.sml
|
2025-02-13 12:40:27 +00:00 |
|
|
|
f3cc41e9a2
|
add 'env' parameter to gap_map.sml's mapper
|
2025-02-13 12:06:20 +00:00 |
|
|
|
9c32e53160
|
add 'env' parameter to gap_map.sml's mapper
|
2025-02-13 12:01:40 +00:00 |
|
|
|
aa127b28fd
|
add 'env' parameter to gap_map.sml's mapper
|
2025-02-13 12:01:07 +00:00 |
|
|
|
9749abf1d5
|
add 'env' parameter to mapper in gap_map.sml
|
2025-02-13 11:56:12 +00:00 |
|
|
|
d23396f5d1
|
cover exhaustive case reported in gap_map.sml (in 'joinSlices' function), and make it possible to map over values by using a functor
|
2025-02-13 10:52:55 +00:00 |
|
|
|
ae3238eabe
|
minor adjustments to gap_vector.sml to make functor fit GAP_VECTOR signature
|
2025-02-13 08:26:48 +00:00 |
|
|
|
cfce329255
|
add gap_vector.sml, which is just the same as gap_buffer.sml, except generic through the use of functors
|
2025-02-13 08:22:55 +00:00 |
|
|
|
33678f2b0d
|
code 'remove' function for gap_map.sml, completing the functionality I need for GapMap (but warning that, although most functions were edited from gap_set.sml, gap_map.sml is entirely untested)
|
2025-02-13 03:21:18 +00:00 |
|
|
|
2c187d0e87
|
implement 'moveTo' function for gap_map.sml
|
2025-02-13 02:41:29 +00:00 |
|
|
|
d3cca23549
|
implement 'moveToStart' and 'moveToEnd' functions in gap_map.sml
|
2025-02-12 13:59:27 +00:00 |
|
|
|
18bd71d608
|
fix compile errors regarding 'add' function in gap_map.sml (error was that 'joinSlices' helper function returned 'rightVals = rightKeys' instead of 'rightVals = rightVals')
|
2025-02-12 13:44:34 +00:00 |
|
|
|
2e03ae9828
|
add 'min' and 'max' functions to gap_map.sml
|
2025-02-12 12:45:45 +00:00 |
|
|
|
55d20a2b82
|
done with adding/inserting into GapMap
|
2025-02-12 12:25:35 +00:00 |
|
|
|
206df031b3
|
implement 'insRight' function for inserting to the right
|
2025-02-12 12:25:08 +00:00 |
|
|
|
0b8b47312a
|
implement 'insRight' function for inserting to the right
|
2025-02-12 12:12:27 +00:00 |
|
|
|
ca3e357fde
|
code 'insLeft' function for gap_map.sml
|
2025-02-12 11:08:05 +00:00 |
|
|
|
2048c04179
|
progress implementing 'add' in gap_map.sml
|
2025-02-12 10:15:36 +00:00 |
|
|
|
0ba1679e9a
|
begin implementation of gap_map.sml
|
2025-02-12 01:51:39 +00:00 |
|
|
|
713d17fdd3
|
implement removeMany function for gap_set.sml (but it is untested and more complicated than all the other functions)
|
2025-02-03 06:39:46 +00:00 |
|
|
|
47c1492136
|
implement remove function for gap-set.sml (todo: a 'removeMany' function that takes a startToRemove and endToRemove value, and deletes values in that range)
|
2025-02-02 04:13:18 +00:00 |
|
|
|
707a62021a
|
implement 'exists' functions on gap-set.sml
|
2025-02-01 23:56:33 +00:00 |
|
|
|
43bff91227
|
add functions to move around in gap set
|
2025-02-01 23:21:15 +00:00 |
|
|
|
7780b767a3
|
code insert function for gap-set.sml
|
2025-02-01 22:36:37 +00:00 |
|
|
|
50a7935612
|
minor change the nullSubstring function (use string literal for endWith parameter; no need to convert char to string)
|
2024-11-10 22:02:22 +00:00 |
|
|
|
6eb74c4332
|
add a substring function to line_gap.sml which is null terminated, which may be required for C FFI
|
2024-11-10 21:57:04 +00:00 |
|
|
|
c2e74d89fd
|
fully implement substring for line_gap.sml
|
2024-11-10 11:13:12 +00:00 |
|
|
|
2cd6605ee4
|
progress adding substring to line_gap.sml
|
2024-11-10 10:41:41 +00:00 |
|
|
|
446e335f54
|
fix minor bug in 'helpGoToEnd' function in line_gap.sml (we were meant to pass rStrTl and rLnTl, but we were passing empty lists instead which caused us to lose data)
|
2024-10-30 10:53:17 +00:00 |
|
|
|
16f65c0d9d
|
add 'goToEnd' function in line_gap.sml
|
2024-10-30 10:23:55 +00:00 |
|
|
|
d59d0bb17f
|
fix starting 'goToLine' function in line_gap.sml; previously, we were comparing 'searchLine' to 'idx' to decide where to move buffer, but now we are comparing 'searchLine' to buffer's 'line' instead which is correct
|
2024-10-28 21:33:52 +00:00 |
|
|
|
d2e5c23c61
|
abstract reusable function from goToLine so it can be used in goToIdx, and implement goToIdx
|
2024-10-10 22:56:24 +01:00 |
|
|
|
d4ef45630d
|
add function to move to specific line number (or the node containing a specific line number if node contains multiple line breaks)
|
2024-10-05 23:01:19 +01:00 |
|
|
|
36edbb6dee
|
add function to go to start of line_gap.sml
|
2024-10-05 14:17:15 +01:00 |
|
|
|
2a5a5b0787
|
add append function to line_gap.sml
|
2024-10-05 12:39:45 +01:00 |
|
|
|
599252e5ed
|
add function to create a LineGap.t from a string (although, for performance reasons, it's best to use this function when string is shorter than 1024 chars)
|
2024-10-05 00:57:12 +01:00 |
|
|
|
014c2ef7d1
|
add signature to line_gap.sml
|
2024-10-04 15:00:14 +01:00 |
|
|
|
9be5d36e50
|
add benchmark files for line_gap.sml and adjust the Makefile in /bench/ directory to use them
|
2024-07-21 00:45:37 +01:00 |
|
|
|
98f93701fd
|
clean line_gap.sml a little - done with this now
|
2024-07-20 14:41:51 +01:00 |
|
|
|
2fd0df641a
|
remove debugging print statements from line_gap.sml
|
2024-07-20 11:31:31 +01:00 |
|
|
|
8b296d0332
|
verify that all known bugs have been fixed and that none of the datasets give any issues with string contents or line metadata
|
2024-07-20 01:23:38 +01:00 |
|
|
|
59ac0aded8
|
after amending a few more bugs, it seems that line metadata and index metadata are handled correctly. At least for svelte dataset; worth checking others as well
|
2024-07-20 00:52:49 +01:00 |
|
|
|
fa9e5567ca
|
amend another idx metadata bug, but now there is another one
|
2024-07-20 00:28:25 +01:00 |
|
|
|
d71fd80398
|
amend few bugs - now there is another error with buffer having wrong index
|
2024-07-20 00:14:21 +01:00 |
|
|
|
f6c3a01b11
|
amend error with buffer having wrong index
|
2024-07-19 23:56:40 +01:00 |
|