From 764adbdcf6f0a5615d1ddd3abb7ed7b9cf0f2d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= Date: Wed, 13 Apr 2022 15:17:44 +0900 Subject: [PATCH] fix: prompt: pass through unmapped keys regardless of modifiers Ctrl + Alt is apparently another common sequence for AltGr: https://devblogs.microsoft.com/oldnewthing/20040329-00/?p=40003 Fixes #595 Fixes #2080 --- helix-term/src/ui/prompt.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/helix-term/src/ui/prompt.rs b/helix-term/src/ui/prompt.rs index 4daa33e54..bd78ba632 100644 --- a/helix-term/src/ui/prompt.rs +++ b/helix-term/src/ui/prompt.rs @@ -2,7 +2,7 @@ use crate::{alt, ctrl, key, shift, ui}; use crossterm::event::Event; use helix_view::input::KeyEvent; -use helix_view::keyboard::{KeyCode, KeyModifiers}; +use helix_view::keyboard::KeyCode; use std::{borrow::Cow, ops::RangeFrom}; use tui::buffer::Buffer as Surface; use tui::widgets::{Block, Borders, Widget}; @@ -529,11 +529,11 @@ fn handle_event(&mut self, event: Event, cx: &mut Context) -> EventResult { (self.callback_fn)(cx, &self.line, PromptEvent::Update) } ctrl!('q') => self.exit_selection(), - // any char event that's not combined with control or mapped to any other combo + // any char event that's not mapped to any other combo KeyEvent { code: KeyCode::Char(c), - modifiers, - } if !modifiers.contains(KeyModifiers::CONTROL) => { + modifiers: _, + } => { self.insert_char(c, cx); (self.callback_fn)(cx, &self.line, PromptEvent::Update); }