1

Update generated neovim config

This commit is contained in:
2024-08-15 14:28:54 +02:00
parent 07409c223d
commit 25cfcf2941
3809 changed files with 351157 additions and 0 deletions

View File

@ -0,0 +1,289 @@
(comment) @comment
; Identifiers
;------------
; Escaped identifiers like \"+."
((value_identifier) @constant.macro
(#match? @constant.macro "^\\.*$"))
((value_identifier) @variable)
[
(type_identifier)
(unit_type)
(list)
(list_pattern)
] @type
((type_identifier) @type.builtin
(#any-of? @type.builtin
"int" "char" "string" "float" "bool" "unit"))
[
(variant_identifier)
(polyvar_identifier)
] @constructor
(record_type_field (property_identifier) @property)
(record_field (property_identifier) @property)
(object (field (property_identifier) @property))
(object_type (field (property_identifier) @property))
(module_identifier) @module
(member_expression (property_identifier) @variable.member)
(value_identifier_path
(module_identifier)
(value_identifier) @variable)
(record_pattern
(value_identifier_path
(value_identifier) @variable.member))
(record_pattern
(value_identifier) @variable)
(labeled_argument
label: (value_identifier) @variable.parameter)
; Parameters
;----------------
(list_pattern (value_identifier) @variable.parameter)
(spread_pattern (value_identifier) @variable.parameter)
; String literals
;----------------
[
(string)
(template_string)
] @string
(character) @character
(escape_sequence) @string.escape
; Other literals
;---------------
[
(true)
(false)
] @boolean
(number) @number
(polyvar) @constructor
(polyvar_string) @constructor
; Functions
;----------
; parameter(s) in parens
(parameter (value_identifier) @variable.parameter)
(labeled_parameter (value_identifier) @variable.parameter)
; single parameter with no parens
(function parameter: (value_identifier) @variable.parameter)
; first-level descructuring (required for nvim-tree-sitter as it only matches direct
; children and the above patterns do not match destructuring patterns in NeoVim)
(parameter (tuple_pattern (tuple_item_pattern (value_identifier) @variable.parameter)))
(parameter (array_pattern (value_identifier) @variable.parameter))
(parameter (record_pattern (value_identifier) @variable.parameter))
; function identifier in let binding
(let_binding
pattern: (value_identifier) @function
body: (function))
; function calls
(call_expression
function: (value_identifier_path
_
(value_identifier) @function.call))
(call_expression
function: (value_identifier) @function.call)
; highlight the right-hand side of a pipe operator as a function call
(pipe_expression
_
[(value_identifier_path
_
(value_identifier) @function.call)
(value_identifier) @function.call])
; Meta
;-----
(decorator_identifier) @attribute
(extension_identifier) @keyword
("%") @keyword
; Misc
;-----
(polyvar_type_pattern "#" @constructor)
[
"include"
"open"
] @keyword.import
[
"private"
"mutable"
"rec"
] @keyword.modifier
[
"type"
] @keyword.type
[
"and"
"with"
"as"
] @keyword.operator
[
"export"
"external"
"let"
"module"
"assert"
"await"
"lazy"
"constraint"
] @keyword
(("await") @keyword.coroutine)
((function "async" @keyword.coroutine))
(module_unpack "unpack" @keyword)
[
"if"
"else"
"switch"
"when"
] @keyword.conditional
[
"exception"
"try"
"catch"
] @keyword.exception
(call_expression
function: (value_identifier) @keyword.exception
(#eq? @keyword.exception "raise"))
[
"for"
"in"
"to"
"downto"
"while"
] @keyword.repeat
[
"."
","
"|"
":"
] @punctuation.delimiter
[
"++"
"+"
"+."
"-"
"-."
"*"
"**"
"*."
"/."
"<="
"=="
"==="
"!"
"!="
"!=="
">="
"&&"
"||"
"="
":="
"->"
"|>"
":>"
"+="
"=>"
(uncurry)
] @operator
; Explicitly enclose these operators with binary_expression
; to avoid confusion with JSX tag delimiters
(binary_expression ["<" ">" "/"] @operator)
[
"("
")"
"{"
"}"
"["
"]"
"<"
">"
] @punctuation.bracket
(unit ["(" ")"] @constant.builtin)
(template_substitution
"${" @punctuation.special
"}" @punctuation.special) @none
(polyvar_type
[
"["
"[>"
"[<"
"]"
] @punctuation.bracket)
[
"~"
"?"
".."
"..."
] @punctuation.special
(ternary_expression ["?" ":"] @keyword.conditional.ternary)
; JSX
;----------
(jsx_identifier) @tag
(jsx_element
open_tag: (jsx_opening_element ["<" ">"] @tag.delimiter))
(jsx_element
close_tag: (jsx_closing_element ["<" "/" ">"] @tag.delimiter))
(jsx_self_closing_element ["/" ">" "<"] @tag.delimiter)
(jsx_fragment [">" "<" "/"] @tag.delimiter)
(jsx_attribute (property_identifier) @tag.attribute)
; Error
;----------
(ERROR) @error

View File

@ -0,0 +1,29 @@
((comment) @injection.content (#set! injection.language "comment"))
; %re
(extension_expression
(extension_identifier) @_name
(#eq? @_name "re")
(expression_statement (_) @injection.content (#set! injection.language "regex")))
; %raw
(extension_expression
(extension_identifier) @_name
(#eq? @_name "raw")
(expression_statement
(_ (_) @injection.content (#set! injection.language "javascript"))))
; %graphql
(extension_expression
(extension_identifier) @_name
(#eq? @_name "graphql")
(expression_statement
(_ (_) @injection.content (#set! injection.language "graphql"))))
; %relay
(extension_expression
(extension_identifier) @_name
(#eq? @_name "relay")
(expression_statement
(_ (_) @injection.content (#set! injection.language "graphql") )))

View File

@ -0,0 +1,7 @@
(switch_expression) @scope
; Definitions
;------------
(type_declaration) @definition.type
(let_binding) @definition.var
(module_declaration) @definition.namespace

View File

@ -0,0 +1,114 @@
; Queries for nvim-treesitter/nvim-treesitter-textobjects
;--------------------------------------------------------
; Classes (modules)
;------------------
(module_binding definition: ((_) @class.inner)) @class.outer
; Blocks
;-------
(block (_) @block.inner) @block.outer
; Functions
;----------
(function body: (_) @function.inner) @function.outer
; Calls
;------
(call_expression arguments: ((_) @call.inner)) @call.outer
; Comments
;---------
(comment) @comment.outer
; Parameters
;-----------
(function parameter: (_) @parameter.inner @parameter.outer)
(formal_parameters
"," @_formal_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_formal_parameters_start @parameter.inner))
(formal_parameters
. (_) @parameter.inner
. ","? @_formal_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_formal_parameters_end))
(arguments
"," @_arguments_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_arguments_start @parameter.inner))
(arguments
. (_) @parameter.inner
. ","? @_arguments_end
(#make-range! "parameter.outer" @parameter.inner @_arguments_end))
(function_type_parameters
"," @_function_type_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_function_type_parameters_start @parameter.inner))
(function_type_parameters
. (_) @parameter.inner
. ","? @_function_type_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_function_type_parameters_end))
(functor_parameters
"," @_functor_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_functor_parameters_start @parameter.inner))
(functor_parameters
. (_) @parameter.inner
. ","? @_functor_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_functor_parameters_end))
(type_parameters
"," @_type_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_type_parameters_start @parameter.inner))
(type_parameters
. (_) @parameter.inner
. ","? @_type_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_type_parameters_end))
(type_arguments
"," @_type_arguments_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_type_arguments_start @parameter.inner))
(type_arguments
. (_) @parameter.inner
. ","? @_type_arguments_end
(#make-range! "parameter.outer" @parameter.inner @_type_arguments_end))
(decorator_arguments
"," @_decorator_arguments_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_decorator_arguments_start @parameter.inner))
(decorator_arguments
. (_) @parameter.inner
. ","? @_arguments_end
(#make-range! "parameter.outer" @parameter.inner @_arguments_end))
(variant_parameters
"," @_variant_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_variant_parameters_start @parameter.inner))
(variant_parameters
. (_) @parameter.inner
. ","? @_variant_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_variant_parameters_end))
(polyvar_parameters
"," @_polyvar_parameters_start
. (_) @parameter.inner
(#make-range! "parameter.outer" @_polyvar_parameters_start @parameter.inner))
(polyvar_parameters
. (_) @parameter.inner
. ","? @_polyvar_parameters_end
(#make-range! "parameter.outer" @parameter.inner @_polyvar_parameters_end))