; Waltzing Template Highlights ; Tree-sitter query file - order matters for precedence ; ==================== ; COMMENTS (highest priority - must come first) ; ==================== (template_comment) @comment (html_comment) @comment (comment_content) @comment (html_comment_content) @comment ; ==================== ; KEYWORDS ; ==================== ; Template keywords "@use" @keyword.import "@import" @keyword.import "@struct" @keyword.type "@enum" @keyword.type "@func" @keyword.function "@if" @keyword.conditional "@for" @keyword.repeat "@match" @keyword.conditional "@break" @keyword.control "@continue" @keyword.control ; Control flow keywords "else" @keyword "if" @keyword "let" @keyword "in" @keyword "as" @keyword "mut" @keyword "safe" @keyword ; ==================== ; DEFINITIONS ; ==================== ; Struct definitions (struct_definition (identifier) @type.definition) (struct_field (identifier) @property) ; Enum definitions (enum_definition (identifier) @type.definition) (enum_variant (identifier) @constructor) ; Function definitions (function_definition (identifier) @function.definition) (parameter (identifier) @variable.parameter) ; ==================== ; FUNCTION TAGS ; ==================== (function_path) @function "<@" @tag.delimiter "" @operator "=" @operator ".." @operator ; ==================== ; PUNCTUATION ; ==================== "{" @punctuation.bracket "}" @punctuation.bracket "(" @punctuation.bracket ")" @punctuation.bracket "[" @punctuation.bracket "]" @punctuation.bracket "," @punctuation.delimiter ":" @punctuation.delimiter ";" @punctuation.delimiter "." @punctuation.delimiter ; ==================== ; PATTERNS ; ==================== (wildcard_pattern) @variable.builtin (identifier_pattern (identifier) @variable) (struct_pattern (rust_path) @type) (field_pattern (identifier) @property) ; ==================== ; ATTRIBUTES ; ==================== (attribute_list) @attribute (attribute (identifier) @attribute) ; ==================== ; ESCAPE ; ==================== (escape_at) @string.escape ; ==================== ; EMBEDDED LANGUAGES ; ==================== (embedded_language) @embedded (language_name) @label ; ==================== ; TEXT ; ==================== (text_content) @none ; ==================== ; FALLBACK (lowest priority - must come last) ; ==================== (rust_path) @module (identifier) @variable