diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/queries/awk/highlights.scm | 122 | ||||
-rw-r--r-- | runtime/queries/awk/injections.scm | 2 | ||||
-rw-r--r-- | runtime/queries/awk/textobjects.scm | 10 | ||||
-rw-r--r-- | runtime/queries/bash/injections.scm | 6 |
4 files changed, 140 insertions, 0 deletions
diff --git a/runtime/queries/awk/highlights.scm b/runtime/queries/awk/highlights.scm new file mode 100644 index 00000000..34d660ad --- /dev/null +++ b/runtime/queries/awk/highlights.scm @@ -0,0 +1,122 @@ +; 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) diff --git a/runtime/queries/awk/injections.scm b/runtime/queries/awk/injections.scm new file mode 100644 index 00000000..321c90ad --- /dev/null +++ b/runtime/queries/awk/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/runtime/queries/awk/textobjects.scm b/runtime/queries/awk/textobjects.scm new file mode 100644 index 00000000..467a8982 --- /dev/null +++ b/runtime/queries/awk/textobjects.scm @@ -0,0 +1,10 @@ + +(func_def name: (identifier) (block) @function.inside) @function.around + +(param_list (_) @parameter.inside) @parameter.around + +(args (_) @parameter.inside) @parameter.around + +(comment) @comment.inside + +(comment)+ @comment.around diff --git a/runtime/queries/bash/injections.scm b/runtime/queries/bash/injections.scm index 321c90ad..0fddb10f 100644 --- a/runtime/queries/bash/injections.scm +++ b/runtime/queries/bash/injections.scm @@ -1,2 +1,8 @@ ((comment) @injection.content (#set! injection.language "comment")) + +(command + name: (command_name (word) @_command) + argument: (raw_string) @injection.content + (#match? @_command "^[gnm]?awk$") + (#set! injection.language "awk"))
\ No newline at end of file |