mirror of https://github.com/helix-editor/helix
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 #2080pull/2096/head
parent
4836bb38d3
commit
764adbdcf6
|
@ -2,7 +2,7 @@ use crate::compositor::{Component, Compositor, Context, EventResult};
|
||||||
use crate::{alt, ctrl, key, shift, ui};
|
use crate::{alt, ctrl, key, shift, ui};
|
||||||
use crossterm::event::Event;
|
use crossterm::event::Event;
|
||||||
use helix_view::input::KeyEvent;
|
use helix_view::input::KeyEvent;
|
||||||
use helix_view::keyboard::{KeyCode, KeyModifiers};
|
use helix_view::keyboard::KeyCode;
|
||||||
use std::{borrow::Cow, ops::RangeFrom};
|
use std::{borrow::Cow, ops::RangeFrom};
|
||||||
use tui::buffer::Buffer as Surface;
|
use tui::buffer::Buffer as Surface;
|
||||||
use tui::widgets::{Block, Borders, Widget};
|
use tui::widgets::{Block, Borders, Widget};
|
||||||
|
@ -529,11 +529,11 @@ impl Component for Prompt {
|
||||||
(self.callback_fn)(cx, &self.line, PromptEvent::Update)
|
(self.callback_fn)(cx, &self.line, PromptEvent::Update)
|
||||||
}
|
}
|
||||||
ctrl!('q') => self.exit_selection(),
|
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 {
|
KeyEvent {
|
||||||
code: KeyCode::Char(c),
|
code: KeyCode::Char(c),
|
||||||
modifiers,
|
modifiers: _,
|
||||||
} if !modifiers.contains(KeyModifiers::CONTROL) => {
|
} => {
|
||||||
self.insert_char(c, cx);
|
self.insert_char(c, cx);
|
||||||
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
|
(self.callback_fn)(cx, &self.line, PromptEvent::Update);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue