diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2024-07-22 14:24:31 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2024-07-22 14:24:31 -0700 |
commit | 8eb9826aac4a38721c47bdf648f8697538438caa (patch) | |
tree | ff63a28e53a489875b1b357504f9ce7c46718efb /text.lua | |
parent | db2463b9d046419ce94005106e953ed55bc3b644 (diff) | |
parent | fab72a2902efe3271b8bf586a31c8c8ab8c7c1e8 (diff) | |
download | view.love-8eb9826aac4a38721c47bdf648f8697538438caa.tar.gz |
Merge lines.love
Diffstat (limited to 'text.lua')
-rw-r--r-- | text.lua | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/text.lua b/text.lua index 0d3f07b..dd5d50c 100644 --- a/text.lua +++ b/text.lua @@ -123,7 +123,7 @@ function Text.text_input(State, t) if App.mouse_down(1) then return end if App.any_modifier_down() then if App.key_down(t) then - -- The modifiers didn't change the key. Handle it in keychord_pressed. + -- The modifiers didn't change the key. Handle it in keychord_press. return else -- Key mutated by the keyboard layout. Continue below. @@ -149,17 +149,16 @@ end -- Don't handle any keys here that would trigger text_input above. function Text.keychord_press(State, chord) --? print('chord', chord, State.selection1.line, State.selection1.pos) - --== shortcuts that mutate text + --== shortcuts that mutate text (must schedule_save) if chord == 'return' then local before_line = State.cursor1.line local before = snapshot(State, before_line) Text.insert_return(State) - State.selection1 = {} if State.cursor_y > App.screen.height - State.line_height then Text.snap_cursor_to_bottom_of_screen(State, State.left, State.right) end - schedule_save(State) record_undo_event(State, {before=before, after=snapshot(State, before_line, State.cursor1.line)}) + schedule_save(State) elseif chord == 'tab' then local before = snapshot(State, State.cursor1.line) --? print(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos) @@ -169,8 +168,8 @@ function Text.keychord_press(State, chord) Text.snap_cursor_to_bottom_of_screen(State, State.left, State.right) --? print('=>', State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos) end - schedule_save(State) record_undo_event(State, {before=before, after=snapshot(State, State.cursor1.line)}) + schedule_save(State) elseif chord == 'backspace' then if State.selection1.line then Text.delete_selection(State, State.left, State.right) @@ -212,8 +211,8 @@ function Text.keychord_press(State, chord) end Text.clear_screen_line_cache(State, State.cursor1.line) assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)) - schedule_save(State) record_undo_event(State, {before=before, after=snapshot(State, State.cursor1.line)}) + schedule_save(State) elseif chord == 'delete' then if State.selection1.line then Text.delete_selection(State, State.left, State.right) @@ -244,8 +243,8 @@ function Text.keychord_press(State, chord) table.remove(State.line_cache, State.cursor1.line+1) end Text.clear_screen_line_cache(State, State.cursor1.line) - schedule_save(State) record_undo_event(State, {before=before, after=snapshot(State, State.cursor1.line)}) + schedule_save(State) --== shortcuts that move the cursor elseif chord == 'left' then Text.left(State) |