diff --git a/kls/src/lib.rs b/kls/src/lib.rs index 85a72b4..3327083 100644 --- a/kls/src/lib.rs +++ b/kls/src/lib.rs @@ -45,6 +45,7 @@ impl Kanata { kanata_parser::keys::Platform::Win } DefLocalKeysVariant::Linux => kanata_parser::keys::Platform::Linux, + DefLocalKeysVariant::MacOS => kanata_parser::keys::Platform::Macos, DefLocalKeysVariant::NotSet => unreachable!(), }; Self { @@ -170,6 +171,8 @@ enum DefLocalKeysVariant { Wintercept, #[serde(rename = "deflocalkeys-linux")] Linux, + #[serde(rename = "deflocalkeys-macos")] + MacOS, } impl Display for DefLocalKeysVariant { @@ -179,6 +182,7 @@ impl Display for DefLocalKeysVariant { DefLocalKeysVariant::Win => f.write_str("deflocalkeys-win"), DefLocalKeysVariant::Wintercept => f.write_str("deflocalkeys-wintercept"), DefLocalKeysVariant::Linux => f.write_str("deflocalkeys-linux"), + DefLocalKeysVariant::MacOS => f.write_str("deflocalkeys-macos"), } } } diff --git a/package.json b/package.json index 34249fd..9d928c6 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,8 @@ "enum": [ "deflocalkeys-win", "deflocalkeys-wintercept", - "deflocalkeys-linux" + "deflocalkeys-linux", + "deflocalkeys-macos" ], "default": "not-set", "markdownDescription": "Select which localkeys variant to use." diff --git a/syntaxes/kanata.tmLanguage.json b/syntaxes/kanata.tmLanguage.json index 45657c1..82a3b4e 100644 --- a/syntaxes/kanata.tmLanguage.json +++ b/syntaxes/kanata.tmLanguage.json @@ -20,7 +20,7 @@ }, { "_description": "top-level blocks", - "match": "(?:\\(\\s*)(defcfg|defsrc|defalias|deflayer|defvar|deffakekeys|defseq|defchords|defaliasenvcond|defoverrides|deflocalkeys-linux|deflocalkeys-win|deflocalkeys-wintercept|include)(?=\\s|[()])", + "match": "(?:\\(\\s*)(defcfg|defsrc|defalias|deflayer|defvar|deffakekeys|defseq|defchords|defaliasenvcond|defoverrides|deflocalkeys-linux|deflocalkeys-win|deflocalkeys-wintercept|deflocalkeys-macos|include)(?=\\s|[()])", "captures": { "1": { "name": "keyword.control.kanata" @@ -29,7 +29,7 @@ }, { "_description": "defcfg options", - "match": "(?:\\s|[()])(sequence-timeout|sequence-input-mode|linux-dev|linux-dev-names-include|linux-dev-names-exclude|linux-unicode-u-code|linux-unicode-termination|linux-x11-repeat-delay-rate|windows-altgr|windows-interception-mouse-hwid|process-unmapped-keys|danger-enable-cmd|sequence-backtrack-modcancel|log-layer-changes|delegate-to-first-layer|linux-continue-if-no-devs-found|movemouse-inherit-accel-state|movemouse-smooth-diagonals|dynamic-macro-max-presses)(?=\\s|[()])", + "match": "(?:\\s|[()])(sequence-timeout|sequence-input-mode|linux-dev|linux-dev-names-include|linux-dev-names-exclude|linux-unicode-u-code|linux-unicode-termination|linux-x11-repeat-delay-rate|windows-altgr|windows-interception-mouse-hwid|macos-dev-names-include|process-unmapped-keys|danger-enable-cmd|sequence-backtrack-modcancel|log-layer-changes|delegate-to-first-layer|linux-continue-if-no-devs-found|movemouse-inherit-accel-state|movemouse-smooth-diagonals|dynamic-macro-max-presses)(?=\\s|[()])", "captures": { "1": { "name": "constant.language.kanata"