feat(t32): initial support

This commit is contained in:
xasc 2022-11-06 17:44:50 +01:00 committed by Stephan Seitz
parent 51df4212e7
commit 2d48cbc831
10 changed files with 371 additions and 0 deletions

1
queries/t32/folds.scm Normal file
View file

@ -0,0 +1 @@
(block) @fold

141
queries/t32/highlights.scm Normal file
View file

@ -0,0 +1,141 @@
[
"="
"^^"
"||"
"&&"
"+"
"-"
"*"
"/"
"%"
"|"
"^"
"=="
"!="
">"
">="
"<="
"<"
"<<"
">>"
".."
"--"
"++"
"+"
"-"
"~"
"!"
"&"
"->"
"*"
] @operator
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
[
","
"."
";"
] @punctuation.delimiter
[
(access_class)
(address)
(bitmask)
(file_handle)
(frequency)
(integer)
(percentage)
(time)
] @number
(float) @float
(string) @string
(path) @string.special
(symbol) @symbol
(character) @character
; Commands
(command_expression
command: (identifier) @keyword)
(macro_definition
command: (identifier) @keyword)
; Returns
(
(command_expression
command: (identifier) @keyword.return)
(#match? @keyword.return "^[eE][nN][dD]([dD][oO])?$")
)
(
(command_expression
command: (identifier) @keyword.return)
(#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
(internal_c_variable) @variable.builtin
(argument_list
(identifier) @constant)
(
(argument_list (identifier) @constant.builtin)
(#match? @constant.builtin "^[%/][a-zA-Z][a-zA-Z0-9.]*$")
)
(
(command_expression
command: (identifier) @keyword
arguments: (argument_list . (identifier) @label))
(#match? @keyword "^[gG][oO][tT][oO]$")
)
(labeled_expression
label: (identifier) @label)
; Subroutine blocks
(subroutine_block
command: (identifier) @keyword
subroutine: (identifier) @function)
(labeled_expression
label: (identifier) @function
(block))
; Parameter declarations
(parameter_declaration
command: (identifier) @keyword
macro: (macro) @parameter)
; Control flow
(if_block
command: (identifier) @conditional)
(else_block
command: (identifier) @conditional)
(while_block
command: (identifier) @repeat)
(repeat_block
command: (identifier) @repeat)
(call_expression
function: (identifier) @function.builtin)
(type_identifier) @type
(comment) @comment @spell

View file

@ -0,0 +1 @@
(comment) @comment

35
queries/t32/locals.scm Normal file
View file

@ -0,0 +1,35 @@
(block) @scope
; Parameter definitions
(parameter_declaration
command: (identifier)
macro: (macro) @definition.parameter)
; Variable definitions
(macro_definition
command: (identifier)
macro: (macro) @definition.var)
(command_expression
command: (identifier)
arguments: (argument_list
variable: (identifier) @definition.var))
; Function definitions
(subroutine_block
command: (identifier)
subroutine: (identifier) @definition.function)
(labeled_expression
label: (identifier) @definition.function
(block))
; References
(
(subroutine_call_expression
command: (identifier)
subroutine: (identifier) @reference)
(set! reference.kind "function")
)
(macro) @reference