Files
nixos-dotfiles/config/nvim/queries/lua/textobjects.scm
T
2026-06-03 05:23:07 +02:00

110 lines
1.7 KiB
Scheme

; block
(_
(block) @block.inner) @block.outer
; call
(function_call) @call.outer
(function_call
(arguments) @call.inner
(#match? @call.inner "^[^\\(]"))
(function_call
arguments: (arguments
.
"("
_+ @call.inner
")"))
; class
; comment
(comment
(comment_content) @comment.inner) @comment.outer
; conditional
(if_statement
alternative: (_
(_) @conditional.inner)?) @conditional.outer
(if_statement
consequence: (block)? @conditional.inner)
(if_statement
condition: (_) @conditional.inner)
; frame
; function
[
(function_declaration)
(function_definition)
] @function.outer
(function_declaration
body: (_) @function.inner)
(function_definition
body: (_) @function.inner)
; return
(return_statement
(_)? @return.inner) @return.outer
; loop
[
(while_statement)
(for_statement)
(repeat_statement)
] @loop.outer
(while_statement
body: (_) @loop.inner)
(for_statement
body: (_) @loop.inner)
(repeat_statement
body: (_) @loop.inner)
; parameter
(arguments
.
(_) @parameter.inner @parameter.outer
.
","? @parameter.outer)
(parameters
.
(_) @parameter.inner @parameter.outer
.
","? @parameter.outer)
(table_constructor
(field) @parameter.inner @parameter.outer
","? @parameter.outer)
(arguments
"," @parameter.outer
.
(_) @parameter.inner @parameter.outer)
(parameters
"," @parameter.outer
.
(_) @parameter.inner @parameter.outer)
; number
(number) @number.inner
(assignment_statement
(variable_list) @assignment.lhs
(expression_list) @assignment.inner @assignment.rhs) @assignment.outer
(assignment_statement
(variable_list) @assignment.inner)
; scopename
; statement
(statement) @statement.outer
(return_statement) @statement.outer