File tree Expand file tree Collapse file tree 2 files changed +53
-56
lines changed
zuban_python/tests/mypylike/tests Expand file tree Collapse file tree 2 files changed +53
-56
lines changed Original file line number Diff line number Diff line change @@ -388,32 +388,12 @@ impl Tree {
388388 self . 0 . nodes ( ) . filter_map ( |n| {
389389 let end = || n. last_leaf_in_subtree ( ) . previous_leaf ( ) . unwrap ( ) . end ( ) - 1 ;
390390 if n. is_type ( Nonterminal ( match_stmt) ) {
391- return Some ( ( n. start ( ) , end ( ) ) ) ;
391+ return Some ( ( n. nth_child ( 3 ) . start ( ) , end ( ) ) ) ;
392392 }
393393 if !n. is_type ( Nonterminal ( block) ) || n. nth_child ( 0 ) . is_type ( Nonterminal ( simple_stmts) ) {
394394 return None ;
395395 }
396- let mut previous = n. parent ( ) . unwrap ( ) ;
397- if previous. is_type ( Nonterminal ( if_stmt) ) {
398- let cousin = n
399- . previous_sibling ( )
400- . unwrap ( )
401- . previous_sibling ( )
402- . unwrap ( )
403- . previous_sibling ( )
404- . unwrap ( ) ;
405- if cousin. as_code ( ) == "elif" {
406- previous = cousin
407- }
408- } else {
409- let ancestor = previous. parent ( ) . unwrap ( ) ;
410- if ancestor. is_type ( Nonterminal ( async_stmt) )
411- || ancestor. is_type ( Nonterminal ( async_function_def) )
412- {
413- previous = ancestor;
414- }
415- }
416- Some ( ( previous. start ( ) , end ( ) ) )
396+ Some ( ( n. start ( ) , end ( ) ) )
417397 } )
418398 }
419399}
Original file line number Diff line number Diff line change 1212
1313[out]
1414__main__.py:2: Folding Ranges:
15- - 3:0 -6:22 Region
15+ - 3:9 -6:22 Region
1616
1717[case folding_ranges_basic_with_imports]
1818#? folding-ranges
@@ -35,9 +35,9 @@ import types
3535[out]
3636__main__.py:2: Folding Ranges:
3737- 1:0-5:27 Imports
38- - 7:0 -8:16 Region
39- - 11:0 -13:18 Region
40- - 12:4 -13:18 Region
38+ - 7:4 -8:16 Region
39+ - 11:9 -13:18 Region
40+ - 12:14 -13:18 Region
4141
4242[case folding_ranges_basic_syntax_blocks]
4343#? folding-ranges
@@ -65,22 +65,22 @@ class X:
6565 something
6666 else:
6767 ...
68- with something:
68+ with something: # Something
6969 ...
7070[out]
7171__main__.py:2: Folding Ranges:
72- - 3:0 -27:15 Region
73- - 4:4 -27:15 Region
74- - 6:8 -7:15 Region
75- - 9:8 -10:15 Region
76- - 11:8 -13:15 Region
77- - 14:8 -15:13 Region
78- - 16:8 -17:13 Region
79- - 18:8 -19:15 Region
80- - 20:8 -21:21 Region
81- - 22:8 -23:21 Region
82- - 24:8 -25:15 Region
83- - 26:8 -27:15 Region
72+ - 3:8 -27:15 Region
73+ - 4:27 -27:15 Region
74+ - 6:18 -7:15 Region
75+ - 9:29 -10:15 Region
76+ - 11:13 -13:15 Region
77+ - 14:27 -15:13 Region
78+ - 16:27 -17:13 Region
79+ - 18:13 -19:15 Region
80+ - 20:24 -21:21 Region
81+ - 22:24 -23:21 Region
82+ - 24:13 -25:15 Region
83+ - 26:36 -27:15 Region
8484
8585[case folding_ranges_try_except]
8686#? folding-ranges
@@ -103,12 +103,12 @@ def f(something, something_else) -> None:
103103
104104[out]
105105__main__.py:2: Folding Ranges:
106- - 3:0 -18:0 Region
107- - 5:4 -6:11 Region
108- - 8:4 -11:11 Region
109- - 12:4 -13:11 Region
110- - 14:4 -15:17 Region
111- - 16:4 -17:17 Region
106+ - 3:41 -18:0 Region
107+ - 5:8 -6:11 Region
108+ - 8:26 -11:11 Region
109+ - 12:31 -13:11 Region
110+ - 14:9 -15:17 Region
111+ - 16:12 -17:17 Region
112112
113113[case folding_ranges_match]
114114#? folding-ranges
@@ -127,11 +127,11 @@ def f(something) -> None:
127127[out]
128128__main__.py:2: Folding Ranges:
129129- 1:0-2:13 Imports
130- - 4:0 -13:8 Region
131- - 5:4 -13:8 Region
132- - 6:8 -7:15 Region
133- - 8:8 -9:15 Region
134- - 11:8 -12:21 Region
130+ - 4:25 -13:8 Region
131+ - 5:20 -13:8 Region
132+ - 6:27 -7:15 Region
133+ - 8:20 -9:15 Region
134+ - 11:17 -12:21 Region
135135
136136[case folding_ranges_async]
137137#? folding-ranges
@@ -156,9 +156,26 @@ async def bar():
156156
157157[out]
158158__main__.py:2: Folding Ranges:
159- - 2:0-16:0 Region
160- - 4:4-5:11 Region
161- - 6:4-7:11 Region
162- - 8:4-9:24 Region
163- - 11:4-15:16 Region
164- - 18:0-19:7 Region
159+ - 2:25-16:0 Region
160+ - 4:29-5:11 Region
161+ - 6:29-7:11 Region
162+ - 8:9-9:24 Region
163+ - 14:6-15:16 Region
164+ - 18:16-19:7 Region
165+
166+ [case multi_line_function_definition_folding]
167+ #? folding-ranges
168+ def f(
169+ x: str,
170+ y: str,
171+ *,
172+ z: str) -> None:
173+ ...
174+ ...
175+ pass
176+ ...
177+
178+ x = 1
179+ [out]
180+ __main__.py:2: Folding Ranges:
181+ - 6:20-10:7 Region
You can’t perform that action at this time.
0 commit comments