; comments (line_comment) @comment.line (block_comment) @comment.block ; parentheses [ "(" ")" ] @punctuation.bracket ; any declaration (list . (unquoted_item) @keyword (#match? @keyword "platform|def(alias|aliasenvcond|cfg|chords|chordsv2-experimental|fakekeys|layer|layermap|localkeys-(win|winiov2|wintercept|linux|macos)|overrides|seq|src|template|var|virtualkeys)")) ; named declarations - layers (list . ((unquoted_item) @_ (#eq? @_ "deflayer") . (unquoted_item) @namespace)) ; named declarations - layermaps (list . ((unquoted_item) @_ (#eq? @_ "deflayermap") . (list (unquoted_item) @namespace))) ; includes (list . (unquoted_item) @keyword.control.import (#eq? @keyword.control.import "include") . [ (quoted_item) (unquoted_item) ] @string.special.path) ; platform name (list . ((unquoted_item) @_ (#eq? @_ "platform") . (list (unquoted_item) @namespace))) ; functions (list (list . (unquoted_item) @function.builtin (_))) ; strings (quoted_item) @string ; aliases ((unquoted_item) @string.special.symbol ; @see https://github.com/postsolar/tree-sitter-kanata/issues/1 (#match? @string.special.symbol "\\V@\\.\\+")) ; variables ((unquoted_item) @variable (#match? @variable "\\$.+"))