mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-06 21:40:03 -04:00
As discussed in PR#5421, capturing `@error` is inconsistent, requiring deep nesting (or priority) in order to correctly have red backgrounds to it. Some queries has this capture, some don't. For consistency purposes, removing all of them is more preferable. For re-enabling error, either add `(ERROR) @error` or `(ERROR _ @error)` to your custom queries.
169 lines
2.5 KiB
Scheme
169 lines
2.5 KiB
Scheme
; Keywords
|
|
[
|
|
"as"
|
|
"let"
|
|
"panic"
|
|
"todo"
|
|
"type"
|
|
"use"
|
|
] @keyword
|
|
|
|
; Function Keywords
|
|
[
|
|
"fn"
|
|
] @keyword.function
|
|
|
|
; Imports
|
|
[
|
|
"import"
|
|
] @include
|
|
|
|
; Conditionals
|
|
[
|
|
"case"
|
|
"if"
|
|
] @conditional
|
|
|
|
; Exceptions
|
|
[
|
|
"assert"
|
|
] @exception
|
|
|
|
; Punctuation
|
|
[
|
|
"("
|
|
")"
|
|
"<<"
|
|
">>"
|
|
"["
|
|
"]"
|
|
"{"
|
|
"}"
|
|
] @punctuation.bracket
|
|
|
|
[
|
|
","
|
|
"."
|
|
":"
|
|
"->"
|
|
] @punctuation.delimiter
|
|
|
|
[
|
|
"#"
|
|
] @punctuation.special
|
|
|
|
; Operators
|
|
[
|
|
"%"
|
|
"&&"
|
|
"*"
|
|
"*."
|
|
"+"
|
|
"+."
|
|
"-"
|
|
"-."
|
|
".."
|
|
"/"
|
|
"/."
|
|
"<"
|
|
"<."
|
|
"<="
|
|
"<=."
|
|
"="
|
|
"=="
|
|
">"
|
|
">."
|
|
">="
|
|
">=."
|
|
"|>"
|
|
"||"
|
|
] @operator
|
|
|
|
; Identifiers
|
|
(identifier) @variable
|
|
|
|
; Comments
|
|
[
|
|
(comment)
|
|
] @comment @spell
|
|
|
|
[
|
|
(module_comment)
|
|
(statement_comment)
|
|
] @comment.documentation @spell
|
|
|
|
; Unused Identifiers
|
|
[
|
|
(discard)
|
|
(hole)
|
|
] @comment
|
|
|
|
; Modules & Imports
|
|
(module) @namespace
|
|
(import alias: ((identifier) @namespace)?)
|
|
(remote_type_identifier module: (identifier) @namespace)
|
|
(unqualified_import name: (identifier) @function)
|
|
|
|
; Strings
|
|
(string) @string
|
|
|
|
; Bit Strings
|
|
(bit_string_segment) @string.special
|
|
|
|
; Numbers
|
|
(integer) @number
|
|
|
|
(float) @float
|
|
|
|
; Function Parameter Labels
|
|
(function_call arguments: (arguments (argument label: (label) @label)))
|
|
(function_parameter label: (label)? @label name: (identifier) @parameter)
|
|
|
|
; Records
|
|
(record arguments: (arguments (argument label: (label) @property)?))
|
|
(record_pattern_argument label: (label) @property)
|
|
(record_update_argument label: (label) @property)
|
|
(field_access record: (identifier) @variable field: (label) @property)
|
|
(data_constructor_argument (label) @property)
|
|
|
|
; Types
|
|
[
|
|
(type_identifier)
|
|
(type_parameter)
|
|
(type_var)
|
|
] @type
|
|
|
|
((type_identifier) @type.builtin
|
|
(#any-of? @type.builtin "Int" "Float" "String" "List"))
|
|
|
|
; Type Qualifiers
|
|
[
|
|
"const"
|
|
"external"
|
|
(opacity_modifier)
|
|
(visibility_modifier)
|
|
] @type.qualifier
|
|
|
|
; Tuples
|
|
(tuple_access index: (integer) @operator)
|
|
|
|
; Functions
|
|
(function name: (identifier) @function)
|
|
(function_call function: (identifier) @function.call)
|
|
(function_call function: (field_access field: (label) @function.call))
|
|
|
|
; External Functions
|
|
(external_function name: (identifier) @function)
|
|
(external_function_body (string) @namespace . (string) @function)
|
|
|
|
; Constructors
|
|
(constructor_name) @type @constructor
|
|
|
|
([(type_identifier) (constructor_name)] @constant.builtin
|
|
(#any-of? @constant.builtin "Ok" "Error"))
|
|
|
|
; Booleans
|
|
((constructor_name) @boolean (#any-of? @boolean "True" "False"))
|
|
|
|
; Pipe Operator
|
|
(binary_expression operator: "|>" right: (identifier) @function)
|