diff options
author | ap29600 | 2023-04-27 14:32:21 +0000 |
---|---|---|
committer | GitHub | 2023-04-27 14:32:21 +0000 |
commit | 9cdc6b2e8a0193881297e15641cd801384cd8865 (patch) | |
tree | 2671ec29437a24f3a9f62ffcdf28f1b4d2fe7ecc /runtime/queries/odin | |
parent | 2836ea2ac40bd54ec1b00ffcd5927cdb4b7724d3 (diff) |
Change Odin grammar to `ap29600/tree-sitter-odin` (#6766)
* Change Odin grammar to `ap29600/tree-sitter-odin`
The previously adopted grammar, `MineBill/tree-sitter-odin`, is unmaintained and mentions my repository as an alternative source.
* update queries
* docgen
* fix queries
* Update runtime/queries/odin/highlights.scm
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* remove `ERROR` query for `odin`
* track the latest rev in `ap29600/tree-sitter-odin`
* runtime/queries/odin/highlights.scm: update rune highlight class
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
---------
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
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 + |