Skip to content

Commit

Permalink
Special-case shift-tab -> backtab in KeyEvent conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
Omnikar committed Dec 8, 2021
1 parent b48269e commit 7e35a9e
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions helix-view/src/input.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,9 237,18 @@ impl From<crossterm::event::KeyEvent> for KeyEvent {
#[cfg(feature = "term")]
impl From<KeyEvent> for crossterm::event::KeyEvent {
fn from(KeyEvent { code, modifiers }: KeyEvent) -> Self {
crossterm::event::KeyEvent {
code: code.into(),
modifiers: modifiers.into(),
if code == KeyCode::Tab && modifiers.contains(KeyModifiers::SHIFT) {
let mut modifiers = modifiers;
modifiers.remove(KeyModifiers::SHIFT);
crossterm::event::KeyEvent {
code: crossterm::event::KeyCode::BackTab,
modifiers: modifiers.into(),
}
} else {
crossterm::event::KeyEvent {
code: code.into(),
modifiers: modifiers.into(),
}
}
}
}
Expand Down

0 comments on commit 7e35a9e

Please sign in to comment.