diff options
Diffstat (limited to 'runtime/queries/odin')
-rw-r--r-- | runtime/queries/odin/highlights.scm | 151 | ||||
-rw-r--r-- | runtime/queries/odin/indents.scm | 16 |
2 files changed, 34 insertions, 133 deletions
diff --git a/runtime/queries/odin/highlights.scm b/runtime/queries/odin/highlights.scm index 1d801ff1..d474bf3a 100644 --- a/runtime/queries/odin/highlights.scm +++ b/runtime/queries/odin/highlights.scm @@ -1,141 +1,26 @@ -; Function calls +(keyword) @keyword +(operator) @operator -(call_expression - function: (identifier) @function) - -(call_expression - function: (selector_expression - field: (field_identifier) @function)) - - -; ; Function definitions - -(function_declaration - name: (identifier) @function) - -(proc_group - (identifier) @function) - -; ; Identifiers - -(type_identifier) @type -(field_identifier) @variable.other.member -(identifier) @variable - -(const_declaration - (identifier) @constant) -(const_declaration_with_type - (identifier) @constant) - -"any" @type - -(directive_identifier) @constant - -; ; Operators - -[ - "?" - "-" - "-=" - ":=" - "!" - "!=" - "*" - "*" - "*=" - "/" - "/=" - "&" - "&&" - "&=" - "%" - "%=" - "^" - "+" - "+=" - "<-" - "<" - "<<" - "<<=" - "<=" - "=" - "==" - ">" - ">=" - ">>" - ">>=" - "|" - "|=" - "||" - "~" - ".." - "..<" - "..=" - "::" -] @operator - -; ; Keywords - -[ - ; "asm" - "auto_cast" - ; "bit_set" - "cast" - ; "context" - ; "or_else" - ; "or_return" - "in" - ; "not_in" - "distinct" - "foreign" - "transmute" - ; "typeid" - - "break" - "case" - "continue" - "defer" - "else" - "using" - "when" - "where" - "fallthrough" - "for" - "proc" - "if" - "import" - "map" - "package" - "return" - "struct" - "union" - "enum" - "switch" - "dynamic" -] @keyword - -; ; Literals +(int_literal) @constant.numeric.integer +(float_literal) @constant.numeric.float +(rune_literal) @constant.character +(bool_literal) @constant.builtin.boolean +(nil) @constant.builtin -[ - (interpreted_string_literal) - (raw_string_literal) - (rune_literal) -] @string +(type_identifier) @type +(package_identifier) @namespace +(label_identifier) @label +(interpreted_string_literal) @string +(raw_string_literal) @string (escape_sequence) @constant.character.escape -(int_literal) @constant.numeric.integer -(float_literal) @constant.numeric.float -(imaginary_literal) @constant.numeric +(comment) @comment +(const_identifier) @constant -[ - (true) - (false) -] @constant.builtin.boolean -[ - (nil) - (undefined) -] @constant.builtin +(compiler_directive) @keyword.directive +(calling_convention) @string.special.symbol -(comment) @comment.line +(identifier) @variable +(pragma_identifier) @keyword.directive diff --git a/runtime/queries/odin/indents.scm b/runtime/queries/odin/indents.scm new file mode 100644 index 00000000..a3b90a38 --- /dev/null +++ b/runtime/queries/odin/indents.scm @@ -0,0 +1,16 @@ +[ + (foreign_block) + (block) + (compound_literal) + (proc_call) + (assignment_statement) + (const_declaration) + (var_declaration) + (switch_statement) +] @indent + +[ + ")" + "}" +] @outdent + |