Skip to content

Commit 9026615

Browse files
committed
fix indents for cython
1 parent eb717db commit 9026615

File tree

1 file changed

+60
-177
lines changed

1 file changed

+60
-177
lines changed

runtime/queries/cython/indents.scm

Lines changed: 60 additions & 177 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,47 @@
11
[
2+
(list)
3+
(tuple)
4+
(dictionary)
5+
(set)
6+
(if_statement)
7+
(for_statement)
8+
(while_statement)
9+
(with_statement)
10+
(try_statement)
11+
(match_statement)
12+
(case_clause)
213
(import_from_statement)
14+
15+
(parenthesized_expression)
316
(generator_expression)
417
(list_comprehension)
518
(set_comprehension)
619
(dictionary_comprehension)
20+
721
(tuple_pattern)
822
(list_pattern)
23+
(argument_list)
24+
(parameters)
925
(binary_operator)
10-
(lambda)
11-
(concatenated_string)
12-
] @indent.begin
13-
14-
((list) @indent.align
15-
(#set! indent.open_delimiter "[")
16-
(#set! indent.close_delimiter "]"))
17-
18-
((dictionary) @indent.align
19-
(#set! indent.open_delimiter "{")
20-
(#set! indent.close_delimiter "}"))
21-
22-
((set) @indent.align
23-
(#set! indent.open_delimiter "{")
24-
(#set! indent.close_delimiter "}"))
25-
26-
((parenthesized_expression) @indent.align
27-
(#set! indent.open_delimiter "(")
28-
(#set! indent.close_delimiter ")"))
29-
30-
((for_statement) @indent.begin
31-
(#set! indent.immediate 1))
3226

33-
((if_statement) @indent.begin
34-
(#set! indent.immediate 1))
27+
(function_definition)
28+
(cdef_statement)
29+
(class_definition)
30+
] @indent
3531

36-
((while_statement) @indent.begin
37-
(#set! indent.immediate 1))
38-
39-
((try_statement) @indent.begin
40-
(#set! indent.immediate 1))
32+
; Workaround for the tree-sitter grammar creating large errors when a
33+
; try_statement is missing the except/finally clause
4134

4235
(ERROR
4336
"try"
4437
.
45-
":"
46-
(#set! indent.immediate 1)) @indent.begin
38+
":" @indent @extend)
39+
(ERROR
40+
.
41+
"def") @indent @extend
42+
(ERROR
43+
(block) @indent @extend
44+
(#set! "scope" "all"))
4745

4846
(ERROR
4947
"try"
@@ -55,159 +53,44 @@
5553
(identifier) @_except) @indent.branch))
5654
(#eq? @_except "except"))
5755

58-
((function_definition) @indent.begin
59-
(#set! indent.immediate 1))
60-
61-
((class_definition) @indent.begin
62-
(#set! indent.immediate 1))
63-
64-
((with_statement) @indent.begin
65-
(#set! indent.immediate 1))
66-
67-
((match_statement) @indent.begin
68-
(#set! indent.immediate 1))
69-
70-
((case_clause) @indent.begin
71-
(#set! indent.immediate 1))
72-
73-
; if (cond1
74-
; or cond2
75-
; or cond3):
76-
; pass
77-
;
78-
(if_statement
79-
condition: (parenthesized_expression) @indent.align
80-
(#lua-match? @indent.align "^%([^\n]")
81-
(#set! indent.open_delimiter "(")
82-
(#set! indent.close_delimiter ")")
83-
(#set! indent.avoid_last_matching_next 1))
84-
85-
; while (
86-
; cond1
87-
; or cond2
88-
; or cond3):
89-
; pass
90-
;
91-
(while_statement
92-
condition: (parenthesized_expression) @indent.align
93-
(#lua-match? @indent.align "[^\n ]%)$")
94-
(#set! indent.open_delimiter "(")
95-
(#set! indent.close_delimiter ")")
96-
(#set! indent.avoid_last_matching_next 1))
97-
98-
; if (
99-
; cond1
100-
; or cond2
101-
; or cond3):
102-
; pass
103-
;
104-
(if_statement
105-
condition: (parenthesized_expression) @indent.align
106-
(#lua-match? @indent.align "[^\n ]%)$")
107-
(#set! indent.open_delimiter "(")
108-
(#set! indent.close_delimiter ")")
109-
(#set! indent.avoid_last_matching_next 1))
110-
111-
(ERROR
112-
"(" @indent.align
113-
(#set! indent.open_delimiter "(")
114-
(#set! indent.close_delimiter ")")
115-
.
116-
(_))
117-
118-
((argument_list) @indent.align
119-
(#set! indent.open_delimiter "(")
120-
(#set! indent.close_delimiter ")"))
121-
122-
((parameters) @indent.align
123-
(#set! indent.open_delimiter "(")
124-
(#set! indent.close_delimiter ")"))
125-
126-
((parameters) @indent.align
127-
(#lua-match? @indent.align "[^\n ]%)$")
128-
(#set! indent.open_delimiter "(")
129-
(#set! indent.close_delimiter ")")
130-
(#set! indent.avoid_last_matching_next 1))
131-
132-
((tuple) @indent.align
133-
(#set! indent.open_delimiter "(")
134-
(#set! indent.close_delimiter ")"))
135-
136-
(ERROR
137-
"[" @indent.align
138-
(#set! indent.open_delimiter "[")
139-
(#set! indent.close_delimiter "]")
140-
.
141-
(_))
142-
143-
(ERROR
144-
"{" @indent.align
145-
(#set! indent.open_delimiter "{")
146-
(#set! indent.close_delimiter "}")
147-
.
148-
(_))
56+
[
57+
(if_statement)
58+
(for_statement)
59+
(while_statement)
60+
(with_statement)
61+
(try_statement)
62+
(match_statement)
63+
(case_clause)
64+
65+
(cdef_statement)
66+
(function_definition)
67+
(class_definition)
68+
] @extend
14969

15070
[
71+
(return_statement)
15172
(break_statement)
15273
(continue_statement)
153-
] @indent.dedent
154-
155-
(ERROR
156-
(_) @indent.branch
157-
":"
158-
.
159-
(#lua-match? @indent.branch "^else"))
160-
161-
(ERROR
162-
(_) @indent.branch @indent.dedent
163-
":"
164-
.
165-
(#lua-match? @indent.branch "^elif"))
166-
167-
(generator_expression
168-
")" @indent.end)
169-
170-
(list_comprehension
171-
"]" @indent.end)
172-
173-
(set_comprehension
174-
"}" @indent.end)
175-
176-
(dictionary_comprehension
177-
"}" @indent.end)
178-
179-
(tuple_pattern
180-
")" @indent.end)
181-
182-
(list_pattern
183-
"]" @indent.end)
184-
185-
(return_statement
186-
[
187-
(_) @indent.end
188-
(_
189-
[
190-
(_)
191-
")"
192-
"}"
193-
"]"
194-
] @indent.end .)
195-
(attribute
196-
attribute: (_) @indent.end)
197-
(call
198-
arguments: (_
199-
")" @indent.end))
200-
"return" @indent.end
201-
] .)
74+
(raise_statement)
75+
(pass_statement)
76+
] @extend.prevent-once
20277

20378
[
20479
")"
20580
"]"
20681
"}"
207-
(elif_clause)
208-
(else_clause)
209-
(except_clause)
210-
(finally_clause)
211-
] @indent.branch
82+
] @outdent
83+
(elif_clause
84+
"elif" @outdent)
85+
(else_clause
86+
"else" @outdent)
21287

213-
(string) @indent.auto
88+
(parameters
89+
.
90+
(identifier) @anchor
91+
(#set! "scope" "tail")) @align
92+
93+
(argument_list
94+
.
95+
(_) @anchor
96+
(#set! "scope" "tail")) @align

0 commit comments

Comments
 (0)