From f98cdd14fd876f57a8dc753316fc27994242828f Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 31 Aug 2024 18:59:23 -0700 Subject: [PATCH] explicitly state when operations manage undo --- edit.lua | 4 ++-- select.lua | 6 +++--- source_edit.lua | 4 ++-- source_select.lua | 6 +++--- source_text.lua | 4 ++-- text.lua | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/edit.lua b/edit.lua index 9a223bf..f65486c 100644 --- a/edit.lua +++ b/edit.lua @@ -386,7 +386,7 @@ function edit.keychord_press(State, chord, key) -- (we're not creating any ctrl-shift- or alt-shift- combinations using regular/printable keys) (not App.shift_down() or utf8.len(key) == 1) and chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) end if State.search_term then if chord == 'escape' then @@ -467,7 +467,7 @@ function edit.keychord_press(State, chord, key) App.set_clipboard(s) end elseif chord == 'C-x' then - local s = Text.cut_selection(State, State.left, State.right) + local s = Text.cut_selection_and_record_undo_event(State) if s then App.set_clipboard(s) end diff --git a/select.lua b/select.lua index 7e48274..6e16bd4 100644 --- a/select.lua +++ b/select.lua @@ -81,14 +81,14 @@ function Text.mouse_pos(State) return screen_bottom1.line, Text.pos_at_end_of_screen_line(State, screen_bottom1) end -function Text.cut_selection(State) +function Text.cut_selection_and_record_undo_event(State) if State.selection1.line == nil then return end local result = Text.selection(State) - Text.delete_selection(State) + Text.delete_selection_and_record_undo_event(State) return result end -function Text.delete_selection(State) +function Text.delete_selection_and_record_undo_event(State) if State.selection1.line == nil then return end local minl,maxl = minmax(State.selection1.line, State.cursor1.line) local before = snapshot(State, minl, maxl) diff --git a/source_edit.lua b/source_edit.lua index f92ca0f..2dca05d 100644 --- a/source_edit.lua +++ b/source_edit.lua @@ -392,7 +392,7 @@ function edit.keychord_press(State, chord, key) -- (we're not creating any ctrl-shift- or alt-shift- combinations using regular/printable keys) (not App.shift_down() or utf8.len(key) == 1) and chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) end if State.search_term then if chord == 'escape' then @@ -470,7 +470,7 @@ function edit.keychord_press(State, chord, key) App.set_clipboard(s) end elseif chord == 'C-x' then - local s = Text.cut_selection(State, State.left, State.right) + local s = Text.cut_selection_and_record_undo_event(State) if s then App.set_clipboard(s) end diff --git a/source_select.lua b/source_select.lua index b67dd16..a223b80 100644 --- a/source_select.lua +++ b/source_select.lua @@ -83,14 +83,14 @@ function Text.mouse_pos(State) return screen_bottom1.line, Text.pos_at_end_of_screen_line(State, screen_bottom1) end -function Text.cut_selection(State) +function Text.cut_selection_and_record_undo_event(State) if State.selection1.line == nil then return end local result = Text.selection(State) - Text.delete_selection(State) + Text.delete_selection_and_record_undo_event(State) return result end -function Text.delete_selection(State) +function Text.delete_selection_and_record_undo_event(State) if State.selection1.line == nil then return end local minl,maxl = minmax(State.selection1.line, State.cursor1.line) local before = snapshot(State, minl, maxl) diff --git a/source_text.lua b/source_text.lua index 76e9045..9125cb0 100644 --- a/source_text.lua +++ b/source_text.lua @@ -248,7 +248,7 @@ function Text.keychord_press(State, chord) schedule_save(State) elseif chord == 'backspace' then if State.selection1.line then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) schedule_save(State) return end @@ -296,7 +296,7 @@ function Text.keychord_press(State, chord) schedule_save(State) elseif chord == 'delete' then if State.selection1.line then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) schedule_save(State) return end diff --git a/text.lua b/text.lua index ac07903..14eb4b1 100644 --- a/text.lua +++ b/text.lua @@ -174,7 +174,7 @@ function Text.keychord_press(State, chord) schedule_save(State) elseif chord == 'backspace' then if State.selection1.line then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) schedule_save(State) return end @@ -222,7 +222,7 @@ function Text.keychord_press(State, chord) schedule_save(State) elseif chord == 'delete' then if State.selection1.line then - Text.delete_selection(State, State.left, State.right) + Text.delete_selection_and_record_undo_event(State) schedule_save(State) return end -- 2.11.4.GIT