; Brackets and operators [ "(" ")" "[" "]" "{" "}" ] @punctuation.bracket [ "," "." ":" ] @punctuation.delimiter [ "!=" "%" "%=" "&" "&=" "*" "**" "**=" "*=" "+" "+=" "-" "-=" "/" "/=" "<" "<<" "<<=" "<=" "<=" "==" ">" ">=" ">=" ">>" ">>=" ">>>" ">>>=" "^" "^=" "|" "|=" ] @operator ; Keywords [ "as" "for" "impl" "let" "mut" "ref" "uni" "move" "recover" ] @keyword "fn" @keyword.function "import" @keyword.control.import [ "and" "or" ] @keyword.operator [ "class" "trait" ] @keyword.storage.type [ "extern" (modifier) (visibility) ] @keyword.storage.modifier [ "loop" "while" (break) (next) ] @keyword.control.repeat "return" @keyword.control.return [ "throw" "try" ] @keyword.control.exception [ "case" "else" "if" "match" ] @keyword.control.conditional ; Comments (line_comment) @comment.line ; Literals (self) @variable.builtin (nil) @constant.builtin [ (true) (false) ] @constant.builtin.boolean (integer) @constant.numeric.integer (float) @constant.numeric.float (string) @string (escape_sequence) @constant.character.escape (interpolation "${" @punctuation.special "}" @punctuation.special) (constant) @constant ; Patterns (integer_pattern) @constant.numeric.integer (string_pattern) @string (constant_pattern) @constant ; Types (generic_type name: _ @type) (type) @type ; Imports (extern_import path: _ @string) ; Classes (class name: _ @type) (define_field name: _ @variable.other.member) ; Traits (trait name: _ @type) ; Implementations (implement_trait class: _ @type) (reopen_class name: _ @type) (bound name: _ @type) ; Methods (method name: _ @function) (external_function name: _ @function) (argument name: _ @variable.parameter) (named_argument name: _ @variable.parameter) (call name: _ @function) (field) @variable.other.member ; Identifiers/variable references ((identifier) @function (#is-not? local)) (identifier) @variable