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:
|
/// 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,
|
/// 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.
|
/// when matching a key with an key_char set will be matched without it.
|
||||||
pub fn parse(source: &str) -> std::result::Result<Self, InvalidKeystrokeError> {
|
pub fn parse(source: &str) -> std::result::Result<Self, InvalidKeystrokeError> {
|
||||||
let mut control = false;
|
let mut control = false;
|
||||||
|
@ -95,6 +96,13 @@ impl Keystroke {
|
||||||
"alt" => alt = true,
|
"alt" => alt = true,
|
||||||
"shift" => shift = true,
|
"shift" => shift = true,
|
||||||
"fn" => function = true,
|
"fn" => function = true,
|
||||||
|
"secondary" => {
|
||||||
|
if cfg!(target_os = "macos") {
|
||||||
|
platform = true
|
||||||
|
} else {
|
||||||
|
control = true
|
||||||
|
};
|
||||||
|
}
|
||||||
"cmd" | "super" | "win" => platform = true,
|
"cmd" | "super" | "win" => platform = true,
|
||||||
_ => {
|
_ => {
|
||||||
if let Some(next) = components.peek() {
|
if let Some(next) = components.peek() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue