add function to get the appropriate scroll column

This commit is contained in:
2025-09-11 16:17:56 +01:00
parent e85ac5e806
commit 77439acef6
4 changed files with 30 additions and 1 deletions

22
fcore/text-scroll.sml Normal file
View File

@@ -0,0 +1,22 @@
structure TextScroll =
struct
structure TC = TextConstants
(* Preqreuisite: move buffer to cursorIdx *)
fun getScrollColumn (buffer, cursorIdx, windowWidth) =
let
val startOfLine = Cursor.vi0 (buffer, cursorIdx)
val columnDifference = cursorIdx - startOfLine
in
if columnDifference = 0 then
0
else
let
val howManyColumnsCanWeFit =
if windowWidth >= TC.textLineWidth then TC.textLineCount
else windowWidth div TC.xSpace
in
columnDifference mod howManyColumnsCanWeFit
end
end
end