aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
authorlesleyrs2022-11-29 22:31:18 +0000
committerBlaž Hrastnik2023-02-28 03:35:52 +0000
commit8dab8a0a039fe1f3dd98fc62ac97d2f1c089793a (patch)
tree0db57f8995015c0b1ddda3ad10b037742ea1e5cb /helix-term/src
parenta066815833b322233dc11aeae38679bc8466ec56 (diff)
Add shift-backspace keybind alias for backspace (#4937)
When the Kitty Keyboard Protocol is enabled, S-backspace is distinguished from backspace with no modifiers. This is awkward when typing because it's very easy to accidentally hold shift and press backspace temporarily when typing capital letters. Kakoune (which is also a Kitty Keyboard Protocol application) treats S-backspace as backspace too: https://github.com/mawww/kakoune/blob/3150e9b3cd8e61d9bc68245d67822614d4376cf4/src/input_handler.cc#L1275
Diffstat (limited to 'helix-term/src')
-rw-r--r--helix-term/src/keymap/default.rs2
-rw-r--r--helix-term/src/ui/prompt.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/helix-term/src/keymap/default.rs b/helix-term/src/keymap/default.rs
index 01184f80..7425c815 100644
--- a/helix-term/src/keymap/default.rs
+++ b/helix-term/src/keymap/default.rs
@@ -363,7 +363,7 @@ pub fn default() -> HashMap<Mode, Keymap> {
"A-d" | "A-del" => delete_word_forward,
"C-u" => kill_to_line_start,
"C-k" => kill_to_line_end,
- "C-h" | "backspace" => delete_char_backward,
+ "C-h" | "backspace" | "S-backspace" => delete_char_backward,
"C-d" | "del" => delete_char_forward,
"C-j" | "ret" => insert_newline,
"tab" => insert_tab,
diff --git a/helix-term/src/ui/prompt.rs b/helix-term/src/ui/prompt.rs
index f438231f..35ae8c2a 100644
--- a/helix-term/src/ui/prompt.rs
+++ b/helix-term/src/ui/prompt.rs
@@ -516,7 +516,7 @@ impl Component for Prompt {
alt!('d') | alt!(Delete) | ctrl!(Delete) => self.delete_word_forwards(cx.editor),
ctrl!('k') => self.kill_to_end_of_line(cx.editor),
ctrl!('u') => self.kill_to_start_of_line(cx.editor),
- ctrl!('h') | key!(Backspace) => {
+ ctrl!('h') | key!(Backspace) | shift!(Backspace) => {
self.delete_char_backwards(cx.editor);
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
}