From 44aa8226c4330bf1cf859c36a48803b7d71aa114 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 19 Nov 2022 00:11:39 -0800 Subject: [PATCH] ctrl+a: select entire buffer --- README.md | 1 + edit.lua | 5 ++++- source_edit.lua | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ba565f..8b800b2 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ While editing text: * `ctrl+z` to undo, `ctrl+y` to redo * `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom * `alt+right`/`alt+left` to jump to the next/previous word, respectively +* mouse drag or `shift` + movement to select text, `ctrl+a` to select all * `ctrl+e` to modify the sources For shortcuts while editing drawings, consult the online help. Either: diff --git a/edit.lua b/edit.lua index db276a7..562bb6e 100644 --- a/edit.lua +++ b/edit.lua @@ -301,7 +301,7 @@ function edit.keychord_pressed(State, chord, key) -- printable character created using shift key => delete selection -- (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-c' and chord ~= 'C-x' and chord ~= 'backspace' and backspace ~= 'delete' and not App.is_cursor_movement(chord) then + chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and backspace ~= 'delete' and not App.is_cursor_movement(chord) then Text.delete_selection(State, State.left, State.right) end if State.search_term then @@ -378,6 +378,9 @@ function edit.keychord_pressed(State, chord, key) schedule_save(State) end -- clipboard + elseif chord == 'C-a' then + State.selection1 = {line=1, pos=1} + State.cursor1 = {line=#State.lines, pos=utf8.len(State.lines[#State.lines].data)+1} elseif chord == 'C-c' then local s = Text.selection(State) if s then diff --git a/source_edit.lua b/source_edit.lua index 1d82596..ab2fa33 100644 --- a/source_edit.lua +++ b/source_edit.lua @@ -311,7 +311,7 @@ function edit.keychord_pressed(State, chord, key) -- printable character created using shift key => delete selection -- (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-c' and chord ~= 'C-x' and chord ~= 'backspace' and backspace ~= 'delete' and not App.is_cursor_movement(chord) then + chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and backspace ~= 'delete' and not App.is_cursor_movement(chord) then Text.delete_selection(State, State.left, State.right) end if State.search_term then @@ -417,6 +417,9 @@ function edit.keychord_pressed(State, chord, key) schedule_save(State) end -- clipboard + elseif chord == 'C-a' then + State.selection1 = {line=1, pos=1} + State.cursor1 = {line=#State.lines, pos=utf8.len(State.lines[#State.lines].data)+1, posB=nil} elseif chord == 'C-c' then local s = Text.selection(State) if s then