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
|
@ -398,7 +398,7 @@ mod test {
|
|||
false
|
||||
),
|
||||
to_esc_str(
|
||||
&Keystroke::parse_case_insensitive(&format!("ctrl-{}", upper)).unwrap(),
|
||||
&Keystroke::parse(&format!("ctrl-{}", upper)).unwrap(),
|
||||
&mode,
|
||||
false
|
||||
),
|
||||
|
@ -415,7 +415,7 @@ mod test {
|
|||
for character in ascii_printable {
|
||||
assert_eq!(
|
||||
to_esc_str(
|
||||
&Keystroke::parse_case_insensitive(&format!("alt-{}", character)).unwrap(),
|
||||
&Keystroke::parse(&format!("alt-{}", character)).unwrap(),
|
||||
&TermMode::NONE,
|
||||
true
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue