1

Regenerate nvim config

This commit is contained in:
2024-06-02 03:29:20 +02:00
parent 75eea0c030
commit ef2e28883d
5576 changed files with 604886 additions and 503 deletions

View File

@ -0,0 +1,51 @@
; compounds
[
(list)
(table)
(sequence)
] @fold
; sub-forms / special compounds
[
(list_binding)
(table_binding)
(sequence_binding)
(table_metadata)
(sequence_arguments)
(let_vars)
(case_guard_or_special)
(case_guard)
(case_catch)
] @fold
; forms
[
(quote_form)
(unquote_form)
(local_form)
(var_form)
(set_form)
(global_form)
(let_form)
(fn_form)
(lambda_form)
(hashfn_form)
(each_form)
(collect_form)
(icollect_form)
(accumulate_form)
(for_form)
(fcollect_form)
(faccumulate_form)
(case_form)
(match_form)
(case_try_form)
(match_try_form)
] @fold
; reader macros
(quote_reader_macro
expression: (_) @fold)
(quasi_quote_reader_macro
expression: (_) @fold)

View File

@ -0,0 +1,193 @@
; Most primitive nodes
(shebang) @keyword.directive
(comment) @comment @spell
[
"("
")"
"{"
"}"
"["
"]"
] @punctuation.bracket
[
(nil)
(nil_binding)
] @constant.builtin
[
(boolean)
(boolean_binding)
] @boolean
[
(number)
(number_binding)
] @number
[
(string)
(string_binding)
] @string
[
(symbol)
(symbol_binding)
] @variable
(symbol_option) @keyword.directive
(escape_sequence) @string.escape
(multi_symbol
"." @punctuation.delimiter
member: (symbol_fragment) @variable.member)
(list
call: (symbol) @function.call)
(list
call: (multi_symbol
member: (symbol_fragment) @function.call .))
(multi_symbol_method
":" @punctuation.delimiter
method: (symbol_fragment) @function.method.call)
(quasi_quote_reader_macro
macro: _ @punctuation.special)
(quote_reader_macro
macro: _ @punctuation.special)
(unquote_reader_macro
macro: _ @punctuation.special)
(hashfn_reader_macro
macro: _ @keyword.function)
(sequence_arguments
(symbol_binding) @variable.parameter)
(sequence_arguments
(rest_binding
rhs: (symbol_binding) @variable.parameter))
(docstring) @string.documentation
(fn_form
name: [
(symbol) @function
(multi_symbol
member: (symbol_fragment) @function .)
])
(lambda_form
name: [
(symbol) @function
(multi_symbol
member: (symbol_fragment) @function .)
])
; NOTE: The macro name is highlighted as @variable because it
; gives a nicer contrast instead of everything being the same
; color. Rust queries use this workaround too for `macro_rules!`.
(macro_form
name: [
(symbol) @variable
(multi_symbol
member: (symbol_fragment) @variable .)
])
((symbol) @variable.parameter
(#any-of? @variable.parameter "$" "$..."))
((symbol) @variable.parameter
(#lua-match? @variable.parameter "^%$[1-9]$"))
((symbol) @operator
(#any-of? @operator
; arithmetic
"+" "-" "*" "/" "//" "%" "^"
; comparison
">" "<" ">=" "<=" "=" "~="
; other
"#" "." "?." ".."))
((symbol) @keyword.operator
(#any-of? @keyword.operator
; comparison
"not="
; boolean
"and" "or" "not"
; bitwise
"lshift" "rshift" "band" "bor" "bxor" "bnot"
; other
"length"))
(case_guard
call: (_) @keyword.conditional)
(case_guard_or_special
call: (_) @keyword.conditional)
((symbol) @keyword.function
(#any-of? @keyword.function "fn" "lambda" "λ" "hashfn"))
((symbol) @keyword.repeat
(#any-of? @keyword.repeat "for" "each" "while"))
((symbol) @keyword.conditional
(#any-of? @keyword.conditional "if" "when" "match" "case" "match-try" "case-try"))
((symbol) @keyword
(#any-of? @keyword
"global" "local" "let" "set" "var" "comment" "do" "doc" "eval-compiler" "lua" "macros" "unquote"
"quote" "tset" "values" "tail!"))
((symbol) @keyword.import
(#any-of? @keyword.import "require-macros" "import-macros" "include"))
((symbol) @function.macro
(#any-of? @function.macro
"collect" "icollect" "fcollect" "accumulate" "faccumulate" "->" "->>" "-?>" "-?>>" "?." "doto"
"macro" "macrodebug" "partial" "pick-args" "pick-values" "with-open"))
(case_catch
call: (symbol) @keyword)
(import_macros_form
imports: (table_binding
(table_binding_pair
value: (symbol_binding) @function.macro)))
; TODO: Highlight builtin methods (`table.unpack`, etc) as @function.builtin
([
(symbol) @module.builtin
(multi_symbol
base: (symbol_fragment) @module.builtin)
]
(#any-of? @module.builtin
"vim" "_G" "debug" "io" "jit" "math" "os" "package" "string" "table" "utf8"))
([
(symbol) @variable.builtin
(multi_symbol
.
(symbol_fragment) @variable.builtin)
]
(#eq? @variable.builtin "arg"))
((symbol) @variable.builtin
(#eq? @variable.builtin "..."))
((symbol) @constant.builtin
(#eq? @constant.builtin "_VERSION"))
((symbol) @function.builtin
(#any-of? @function.builtin
"assert" "collectgarbage" "dofile" "error" "getmetatable" "ipairs" "load" "loadfile" "next"
"pairs" "pcall" "print" "rawequal" "rawget" "rawlen" "rawset" "require" "select" "setmetatable"
"tonumber" "tostring" "type" "warn" "xpcall" "module" "setfenv" "loadstring" "unpack"))

View File

@ -0,0 +1,134 @@
((comment_body) @injection.content
(#set! injection.language "comment"))
(list
call: (multi_symbol) @_vimcmd_identifier
(#any-of? @_vimcmd_identifier "vim.cmd" "vim.api.nvim_command" "vim.api.nvim_exec2")
.
item: (string
(string_content) @injection.content
(#set! injection.language "vim")))
; NOTE: Matches *exactly* `ffi.cdef`
(list
call: (multi_symbol) @_cdef_identifier
(#eq? @_cdef_identifier "ffi.cdef")
.
item: (string
(string_content) @injection.content
(#set! injection.language "c")))
(list
call: (multi_symbol) @_ts_query_identifier
(#any-of? @_ts_query_identifier "vim.treesitter.query.set" "vim.treesitter.query.parse")
.
item: (_)
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "query")))
(list
call: (multi_symbol) @_vimcmd_identifier
(#eq? @_vimcmd_identifier "vim.api.nvim_create_autocmd")
.
item: (_)
.
item: (table
(table_pair
key: (string
(string_content) @_command
(#eq? @_command "command"))
value: (string
(string_content) @injection.content
(#set! injection.language "vim")))))
(list
call: (multi_symbol) @_user_cmd
(#eq? @_user_cmd "vim.api.nvim_create_user_command")
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "vim")))
(list
call: (multi_symbol) @_user_cmd
(#eq? @_user_cmd "vim.api.nvim_buf_create_user_command")
.
item: (_)
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "vim")))
(list
call: (multi_symbol) @_map
(#any-of? @_map "vim.api.nvim_set_keymap" "vim.keymap.set")
.
item: (_)
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "vim")))
(list
call: (multi_symbol) @_map
(#eq? @_map "vim.api.nvim_buf_set_keymap")
.
item: (_)
.
item: (_)
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "vim")))
; highlight string as query if starts with `; query`
(string
(string_content) @injection.content
(#lua-match? @injection.content "^%s*;+%s?query")
(#set! injection.language "query"))
; (string.match "123" "%d+")
(list
call: (multi_symbol
member: (symbol_fragment) @_func
.
(#any-of? @_func "find" "match" "gmatch" "gsub"))
.
item: (_)
.
item: (string
(string_content) @injection.content
(#set! injection.language "luap")
(#set! injection.include-children)))
; (my-string:match "%d+")
(list
call: (multi_symbol_method
method: (symbol_fragment) @_method
(#any-of? @_method "find" "match" "gmatch" "gsub"))
.
item: (string
(string_content) @injection.content
(#set! injection.language "luap")
(#set! injection.include-children)))
; (string.format "pi = %.2f" 3.14159)
(list
call: (multi_symbol) @_func
(#eq? @_func "string.format")
.
item: (string
(string_content) @injection.content
(#set! injection.language "printf")))

View File

@ -0,0 +1,56 @@
(program) @local.scope
(symbol) @local.reference
[
(let_form)
(fn_form)
(lambda_form)
(each_form)
(for_form)
(collect_form)
(icollect_form)
(accumulate_form)
(for_form)
(fcollect_form)
(faccumulate_form)
(case_form)
(match_form)
(case_try_form)
(match_try_form)
(if_form)
] @local.scope
(list
call: (symbol) @_call
(#any-of? @_call "while" "when" "do")) @local.scope
(fn_form
name: [
(symbol) @local.definition.function
(multi_symbol
member: (symbol_fragment) @local.definition.function .)
]
args: (sequence_arguments
(symbol_binding) @local.definition.parameter)
(#set! definition.function.scope "parent"))
(lambda_form
name: [
(symbol) @local.definition.function
(multi_symbol
member: (symbol_fragment) @local.definition.function .)
]
args: (sequence_arguments
(symbol_binding) @local.definition.parameter)
(#set! definition.function.scope "parent"))
(macro_form
name: [
(symbol) @local.definition.function
(multi_symbol
member: (symbol_fragment) @local.definition.function .)
]
args: (sequence_arguments
(symbol_binding) @local.definition.parameter)
(#set! definition.function.scope "parent"))