nvim-treesitter/queries/gleam/highlights.scm
Pham Huy Hoang 107e61afb7 refactor: Remove all (ERROR) @error captures
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.
2023-10-25 18:18:50 +02:00

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)