From 4a4b1deca1ce964b6c320001f53efa00846084ce Mon Sep 17 00:00:00 2001
From: lesleyrs <19632758+lesleyrs@users.noreply.github.com>
Date: Tue, 29 Nov 2022 23:31:18 +0100
Subject: [PATCH] Add shift-backspace keybind alias for backspace (#4937)

---
 book/src/keymap.md               | 4 ++--
 helix-term/src/keymap/default.rs | 2 +-
 helix-term/src/ui/prompt.rs      | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/book/src/keymap.md b/book/src/keymap.md
index 6523b09fb88c..189d9d72c2bc 100644
--- a/book/src/keymap.md
+++ b/book/src/keymap.md
@@ -342,7 +342,7 @@ experience.
 | `Alt-d`, `Alt-Delete`                       | Delete next word            | `delete_word_forward`    |
 | `Ctrl-u`                                    | Delete to start of line     | `kill_to_line_start`     |
 | `Ctrl-k`                                    | Delete to end of line       | `kill_to_line_end`       |
-| `Ctrl-h`, `Backspace`                       | Delete previous char        | `delete_char_backward`   |
+| `Ctrl-h`, `Backspace`, `Shift-Backspace`    | Delete previous char        | `delete_char_backward`   |
 | `Ctrl-d`, `Delete`                          | Delete next char            | `delete_char_forward`    |
 | `Ctrl-j`, `Enter`                           | Insert new line             | `insert_newline`         |
 
@@ -423,7 +423,7 @@ Keys to use within prompt, Remapping currently not supported.
 | `Alt-d`, `Alt-Delete`, `Ctrl-Delete`        | Delete next word                                                        |
 | `Ctrl-u`                                    | Delete to start of line                                                 |
 | `Ctrl-k`                                    | Delete to end of line                                                   |
-| `Backspace`, `Ctrl-h`                       | Delete previous char                                                    |
+| `Backspace`, `Ctrl-h`, `Shift-Backspace`    | Delete previous char                                                    |
 | `Delete`, `Ctrl-d`                          | Delete next char                                                        |
 | `Ctrl-s`                                    | Insert a word under doc cursor, may be changed to Ctrl-r Ctrl-w later   |
 | `Ctrl-p`, `Up`                              | Select previous history                                                 |
diff --git a/helix-term/src/keymap/default.rs b/helix-term/src/keymap/default.rs
index c0d17a87e065..1957bec86407 100644
--- a/helix-term/src/keymap/default.rs
+++ b/helix-term/src/keymap/default.rs
@@ -351,7 +351,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 b19b9a9fce90..b0d7a0c55027 100644
--- a/helix-term/src/ui/prompt.rs
+++ b/helix-term/src/ui/prompt.rs
@@ -504,7 +504,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);
             }