helix/runtime/queries/luau/indents.scm

127 lines
1.7 KiB
Scheme

[
(repeat_stmt)
(for_in_stmt)
(for_range_stmt)
(do_stmt)
(while_stmt)
(if_stmt)
; (else_clause)
; (elseif_clause)
(fn_stmt)
(local_fn_stmt)
(anon_fn)
(bindinglist)
(varlist)
(paramlist)
(paramtypelist)
(table)
(cast)
(tbtype)
(dyntype)
(bintype)
(wraptype)
(typepack)
(attribute)
(parattr)
(littable)
] @indent
(
[
(arglist)
] @indent
(#set! "scope" "all")
)
(
[
(explist)
(interp_exp)
] @indent.always
(#set! "scope" "all")
)
[
"until"
"end"
")"
"}"
"]"
] @outdent
[
(interp_brace_close)
] @outdent.always
(ret_stmt
"return" @expr-start
.
(_) @indent
(#not-same-line? @indent @expr-start)
(#set! "scope" "all")
)
(field
"[" @expr-start
.
field_indexer: (_) @indent
(#not-same-line? @expr-start @indent)
(#set! "scope" "all")
)
(_
(_) @expr-start
.
assign_symbol: _ @indent
.
(_) @expr-end
(#not-same-line? @indent @expr-start)
(#same-line? @expr-end @indent)
(#set! "scope" "all")
)
(_
(_) @expr-start
.
assign_symbol: _ @assign-sym
.
(_) @indent
(#same-line? @expr-start @assign-sym)
(#not-same-line? @assign-sym @indent)
(#set! "scope" "all")
)
(ifexp
[
"if"
"then"
"elseif"
"else"
] @expr-start
.
(_) @indent.always
(#set! "scope" "all")
(#not-same-line? @indent.always @expr-start)
)
(fntype
(paramtypelist) @expr-start
return_type: (_) @indent
(#not-same-line? @expr-start @indent)
(#set! "scope" "all")
)
(exp_wrap
(_) @expr-content
(#not-same-line? @indent @expr-content)
(#not-kind-eq? @expr-content "ifexp")
) @indent
(else_clause
"else" @outdent
)
(elseif_clause
"elseif" @outdent
)