diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2024-06-11 06:58:07 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2024-06-11 07:02:46 -0700 |
commit | f2299cb422d0fc07a1b01f0c31f88e9ae5ab168f (patch) | |
tree | 1216103a49bdba04dbcad0f35f14ee3128e51a9c /source_select.lua | |
parent | 19615eade0106ad5a3a988b3f1f257367aceb7ec (diff) | |
download | lines.love-f2299cb422d0fc07a1b01f0c31f88e9ae5ab168f.tar.gz |
stop caching screen_bottom1
I'm not sure this is very useful. I had an initial idea to stop using screen_bottom1 in final_text_loc_on_screen, by starting from screen_top1 rather than screen_bottom1. But that changes the direction in which we scan for the text line in situations where there is somehow no text on screen (something that should never happen but I have zero confidence in that). Still, it doesn't seem like a bad thing to drastically reduce the lifetime of some derived state. Really what I need to do is throw this whole UX out and allow the cursor to be on a drawing as a whole. So up arrow or left arrow below a drawing would focus the whole drawing in a red border, and another up arrow and left arrow would skip the drawing and continue upward. I think that change to the UX will eliminate a whole class of special cases in the code.
Diffstat (limited to 'source_select.lua')
-rw-r--r-- | source_select.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source_select.lua b/source_select.lua index 6e21c7b..78d18db 100644 --- a/source_select.lua +++ b/source_select.lua @@ -79,7 +79,8 @@ function Text.mouse_pos(State) end end end - return State.screen_bottom1.line, Text.pos_at_end_of_screen_line(State, State.screen_bottom1) + local screen_bottom1 = Text.screen_bottom1(State) + return screen_bottom1.line, Text.pos_at_end_of_screen_line(State, screen_bottom1) end function Text.cut_selection(State) |