put the key canonicalization in a seperate function. only chars now get stripped of Shift modifier
This commit is contained in:
parent
712f25c2b9
commit
68abc67ec6
1 changed files with 10 additions and 8 deletions
|
@ -547,11 +547,6 @@ impl Component for EditorView {
|
||||||
// clear status
|
// clear status
|
||||||
cx.editor.status_msg = None;
|
cx.editor.status_msg = None;
|
||||||
|
|
||||||
//canonicalize the key
|
|
||||||
if key.modifiers == KeyModifiers::SHIFT {
|
|
||||||
key.modifiers = KeyModifiers::NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
let (view, doc) = cx.editor.current();
|
let (view, doc) = cx.editor.current();
|
||||||
let mode = doc.mode();
|
let mode = doc.mode();
|
||||||
|
|
||||||
|
@ -570,7 +565,7 @@ impl Component for EditorView {
|
||||||
match mode {
|
match mode {
|
||||||
Mode::Insert => {
|
Mode::Insert => {
|
||||||
// record last_insert key
|
// record last_insert key
|
||||||
self.last_insert.1.push(key);
|
self.last_insert.1.push(canonicalize_key(&mut key));
|
||||||
|
|
||||||
// let completion swallow the event if necessary
|
// let completion swallow the event if necessary
|
||||||
let mut consumed = false;
|
let mut consumed = false;
|
||||||
|
@ -595,7 +590,7 @@ impl Component for EditorView {
|
||||||
|
|
||||||
// if completion didn't take the event, we pass it onto commands
|
// if completion didn't take the event, we pass it onto commands
|
||||||
if !consumed {
|
if !consumed {
|
||||||
self.insert_mode(&mut cxt, key);
|
self.insert_mode(&mut cxt, canonicalize_key(&mut key));
|
||||||
|
|
||||||
// lastly we recalculate completion
|
// lastly we recalculate completion
|
||||||
if let Some(completion) = &mut self.completion {
|
if let Some(completion) = &mut self.completion {
|
||||||
|
@ -606,7 +601,7 @@ impl Component for EditorView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mode => self.command_mode(mode, &mut cxt, key),
|
mode => self.command_mode(mode, &mut cxt, canonicalize_key(&mut key)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -695,3 +690,10 @@ impl Component for EditorView {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn canonicalize_key(key: &mut KeyEvent) -> KeyEvent {
|
||||||
|
if let KeyEvent { code: KeyCode::Char(_), modifiers: KeyModifiers::SHIFT } = key {
|
||||||
|
key.modifiers = KeyModifiers::NONE;
|
||||||
|
}
|
||||||
|
*key
|
||||||
|
}
|
Loading…
Reference in a new issue