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