; Preproc [ (unique_id) (top_level_annotation_body) ] @keyword.directive ; Includes [ "import" "$import" "embed" "using" ] @keyword.import (import_path) @string.special.path ; Keywords "extends" @keyword [ "struct" "interface" "union" "enum" "annotation" "group" "namespace" ] @keyword.type ; Builtins "const" @keyword.modifier [ (primitive_type) "List" ] @type.builtin ; Typedefs (type_definition) @type.definition ; Labels (@number, @number!) (field_version) @label ; Methods [ (annotation_definition_identifier) (method_identifier) ] @function.method ; Fields (field_identifier) @variable.member ; Properties (property) @property ; Parameters [ (param_identifier) (return_identifier) ] @variable.parameter (annotation_target) @variable.parameter.builtin ; Constants [ (const_identifier) (local_const) (enum_member) ] @constant (void) @constant.builtin ; Types [ (enum_identifier) (extend_type) (type_identifier) ] @type ; Attributes [ (annotation_identifier) (attribute) ] @attribute ; Operators "=" @operator ; Literals [ (string) (concatenated_string) (block_text) (namespace) ] @string (namespace) @string.special (escape_sequence) @string.escape (data_string) @string.special (number) @number (float) @number.float (boolean) @boolean (data_hex) @string.special.symbol ; Punctuation [ "*" "$" ":" ] @punctuation.special [ "{" "}" ] @punctuation.bracket [ "(" ")" ] @punctuation.bracket [ "[" "]" ] @punctuation.bracket [ "." "," ";" "->" ] @punctuation.delimiter ; Comments (comment) @comment @spell