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,16 @@
[
; import …
(import_statement)+
; (…, …)
(parameter_list)
(argument_list)
; {…, …}
(instance_argument_list)
; {…; …}
(message_body)
(struct_body)
(contract_body)
(trait_body)
(function_body)
(block_statement)
] @fold

View File

@ -0,0 +1,307 @@
; variable
; --------
(identifier) @variable
; variable.builtin
; ----------------
(self) @variable.builtin
; variable.parameter
; ------------------
(parameter
name: (identifier) @variable.parameter)
; punctuation.delimiter
; ---------------------
[
";"
","
"."
":"
"?"
] @punctuation.delimiter
; punctuation.bracket
; -------------------
[
"("
")"
"{"
"}"
] @punctuation.bracket
; operator
; --------
[
"-"
"-="
"+"
"+="
"*"
"*="
"/"
"/="
"%"
"%="
"="
"=="
"!"
"!="
"!!"
"<"
"<="
"<<"
">"
">="
">>"
"&"
"|"
"^"
"&&"
"||"
] @operator
; constructor
; -----------
(instance_expression
name: (identifier) @constructor)
(initOf
name: (identifier) @constructor)
; type
; ----
(type_identifier) @type
; type.builtin
; ------------
((identifier) @type.builtin
(#eq? @type.builtin "SendParameters"))
(bounced_type
"bounced" @type.builtin
"<" @punctuation.bracket
">" @punctuation.bracket)
(map_type
"map" @type.builtin
"<" @punctuation.bracket
">" @punctuation.bracket)
((type_identifier) @type.builtin
(#any-of? @type.builtin "Address" "Bool" "Builder" "Cell" "Int" "Slice" "String" "StringBuilder"))
(tlb_serialization
"as" @keyword
type: (identifier) @type.builtin
(#any-of? @type.builtin
"int8" "int16" "int32" "int64" "int128" "int256" "int257" "uint8" "uint16" "uint32" "uint64"
"uint128" "uint256" "coins" "remaining" "bytes32" "bytes64"))
; string
; ------
(string) @string
; string.escape
; -------------
(escape_sequence) @string.escape
; string.special.path
; -------------------
(import_statement
library: (string) @string.special.path)
; boolean
; -------
(boolean) @boolean
; constant
; --------
(constant
name: (identifier) @constant)
; constant.builtin
; ----------------
(null) @constant.builtin
((identifier) @constant.builtin
(#any-of? @constant.builtin
"SendBounceIfActionFail" "SendPayGasSeparately" "SendIgnoreErrors" "SendDestroyIfZero"
"SendRemainingValue" "SendRemainingBalance" "ReserveExact" "ReserveAllExcept" "ReserveAtMost"
"ReserveAddOriginalBalance" "ReserveInvertSign" "ReserveBounceIfActionFail"))
; property
; --------
(instance_argument
name: (identifier) @variable.member)
(lvalue
(_)
(_) @variable.member)
(field_access_expression
name: (identifier) @variable.member)
(trait_body
(constant
name: (identifier) @variable.member))
(contract_body
(constant
name: (identifier) @variable.member))
(field
name: (identifier) @variable.member)
; number
; ------
(integer) @number
; keyword
; -------
[
"with"
"const"
"let"
; "public" ; -- not used, but declared in grammar.ohm
; "extend" ; -- not used, but declared in grammar.ohm
] @keyword
; keyword.type
; ------------
[
"contract"
"trait"
"struct"
"message"
] @keyword.type
; keyword.function
; ----------------
[
"fun"
"native"
] @keyword.function
; keyword.operator
; ----------------
"initOf" @keyword.operator
; keyword.import
; --------------
"import" @keyword.import
; keyword.modifier
; ---------------
[
"get"
"mutates"
"extends"
"virtual"
"override"
"inline"
"abstract"
] @keyword.modifier
; keyword.repeat
; --------------
(foreach_statement
.
(_)
.
(_)
.
"in" @keyword.repeat)
[
"while"
"repeat"
"do"
"until"
"foreach"
] @keyword.repeat
; keyword.return
; --------------
"return" @keyword.return
; keyword.exception
; -----------------
[
"try"
"catch"
] @keyword.exception
; keyword.conditional
; -------------------
[
"if"
"else"
] @keyword.conditional
; keyword.directive.define
; ------------------------
"primitive" @keyword.directive.define
; function
; --------
(native_function
name: (identifier) @function)
(static_function
name: (identifier) @function)
(func_identifier) @function
; function.method
; ---------------
(init_function
"init" @function.method)
(receive_function
"receive" @function.method)
(bounced_function
"bounced" @function.method)
(external_function
"external" @function.method)
(function
name: (identifier) @function.method)
; function.call
; -------------
(static_call_expression
name: (identifier) @function.call)
; function.method.call
; ---------------
(method_call_expression
name: (identifier) @function.method.call)
; function.builtin
; ----------------
(static_call_expression
name: (identifier) @function.builtin
(#any-of? @function.builtin
"log" "log2" "send" "sender" "require" "now" "myBalance" "myAddress" "newAddress"
"contractAddress" "contractAddressExt" "emit" "cell" "ton" "dump" "dumpStack" "beginString"
"beginComment" "beginTailString" "beginStringFromBuilder" "beginCell" "emptyCell" "randomInt"
"random" "checkSignature" "checkDataSignature" "sha256" "min" "max" "abs" "pow" "pow2" "throw"
"nativeThrowWhen" "nativeThrowUnless" "getConfigParam" "nativeRandomize" "nativeRandomizeLt"
"nativePrepareRandom" "nativeRandom" "nativeRandomInterval" "nativeReserve"))
; comment
; -------
(comment) @comment @spell
((comment) @comment.documentation
(#lua-match? @comment.documentation "^/[*][*][^*].*[*]/$"))
; attribute
; ---------
[
"@name"
"@interface"
] @attribute

View File

@ -0,0 +1,50 @@
; indent.begin ; indent children when matching this node
; ------------
[
; (..., ...)
(parameter_list)
(argument_list)
; {..., ...}
(instance_argument_list)
; {...; ...}
(message_body)
(struct_body)
(contract_body)
(trait_body)
(function_body)
(block_statement)
; misc.
(binary_expression)
(ternary_expression)
(return_statement)
(static_call_expression)
(method_call_expression)
] @indent.begin
; indent.branch ; dedent itself when matching this node
; -------------
[
"}"
")"
">"
] @indent.branch
; indent.end ; marks the end of indented block
; ----------
[
"}"
")"
">"
] @indent.end
; indent.auto ; behaves like 'autoindent' buffer option
; -----------
[
(comment)
(ERROR)
] @indent.auto
; indent.align ; behaves like python aligned/hanging indent
; indent.dedent ; dedent children when matching this node
; indent.ignore ; do not indent in this node
; indent.zero ; sets this node at position 0 (no indent)

View File

@ -0,0 +1,2 @@
((comment) @injection.content
(#set! injection.language "comment"))

View File

@ -0,0 +1,72 @@
; Scopes @local.scope
; -------------------------
[
(static_function)
(init_function)
(bounced_function)
(receive_function)
(external_function)
(function)
(block_statement)
] @local.scope
; Definitions @local.definition
; ------------------------------
; variables
(let_statement
name: (identifier) @local.definition.var)
; constants
(constant
name: (identifier) @local.definition.constant)
; functions
(static_function
name: (identifier) @local.definition.function
(#set! definition.var.scope parent))
; methods (functions off of contracts and traits)
(init_function
"init" @local.definition.method
(#set! definition.var.scope parent))
(bounced_function
"bounced" @local.definition.method
(#set! definition.var.scope parent))
(receive_function
"receive" @local.definition.method
(#set! definition.var.scope parent))
(external_function
"external" @local.definition.method
(#set! definition.var.scope parent))
(function
name: (identifier) @local.definition.method
(#set! definition.var.scope parent))
; parameters
(parameter
name: (identifier) @local.definition.parameter)
; user-defined types (structs and messages)
(type_identifier) @local.definition.type
; fields (and properties)
(field
name: (identifier) @local.definition.field)
; imports
(import_statement
(string) @local.definition.import)
; References @local.reference
; -----------------------------
(self) @local.reference
(value_expression
(identifier) @local.reference)
(lvalue
(identifier) @local.reference)