helix-mirror/runtime/queries/awk/highlights.scm
2022-08-24 11:58:15 -05:00

123 lines
1.3 KiB
Scheme

; tree-sitter-awk v0.5.1
; https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries
; Order matters
[
";"
","
"("
")"
"["
"]"
"{"
"}"
] @operator
(piped_io_statement [
"|"
"|&"
] @operator)
(redirected_io_statement [
">"
">>"
] @operator)
(update_exp [
"++"
"--"
] @operator)
(ternary_exp [
"?"
":"
] @operator)
(assignment_exp [
"="
"+="
"-="
"*="
"/="
"%="
"^="
] @operator)
(unary_exp [
"!"
"+"
"-"
] @operator)
(binary_exp [
"^"
"**"
"*"
"/"
"%"
"+"
"-"
"<"
">"
"<="
">="
"=="
"!="
"~"
"!~"
"in"
"&&"
"||"
] @operator)
[
"@include"
"@load"
"@namespace"
(pattern)
] @namespace
[
"function"
"func"
"print"
"printf"
"if"
"else"
"do"
"while"
"for"
"in"
"delete"
"return"
"exit"
"switch"
"case"
"default"
(break_statement)
(continue_statement)
(next_statement)
(nextfile_statement)
(getline_input)
(getline_file)
] @keyword
(comment) @comment
(regex) @string.regexp
(number) @constant.numeric
(string) @string
(func_call name: (identifier) @function)
(func_def name: (identifier) @function)
(field_ref (_) @variable)
[
(identifier)
(field_ref)
] @variable
(ns_qualified_name "::" @operator)
(ns_qualified_name (namespace) @namespace)