aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/odin
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/odin')
-rw-r--r--runtime/queries/odin/highlights.scm151
-rw-r--r--runtime/queries/odin/indents.scm16
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
+