|
|
ab888f8410
|
update 'changeCanvasWidth/Height' functions to use layer tree
|
2025-08-09 10:11:37 +01:00 |
|
|
|
21624aee0d
|
change 'move-mode.sml' to use layer tree everywhere instead of squares
|
2025-08-09 09:57:19 +01:00 |
|
|
|
6a39f43916
|
remove some dead code
|
2025-08-09 09:39:59 +01:00 |
|
|
|
852b2cf1f1
|
remove 'undo' and 'redo' fields from app_type, because I won't be adding that functionality for the forseeable future
|
2025-08-09 09:35:52 +01:00 |
|
|
|
58439d8df8
|
progress moving away from 'squares' field to layer tree
|
2025-08-09 09:32:34 +01:00 |
|
|
|
34c29bcbba
|
add functions to add and remove pixels from layer-tree
|
2025-08-09 09:13:03 +01:00 |
|
|
|
e634bb25d7
|
add grid module, and change some functions in layer-tree.sml to use it instead of having grid-logic in there
|
2025-08-09 08:43:51 +01:00 |
|
|
|
6cd2b85d8b
|
change integer layer field when 'l' is pressed
|
2025-08-09 08:36:14 +01:00 |
|
|
|
8715879ceb
|
add layerTree field to app type
|
2025-08-09 08:22:28 +01:00 |
|
|
|
8d855be27a
|
add layer field to app type, as preparation for switching to layer tree
|
2025-08-09 08:15:11 +01:00 |
|
|
|
8e475a3abe
|
add functionality to change grid size for layer tree
|
2025-08-09 08:04:22 +01:00 |
|
|
|
318ca4fdf1
|
begin coding layer tree so that we have toggleable layers
|
2025-08-09 07:48:49 +01:00 |
|
|
|
cb9e66f349
|
add functionality to resize window in move mode
|
2025-08-09 07:17:48 +01:00 |
|
|
|
fa2a5c878c
|
add ability to select cursor colour
|
2025-08-09 07:04:03 +01:00 |
|
|
|
7a3fc728f6
|
fix bugs moving image up/down in move mode
|
2025-08-09 00:22:25 +01:00 |
|
|
|
f46ca01d42
|
add ability to move from normal mode to move mode, and from move mode back to normal mode
|
2025-08-09 00:13:02 +01:00 |
|
|
|
50bdd31d59
|
progress with move mode
|
2025-08-08 23:56:24 +01:00 |
|
|
|
f1cd3fbf85
|
begin coding functionality to move squares
|
2025-08-08 23:39:29 +01:00 |
|
|
|
28593486ed
|
refactor command-parsing code for normal mode, so that non-character events (KEY_ESC, RESIZE_EVENT, WITH_SEARCH_LIST) are dealt with at the beginning, and that the remainder of the parsing code looks at the current string and the new character typed. This is safe because pattern matching on the other commands (KEY_ESC, RESIZE_EVENT, WITH_SEARCH_LIST) always calls the same functions.
|
2025-08-08 23:23:40 +01:00 |
|
|
|
3b8faf28e4
|
add d% motion for deleting a matching pair
|
2025-08-08 07:30:39 +01:00 |
|
|
|
f848d4f301
|
done implementing 'deleteInside' and 'deleteAroundd' commands
|
2025-08-07 23:33:40 +01:00 |
|
|
|
5236579cd5
|
extract some more common code (which was used in many delete functions) into its own function
|
2025-08-07 19:31:34 +01:00 |
|
|
|
0fd63fe82f
|
extract a function which has commonly used code
|
2025-08-07 19:17:47 +01:00 |
|
|
|
1bdf8e457b
|
implement 'deleteInside' motions
|
2025-08-07 19:12:01 +01:00 |
|
|
|
b6960f4c68
|
implemented 'diw' and 'diW' commands for deleting inside a word or WORD
|
2025-08-07 18:33:03 +01:00 |
|
|
|
c6f40ba9a0
|
remove unnecessary linebreak
|
2025-08-07 18:12:27 +01:00 |
|
|
|
14f97ecc57
|
done refactoring normal mode functions
|
2025-08-07 18:09:52 +01:00 |
|
|
|
f63e416e8f
|
move normal-mode deletion functions to their own file
|
2025-08-07 18:02:47 +01:00 |
|
|
|
85c0b09d26
|
put cursor-movement functions in their own file
|
2025-08-07 17:57:47 +01:00 |
|
|
|
bc188b9175
|
begin refactoring (split app-update into different files)
|
2025-08-07 17:41:10 +01:00 |
|
|
|
73affaa83a
|
instead of clearing the search list when we delete, build a small part of it by searching through a small part that is likely to be visible on the user's screen, which gets rid of flickering effect and makes it look like the search list is not rebuilt from scratch
|
2025-08-07 15:37:32 +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 |
|
|
|
30036177fb
|
remove calls to retrieve 'lineIdx' values which are never used
|
2025-08-07 14:42:40 +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 |
|
|
|
da2d2f1b55
|
add functionality to delete to/until prev match
|
2025-08-07 13:37:03 +01:00 |
|
|
|
5d6dbb0403
|
add functions to move to prev/next match
|
2025-08-07 13:22:10 +01:00 |
|
|
|
268fd47d7e
|
add functions to help find previous/next match in the search list
|
2025-08-07 13:12:04 +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 |
|
|
|
fab8cfcf20
|
change representation of search list to be a plain int vector and not a zipper (I am not using it for incremental purposes anyway so no point using a zipper)
|
2025-08-06 00:42:24 +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 |
|
|
|
faa55abd3d
|
remove some dead code
|
2025-08-05 23:58:54 +01:00 |
|
|
|
3de64ba428
|
receive bug fixes in brolib/src/line_gap.sml
|
2025-08-05 16:20:19 +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 |
|
|
|
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 |
|
|
|
7dbd37a65b
|
refactor text builder a bit (I should probably functorise buffer/lineGap iteration code out at some point)
|
2025-08-04 12:57:22 +01:00 |
|
|
|
a4ac1b9ae0
|
add function for testing search-list.sml
|
2025-08-04 12:08:35 +01:00 |
|
|
|
f2f93c5760
|
address bug in text-window.sml: if we want to call getStartLineAfter, then always pass in a positive number
|
2025-08-04 11:11:18 +01:00 |
|