From 495ba40eafe84f048e56b3d958a7727751f3aa99 Mon Sep 17 00:00:00 2001 From: Robert Walter Date: Thu, 5 May 2022 19:09:09 +0200 Subject: feat(languages): add odin language (#2399) --- runtime/queries/odin/highlights.scm | 141 ++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 runtime/queries/odin/highlights.scm (limited to 'runtime/queries/odin/highlights.scm') diff --git a/runtime/queries/odin/highlights.scm b/runtime/queries/odin/highlights.scm new file mode 100644 index 00000000..1d801ff1 --- /dev/null +++ b/runtime/queries/odin/highlights.scm @@ -0,0 +1,141 @@ +; Function calls + +(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 + +[ + (interpreted_string_literal) + (raw_string_literal) + (rune_literal) +] @string + +(escape_sequence) @constant.character.escape + +(int_literal) @constant.numeric.integer +(float_literal) @constant.numeric.float +(imaginary_literal) @constant.numeric + +[ + (true) + (false) +] @constant.builtin.boolean + +[ + (nil) + (undefined) +] @constant.builtin + +(comment) @comment.line -- cgit v1.2.3-70-g09d2