summaryrefslogtreecommitdiff
path: root/runtime/queries/nim/indents.scm
blob: 3b30238689da4b026e95b15a4fc3a125c6dae4e2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[
  (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