aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/leo
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/leo
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/leo')
-rw-r--r--runtime/queries/leo/highlights.scm225
-rw-r--r--runtime/queries/leo/indents.scm61
-rw-r--r--runtime/queries/leo/injections.scm2
3 files changed, 288 insertions, 0 deletions
diff --git a/runtime/queries/leo/highlights.scm b/runtime/queries/leo/highlights.scm
new file mode 100644
index 000000000..3d4dadd3c
--- /dev/null
+++ b/runtime/queries/leo/highlights.scm
@@ -0,0 +1,225 @@
+[
+ "assert"
+ "assert_eq"
+ "assert_neq"
+ "block"
+ "console"
+ "const"
+ "let"
+ "mapping"
+ "program"
+ "self"
+ "then"
+] @keyword
+
+[
+ "record"
+ "struct"
+] @keyword.type
+
+[
+ "in"
+ "as"
+] @keyword.operator
+
+[
+ "constant"
+ "private"
+ "public"
+] @keyword.modifier
+
+"self" @variable.builtin
+
+"network" @variable.builtin
+
+"async" @keyword.coroutine
+
+[
+ "finalize"
+ "function"
+ "inline"
+ "transition"
+] @keyword.function
+
+"import" @keyword.import
+
+"return" @keyword.return
+
+(return_arrow) @punctuation.delimiter
+
+"for" @keyword.repeat
+
+[
+ "else"
+ "if"
+] @keyword.conditional
+
+[
+ (ternary_if)
+ (ternary_else)
+] @keyword.conditional.ternary
+
+[
+ "("
+ ")"
+ "{"
+ "}"
+ "["
+ "]"
+] @punctuation.bracket
+
+[
+ ";"
+ ","
+ "::"
+] @punctuation.delimiter
+
+[
+ "!"
+ "&&"
+ "||"
+ "=="
+ "!="
+ "<"
+ "<="
+ ">"
+ ">="
+ "&"
+ "|"
+ "^"
+ "<<"
+ ">>"
+ "+"
+ "-"
+ "*"
+ "/"
+ "%"
+ "**"
+ "="
+ "+="
+ "-="
+ "*="
+ "/="
+ "%="
+ "**="
+ "<<="
+ ">>="
+ "&="
+ "|="
+ "^="
+ "&&="
+ "||="
+] @operator
+
+(comment) @comment @spell
+
+(boolean_literal) @boolean
+
+(constant_declaration
+ (identifier
+ (constant_identifier) @constant))
+
+(variable
+ (constant_identifier) @constant)
+
+(associated_constant) @constant
+
+(variable) @variable
+
+(program_id) @string.special
+
+;record declaration
+(record_declaration
+ (identifier) @type.definition)
+
+;struct component
+(struct_component_declaration
+ (identifier) @variable.member)
+
+(struct_expression
+ (identifier) @type.definition)
+
+(struct_component_initializer
+ (identifier) @variable.member)
+
+[
+ (type)
+ (boolean_type)
+ (integer_type)
+ (field_type)
+ (group_type)
+ (scalar_type)
+ (address_type)
+ (signature_type)
+ (string_type)
+] @type
+
+[
+ (block_height)
+ (self_address)
+ (self_caller)
+ (self_signer)
+ (network_id)
+] @constant.builtin
+
+(free_function_call
+ (locator
+ (identifier) @function))
+
+(associated_function_call
+ (named_type
+ (identifier
+ (constant_identifier) @function)))
+
+(associated_function_call
+ (identifier) @function.call)
+
+(record_type
+ (locator
+ (identifier) @variable.member))
+
+(transition_declaration
+ name: (identifier) @function.builtin)
+
+(finalizer
+ name: (identifier) @function.builtin)
+
+(free_function_call
+ (identifier) @function.call)
+
+(function_declaration
+ name: (identifier) @function)
+
+(inline_declaration
+ name: (identifier) @function.macro)
+
+(method_call
+ .
+ (_)
+ .
+ (identifier) @function.method.call)
+
+(function_parameter
+ (identifier) @variable.parameter)
+
+(struct_declaration
+ name: (identifier) @type.definition)
+
+(variable_declaration
+ (identifier) @variable)
+
+[
+ (address_literal)
+ (signature_literal)
+ ((affine_group_literal)
+ (#set! priority 101))
+ (field_literal)
+ (product_group_literal)
+ (scalar_literal)
+ (signed_literal)
+ (unsigned_literal)
+] @number
+
+(string_literal) @string
+
+(annotation) @attribute
diff --git a/runtime/queries/leo/indents.scm b/runtime/queries/leo/indents.scm
new file mode 100644
index 000000000..b2d33a59b
--- /dev/null
+++ b/runtime/queries/leo/indents.scm
@@ -0,0 +1,61 @@
+[
+ (array_expression)
+ (assert_statement)
+ (assignment_statement)
+ (block)
+ (constant_declaration)
+ (expression_statement)
+ (items_block)
+ (loop_statement)
+ (mapping_declaration)
+ (parenthesized_expression)
+ (record_declaration)
+ (return_statement)
+ (struct_declaration)
+ (struct_expression)
+ (tuple_expression)
+ (variable_declaration)
+] @indent.begin
+
+((function_parameters) @indent.align
+ (#set! indent.open_delimiter "(")
+ (#set! indent.close_delimiter ")"))
+
+((function_arguments) @indent.align
+ (#set! indent.open_delimiter "(")
+ (#set! indent.close_delimiter ")"))
+
+(parenthesized_expression
+ ")" @indent.branch)
+
+(function_parameters
+ ")" @indent.branch)
+
+(function_arguments
+ ")" @indent.branch)
+
+(record_declaration
+ "}" @indent.branch)
+
+(struct_declaration
+ "}" @indent.branch)
+
+(struct_expression
+ "}" @indent.branch)
+
+(array_expression
+ "]" @indent.branch)
+
+(tuple_expression
+ ")" @indent.branch)
+
+(items_block
+ "}" @indent.branch)
+
+(block
+ "}" @indent.branch)
+
+[
+ (comment)
+ (ERROR)
+] @indent.auto
diff --git a/runtime/queries/leo/injections.scm b/runtime/queries/leo/injections.scm
new file mode 100644
index 000000000..2f0e58eb6
--- /dev/null
+++ b/runtime/queries/leo/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))