From f93f4488f844df4a8f7ebe7a345e035431c6da1f Mon Sep 17 00:00:00 2001 From: "Khai Shern, Toh" <55418374+jamestoh-leos@users.noreply.github.com> Date: Wed, 15 Nov 2023 09:56:21 +0800 Subject: [PATCH] Add in 2 keybinds for copying and going to first line in output. Added ctrl+shift+space to copy text between 2 line range. Added ctrl+shift+y to jump to top of output. --- src/keys/reader/copyline.lua | 25 +++++++++++++++++++++++++ src/keys/reader/firstline.lua | 5 +++++ src/keys/reader/keys.json | 4 +++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/keys/reader/copyline.lua create mode 100644 src/keys/reader/firstline.lua diff --git a/src/keys/reader/copyline.lua b/src/keys/reader/copyline.lua new file mode 100644 index 0000000..83849b2 --- /dev/null +++ b/src/keys/reader/copyline.lua @@ -0,0 +1,25 @@ +if reader.copy ~= 1 then + reader.start_line = reader.line + reader.copy = 1 + reader.stop() + reader.sayline("selection start.") + + else + reader.end_line = reader.line + reader.copy = 0 + reader.stop() + reader.sayline("Selection coppied.") + + end + + if reader.copy == 0 then + line = '' + for i=reader.start_line, reader.end_line do + local tmpline = getLines(i, i + 1)[1] + line = line .. tmpline + if i ~= reader.end_line then + line = line .. "\n" + end + end + setClipboardText(line) + end \ No newline at end of file diff --git a/src/keys/reader/firstline.lua b/src/keys/reader/firstline.lua new file mode 100644 index 0000000..e503776 --- /dev/null +++ b/src/keys/reader/firstline.lua @@ -0,0 +1,5 @@ +reader.line = 0 +local line = getLines(reader.line, reader.line + 1)[1] +reader.say("Top", true) +reader.stop() +reader.sayline(line) diff --git a/src/keys/reader/keys.json b/src/keys/reader/keys.json index aa0f73a..5f8d8f3 100644 --- a/src/keys/reader/keys.json +++ b/src/keys/reader/keys.json @@ -3,5 +3,7 @@ {"name": "curline", "keys": "ctrl+shift+i"}, {"name": "nextline", "keys": "ctrl+shift+o"}, {"name": "lastline", "keys": "ctrl+shift+n"}, - {"name": "stopspeech", "keys": "ctrl+s"} + {"name": "stopspeech", "keys": "ctrl+s"}, + {"name": "firstline", "keys": "ctrl+shift+y"}, + {"name": "copyline", "keys": "ctrl+shift+space"} ]