mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-08 06:20:01 -04:00
feat!: drop modules, general refactor and cleanup
This commit is contained in:
parent
c13e28f894
commit
2c8f2f2fad
829 changed files with 4905 additions and 8010 deletions
7
runtime/queries/gleam/folds.scm
Normal file
7
runtime/queries/gleam/folds.scm
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
; Folds
|
||||
[
|
||||
(case)
|
||||
(function)
|
||||
(anonymous_function)
|
||||
(type_definition)
|
||||
] @fold
|
||||
172
runtime/queries/gleam/highlights.scm
Normal file
172
runtime/queries/gleam/highlights.scm
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
; 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)
|
||||
|
||||
; Parser Errors
|
||||
(ERROR) @error
|
||||
28
runtime/queries/gleam/indents.scm
Normal file
28
runtime/queries/gleam/indents.scm
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
; Gleam indents similar to Rust and JavaScript
|
||||
[
|
||||
(anonymous_function)
|
||||
(assert)
|
||||
(case)
|
||||
(case_clause)
|
||||
(constant)
|
||||
(external_function)
|
||||
(function)
|
||||
(import)
|
||||
(let)
|
||||
(list)
|
||||
(constant)
|
||||
(function)
|
||||
(type_definition)
|
||||
(type_alias)
|
||||
(todo)
|
||||
(tuple)
|
||||
] @indent.begin
|
||||
|
||||
[
|
||||
")"
|
||||
"]"
|
||||
"}"
|
||||
] @indent.end @indent.branch
|
||||
|
||||
; Gleam pipelines are not indented, but other binary expression chains are
|
||||
((binary_expression operator: _ @_operator) @indent.begin (#not-eq? @_operator "|>"))
|
||||
7
runtime/queries/gleam/injections.scm
Normal file
7
runtime/queries/gleam/injections.scm
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
; Comments
|
||||
([
|
||||
(module_comment)
|
||||
(statement_comment)
|
||||
(comment)
|
||||
] @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
24
runtime/queries/gleam/locals.scm
Normal file
24
runtime/queries/gleam/locals.scm
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
; Let Binding Definition
|
||||
(let pattern: (identifier) @definition)
|
||||
|
||||
; List Pattern Definitions
|
||||
(list_pattern (identifier) @definition)
|
||||
(list_pattern assign: (identifier) @definition)
|
||||
|
||||
; Tuple Pattern Definition
|
||||
(tuple_pattern (identifier) @definition)
|
||||
|
||||
; Record Pattern Definition
|
||||
(record_pattern_argument pattern: (identifier) @definition)
|
||||
|
||||
; Function Parameter Definition
|
||||
(function_parameter name: (identifier) @definition)
|
||||
|
||||
; References
|
||||
(identifier) @reference
|
||||
|
||||
; Function Body Scope
|
||||
(function_body) @scope
|
||||
|
||||
; Case Scope
|
||||
(case_clause) @scope
|
||||
Loading…
Add table
Add a link
Reference in a new issue