use concurrency for rebuilding search list after deletion so we don't block main thread on very, very large files

This commit is contained in:
2025-08-07 12:20:57 +01:00
parent fab8cfcf20
commit 704854c80f
10 changed files with 220 additions and 137 deletions

View File

@@ -12,7 +12,7 @@ functor MakeMove(Fn: MOVE): MAKE_MOVE =
struct
fun helpMove (app: AppType.app_type, buffer, cursorIdx, count) =
if count = 0 then
Finish.buildTextAndClear (app, buffer, cursorIdx, #searchList app)
Finish.buildTextAndClear (app, buffer, cursorIdx, #searchList app, [])
else
(* move LineGap to cursorIdx, which is necessary for finding newCursorIdx *)
let
@@ -62,7 +62,7 @@ struct
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val cursorIdx = Fn.fMove (buffer, cursorIdx, count)
in
Finish.buildTextAndClear (app, buffer, cursorIdx, #searchList app)
Finish.buildTextAndClear (app, buffer, cursorIdx, #searchList app, [])
end
end