aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/t32
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/t32
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/t32')
-rw-r--r--runtime/queries/t32/folds.scm1
-rw-r--r--runtime/queries/t32/highlights.scm223
-rw-r--r--runtime/queries/t32/indents.scm22
-rw-r--r--runtime/queries/t32/injections.scm2
-rw-r--r--runtime/queries/t32/locals.scm36
5 files changed, 284 insertions, 0 deletions
diff --git a/runtime/queries/t32/folds.scm b/runtime/queries/t32/folds.scm
new file mode 100644
index 000000000..fd7d23999
--- /dev/null
+++ b/runtime/queries/t32/folds.scm
@@ -0,0 +1 @@
+(block) @fold
diff --git a/runtime/queries/t32/highlights.scm b/runtime/queries/t32/highlights.scm
new file mode 100644
index 000000000..9211a49d2
--- /dev/null
+++ b/runtime/queries/t32/highlights.scm
@@ -0,0 +1,223 @@
+; Keywords, punctuation and operators
+[
+ "="
+ "^^"
+ "||"
+ "&&"
+ "+"
+ "-"
+ "*"
+ "/"
+ "%"
+ "|"
+ "^"
+ "=="
+ "!="
+ ">"
+ ">="
+ "<="
+ "<"
+ "<<"
+ ">>"
+ ".."
+ "--"
+ "++"
+ "+"
+ "-"
+ "~"
+ "!"
+ "&"
+ "->"
+ "*"
+ "-="
+ "+="
+ "*="
+ "/="
+ "%="
+ "|="
+ "&="
+ "^="
+ ">>="
+ "<<="
+ "--"
+ "++"
+] @operator
+
+[
+ "("
+ ")"
+ "{"
+ "}"
+ "["
+ "]"
+] @punctuation.bracket
+
+[
+ ","
+ "."
+] @punctuation.delimiter
+
+[
+ "enum"
+ "struct"
+ "union"
+] @keyword.type
+
+"sizeof" @keyword.operator
+
+[
+ "const"
+ "volatile"
+] @keyword.modifier
+
+; Operators in comma and conditional HLL expressions
+(hll_comma_expression
+ "," @operator)
+
+(hll_conditional_expression
+ [
+ "?"
+ ":"
+ ] @keyword.conditional.ternary)
+
+; Strings and others literal types
+(access_class) @constant.builtin
+
+[
+ (address)
+ (bitmask)
+ (file_handle)
+ (integer)
+ (hll_number_literal)
+] @number
+
+[
+ (float)
+ (frequency)
+ (percentage)
+ (time)
+] @number.float
+
+[
+ (string)
+ (hll_string_literal)
+] @string
+
+(hll_escape_sequence) @string.escape
+
+(path) @string.special.path
+
+(symbol) @string.special.symbol
+
+[
+ (character)
+ (hll_char_literal)
+] @character
+
+; Types in HLL expressions
+[
+ (hll_type_identifier)
+ (hll_type_descriptor)
+] @type
+
+(hll_type_qualifier) @keyword.modifier
+
+(hll_primitive_type) @type.builtin
+
+; HLL expressions
+(hll_call_expression
+ function: (identifier) @function.call)
+
+(hll_call_expression
+ function: (hll_field_expression
+ field: (hll_field_identifier) @function.call))
+
+; HLL variables
+(identifier) @variable
+
+(hll_field_identifier) @variable.member
+
+; Commands
+(command_expression
+ command: (identifier) @keyword)
+
+(macro_definition
+ command: (identifier) @keyword)
+
+(call_expression
+ function: (identifier) @function.builtin)
+
+; Returns
+((command_expression
+ command: (identifier) @keyword.return)
+ (#match? @keyword.return "^[eE][nN][dD]([dD][oO])?$"))
+
+((command_expression
+ command: (identifier) @keyword.return)
+ (#lua-match? @keyword.return "^[rR][eE][tT][uU][rR][nN]$"))
+
+; Subroutine calls
+(subroutine_call_expression
+ command: (identifier) @keyword
+ subroutine: (identifier) @function.call)
+
+; Variables, constants and labels
+(macro) @variable.builtin
+
+(trace32_hll_variable) @variable.builtin
+
+(argument_list
+ (identifier) @constant.builtin)
+
+((argument_list
+ (identifier) @constant.builtin)
+ (#lua-match? @constant.builtin "^[%%/][%l%u][%l%u%d.]*$"))
+
+((command_expression
+ command: (identifier) @keyword
+ arguments: (argument_list
+ .
+ (identifier) @label))
+ (#lua-match? @keyword "^[gG][oO][tT][oO]$"))
+
+(labeled_expression
+ label: (identifier) @label)
+
+(option_expression
+ (identifier) @constant.builtin)
+
+(format_expression
+ (identifier) @constant.builtin)
+
+; Subroutine blocks
+(subroutine_block
+ command: (identifier) @keyword.function
+ subroutine: (identifier) @function)
+
+(labeled_expression
+ label: (identifier) @function
+ (block))
+
+; Parameter declarations
+(parameter_declaration
+ command: (identifier) @keyword
+ (identifier)? @constant.builtin
+ macro: (macro) @variable.parameter)
+
+; Control flow
+(if_block
+ command: (identifier) @keyword.conditional)
+
+(elif_block
+ command: (identifier) @keyword.conditional)
+
+(else_block
+ command: (identifier) @keyword.conditional)
+
+(while_block
+ command: (identifier) @keyword.repeat)
+
+(repeat_block
+ command: (identifier) @keyword.repeat)
+
+(comment) @comment @spell
diff --git a/runtime/queries/t32/indents.scm b/runtime/queries/t32/indents.scm
new file mode 100644
index 000000000..01d5f3967
--- /dev/null
+++ b/runtime/queries/t32/indents.scm
@@ -0,0 +1,22 @@
+(block
+ ")" @indent.branch .) @indent.begin
+
+(if_block) @indent.begin
+
+(if_block
+ (block)) @indent.dedent
+
+(elif_block) @indent.branch
+
+(else_block) @indent.branch
+
+(else_block
+ (if_block) @indent.dedent)
+
+(while_block
+ (command_expression)) @indent.auto
+
+(repeat_block
+ (command_expression)) @indent.auto
+
+(comment) @indent.auto
diff --git a/runtime/queries/t32/injections.scm b/runtime/queries/t32/injections.scm
new file mode 100644
index 000000000..2f0e58eb6
--- /dev/null
+++ b/runtime/queries/t32/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))
diff --git a/runtime/queries/t32/locals.scm b/runtime/queries/t32/locals.scm
new file mode 100644
index 000000000..91bf7660e
--- /dev/null
+++ b/runtime/queries/t32/locals.scm
@@ -0,0 +1,36 @@
+(block) @local.scope
+
+; Parameter definitions
+(parameter_declaration
+ command: (identifier)
+ macro: (macro) @local.definition.parameter)
+
+; Variable definitions
+(macro_definition
+ command: (identifier)
+ macro: (macro) @local.definition.var)
+
+(command_expression
+ command: (identifier)
+ arguments: (argument_list
+ declarator: (trace32_hll_variable) @local.definition.var))
+
+; Function definitions
+(subroutine_block
+ command: (identifier)
+ subroutine: (identifier) @local.definition.function)
+
+(labeled_expression
+ label: (identifier) @local.definition.function
+ (block))
+
+; References
+((subroutine_call_expression
+ command: (identifier)
+ subroutine: (identifier) @local.reference)
+ (#set! reference.kind "function"))
+
+[
+ (macro)
+ (trace32_hll_variable)
+] @local.reference