keymap: Allow upper-case keys in keybinds (#27813)
Reverts the error behavior introduced in #27558. Upper-case keys in keybindings no longer generate errors, instead they are transformed into `shift-{KEY}` e.g. `ctrl-N` becomes `ctrl-shift-n` The behavior introduced in #27558 where "special" keys such as function keys, `control`, `shift`, etc. Are parsed case-insensitively is preserved. Release Notes: - Improved how upper-case characters are handled in keybinds. "special" keys such as the function keys, `control`, `shift`, etc. are now parsed case-insensitively, so for example `F8`, `CTRL`, `SHIFT` are now acceptable alternatives to `f8`, `ctrl`, and `shift` when declaring keybindings. Additionally, upper-case (ascii) characters will now be converted explicitly to `shift` + the lowercase version of the character, to match the Vim behavior. NOTE: Release notes above should replace the release notes from #27558
This commit is contained in:
parent
8a212be0b1
commit
a1bef28da3
4 changed files with 11 additions and 43 deletions
|
@ -240,7 +240,7 @@ impl EditorTestContext {
|
|||
// unlike cx.simulate_keystrokes(), this does not run_until_parked
|
||||
// so you can use it to test detailed timing
|
||||
pub fn simulate_keystroke(&mut self, keystroke_text: &str) {
|
||||
let keystroke = Keystroke::parse_case_insensitive(keystroke_text).unwrap();
|
||||
let keystroke = Keystroke::parse(keystroke_text).unwrap();
|
||||
self.cx.dispatch_keystroke(self.window, keystroke);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue