Commit Graph

1441 Commits

Author SHA1 Message Date
833005703b a bit of refactoring for quad tree's 'toTriangles' function 2025-07-06 13:26:33 +01:00
1ce3a36db4 remove unused parameter from quad tree 2025-07-06 13:23:14 +01:00
0bdf5064d8 port arrow movement (involving functional core) 2025-07-06 03:58:45 +01:00
20c02814e4 refactoring progress 2025-07-06 03:53:26 +01:00
a919e3d3d4 add function to convert from absolute pixel value to NDC 2025-07-06 03:35:36 +01:00
ed64b464c8 progress with refactoring 2025-07-06 03:21:18 +01:00
df5f326e36 begin refactoring AppUpdate structure 2025-07-06 02:49:38 +01:00
e8e090a19d add refactored message types to temp folder 2025-07-06 02:30:15 +01:00
441e5fdd69 add graph lines to refactored version 2025-07-06 02:15:16 +01:00
79be94bcbd begin refactoring to use square pixels instead of triangles, focusing on functional core first 2025-07-06 01:38:02 +01:00
513cbd3dba code a quad tree decomposition algorithm 2025-07-06 00:32:28 +01:00
aa068ea48e remove some opaque signature ascriptions 2025-04-22 20:49:56 +01:00
e59a1c67d8 begin scaffolding for adding deletion tests 2025-03-23 07:47:38 +00:00
cbc1359de1 add tests for cursor movement 'gg', which means all cursor movements have tests now. Next: add tests for delete motions. 2025-03-22 20:58:39 +00:00
dc3c1340bf add tests for 'F' motion 2025-03-22 13:50:24 +00:00
8fa5677d4d add tests for 'f' motion 2025-03-22 13:41:50 +00:00
87272a2667 add tests for 'T' motion 2025-03-22 13:09:50 +00:00
9eae0c2d48 begin adding multi-char tests (for motions such as 't<char>') 2025-03-22 06:13:01 +00:00
884c5fa08d pull new update from lib/brolib-sml 2025-03-22 05:31:58 +00:00
649bcb66e1 a bit of refactoring to allow addition of more tests 2025-03-22 05:18:25 +00: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
78905b59f0 allow width and height to have a different number of click points 2025-02-18 11:53:28 +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
deb24c2063 with cursor movements, instead of passing in functions as parameters (callbacks/higher order functions), functorise the cursor movement functions instead so we can take advantage of defunctorisation and avoid the runtime cost of closures/higher order functions/function pointers 2025-01-09 22:30:51 +00:00
68cbf59f04 add makefile 2025-01-02 12:43:40 +00:00
40c5222621 done adding ability to change different colours in both functional core and imperative shell 2024-12-30 04:32:15 +00:00