helix/runtime/queries/nim/indents.scm
2024-09-13 13:28:20 -05:00

66 lines
1.1 KiB
Scheme

[
(if)
(when)
(elif_branch)
(else_branch)
(of_branch) ; note: not case_statement
(block)
(while)
(for)
(try)
(except_branch)
(finally_branch)
(defer)
(static_statement)
(proc_declaration)
(func_declaration)
(iterator_declaration)
(converter_declaration)
(method_declaration)
(template_declaration)
(macro_declaration)
(symbol_declaration)
] @indent
;; increase the indentation level
[
(if)
(when)
(elif_branch)
(else_branch)
(of_branch) ; note: not case_statement
(block)
(while)
(for)
(try)
(except_branch)
(finally_branch)
(defer)
(static_statement)
(proc_declaration)
(func_declaration)
(iterator_declaration)
(converter_declaration)
(method_declaration)
(template_declaration)
(macro_declaration)
(symbol_declaration)
] @extend
;; ???
[
(return_statement)
(raise_statement)
(yield_statement)
(break_statement)
(continue_statement)
] @extend.prevent-once
;; end a level of indentation while staying indented
[
")" ; tuples
"]" ; arrays, seqs
"}" ; sets
] @outdent
;; end a level of indentation and unindent the line