Add a "secondary" meta key to GPUI keystroke parsing (#26390)
"secondary" means "cmd" on macOS and "ctrl" on not macOS. Release Notes: - Added a "secondary" meta key to the zed keystroke parser, which maps to 'cmd' on macOS and 'ctrl' off of macOS
This commit is contained in:
parent
976fc3ee97
commit
30e86ac939
1 changed files with 9 additions and 1 deletions
|
@ -76,8 +76,9 @@ impl Keystroke {
|
|||
}
|
||||
|
||||
/// key syntax is:
|
||||
/// [ctrl-][alt-][shift-][cmd-][fn-]key[->key_char]
|
||||
/// [secondary-][ctrl-][alt-][shift-][cmd-][fn-]key[->key_char]
|
||||
/// key_char syntax is only used for generating test events,
|
||||
/// secondary means "cmd" on macOS and "ctrl" on other platforms
|
||||
/// when matching a key with an key_char set will be matched without it.
|
||||
pub fn parse(source: &str) -> std::result::Result<Self, InvalidKeystrokeError> {
|
||||
let mut control = false;
|
||||
|
@ -95,6 +96,13 @@ impl Keystroke {
|
|||
"alt" => alt = true,
|
||||
"shift" => shift = true,
|
||||
"fn" => function = true,
|
||||
"secondary" => {
|
||||
if cfg!(target_os = "macos") {
|
||||
platform = true
|
||||
} else {
|
||||
control = true
|
||||
};
|
||||
}
|
||||
"cmd" | "super" | "win" => platform = true,
|
||||
_ => {
|
||||
if let Some(next) = components.peek() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue