Commit Graph

37 Commits

Author SHA1 Message Date
561e45c556 extract reusable function which can be used when a search string is changed, in NORMAL_SEARCH_MODE 2025-09-01 02:18:23 +01:00
9bae969511 add function to build a Real32.real vector list for a single line from a string, in text-builder.sml. To be used for building search string area in NORMAL_SEARCH_MODE. 2025-09-01 01:24:56 +01:00
634bc6f577 add additional constant/unchanging parameters to env record, in text-builder.sml 2025-09-01 01:07:26 +01:00
95c6af3ec7 in 'TextBuilder.buildWithExisting' function, allow the user to pass a floatWindowWidth and floatWindowHeight which may differ from windowWidth and windowHeight parameters. This enables us to draw text only in a specified area. 2025-09-01 00:52:27 +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
648346e5ba fix regression caused by 'TextBuilder.advanceSearchPos' function. We were previously checking if the absIdx is in the search range and advancing based on whether that is true or false, but we should only advance if absIdx is after the search range 2025-08-31 01:33:20 +01:00
5ba82ea7e1 if we can fit at least 80 chars in a single line on the screen, centre all visible text on the screen 2025-08-31 01:15:29 +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
41153c32a1 create new rect which is adapted to new text, and use it in text-builder.sml 2025-08-18 02:39:56 +01:00
af15b97400 pull in new version of cozette-ascii library, and fix resulting compile errors (which all occurred in text-builder.sml) 2025-08-18 02:17:13 +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
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
c28dc429b7 address todo in text-builder.sml by adding prerequisite: always call SearchList.goToNum before calling TextBuilder.build 2024-11-25 04:37:47 +00:00
d6c59e140e replace text-builder.sml's 'buildCursor' function with a new 'Rect.lerp' function (which is in fcore/rect.sml) 2024-11-15 21:14:43 +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
c0c1a7c885 refactor app-update.sml to pass additional parameters to TextBuilder.build 2024-11-15 08:24:48 +00:00
35de4582e9 refactor TextBuilder and inner functions to handle highlighting searched characters 2024-11-15 08:13:32 +00:00
91688441cf refactor fcore/text-builder.sml to take non-changing parameters as records, for brevity 2024-11-15 06:43:14 +00:00
bff4c006ed have functionality for cursor to scroll down a line when cursor moves down one line working, but it only seems to work perfectly when there are no visual line breaks 2024-10-28 21:56:07 +00:00
4b1ee33954 begin moving text window when cursor goes off screen (currently, we only move the window when cursor goes backwards but this works fine and as expected) 2024-10-28 09:34:55 +00:00
19073cb56c improve code to move rightwards in cursor.sml (making it clearer with comments), and improve code to draw cursor at newline in text=builder.sml 2024-10-17 08:40:28 +01:00
0299a9e6b2 draw cursor at newline linebreaks (only \n though and not \r\n) 2024-10-17 06:25:43 +01:00
8fb362ba8b handle \r\n pair in 'viL' function 2024-10-17 04:03:45 +01:00
21652a5381 in TextBuilder, forgot to build cursor when cursorIdx is over space, so now we build cursor when cursorIdx is over space 2024-10-17 02:14:09 +01:00
6344dca6cb done fiddling with cursor; looks fine now 2024-10-09 12:42:07 +01:00
306d693877 have cursor drawn now, but it is not appropriate size for character so have to fix that next 2024-10-09 12:05:40 +01:00
5cc4357cc7 progress drawing cursor 2024-10-09 11:59:41 +01:00
2afc54abc5 additional preparation for drawing cursor (next, just need to send cursor vector) 2024-10-09 11:36:05 +01:00
9d7d00e8d1 add cursor buffer and cursor program to imperative shell 2024-10-09 11:22:39 +01:00
cfaa66bc0b begin preparation for drawing cursor 2024-10-09 10:53:00 +01:00
bfc5a3914c hardcode more pleasant (in my opinion) colour scheme for the moment 2024-10-09 01:23:26 +01:00
1ae15e5585 expand comment to reflect a bit of planning 2024-10-09 00:02:12 +01:00
6e4cc9acff a bit of refactoring 2024-10-08 08:53:43 +01:00
b95fc48252 scaffolding for concurrent ml 2024-10-06 09:32:56 +01:00
6766fd1485 a bit of scaffolding to prepare for adding resize callback + message types 2024-10-06 08:18:24 +01:00