Skip to content

Commit 23e219b

Browse files
author
fidgetingbits
committed
Add some edge case branch cases
1 parent aef52e4 commit 23e219b

File tree

1 file changed

+37
-27
lines changed

1 file changed

+37
-27
lines changed

queries/shellscript.scm

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -27,46 +27,34 @@
2727

2828
(if_statement) @ifStatement @branch.iteration
2929

30-
;; Branch
31-
(
32-
(if_statement
33-
"if" @branch.start.startOf @branch.domain.start.startOf
34-
(_)
35-
"then"
36-
(_) @branch.interior @dummy
37-
"fi" @branch.end.startOf @branch.domain.end.startOf
38-
)
39-
(#not-type? @dummy elif_clause else_clause)
40-
)
41-
4230
;; Conditional
4331

4432
;;!! if [ $value -le 0 ]; then
4533
;;!! fi
4634
(if_statement
47-
"if" @condition.domain.start.startOf
35+
"if" @condition.domain.start.startOf @branch.start.startOf
4836
(_) @condition
49-
"then" @condition.domain.end.endOf
37+
"then" @condition.domain.end.endOf @branch.end.endOf
5038
.
5139
"fi"
5240
)
5341

5442
;;!! if [ $value -le 0 ]; then
5543
;;!! else
5644
(if_statement
57-
"if" @condition.domain.start.startOf
45+
"if" @condition.domain.start.startOf @branch.start.startOf
5846
(_) @condition
59-
"then" @condition.domain.end.endOf
47+
"then" @condition.domain.end.endOf @branch.end.endOf
6048
.
6149
(else_clause)
6250
)
6351

6452
;;!! if [ $value -le 0 ]; then
6553
;;!! elif
6654
(if_statement
67-
"if" @condition.domain.start.startOf
55+
"if" @condition.domain.start.startOf @branch.start.startOf
6856
(_) @condition
69-
"then" @condition.domain.end.endOf
57+
"then" @condition.domain.end.endOf @branch.end.endOf
7058
.
7159
(elif_clause)
7260
)
@@ -76,12 +64,12 @@
7664
;;!! fi
7765
(
7866
(if_statement
79-
"if" @condition.domain.start.startOf
67+
"if" @condition.domain.start.startOf @branch.start.startOf
8068
(_) @condition
8169
"then"
82-
(_) @dummy
70+
(_) @dummy @branch.interior
8371
.
84-
"fi" @condition.domain.end.startOf
72+
"fi" @condition.domain.end.startOf @branch.end.startOf
8573
)
8674
(#not-type? @dummy else_clause elif_clause)
8775
)
@@ -92,11 +80,11 @@
9280
;;!! fi
9381
(
9482
(if_statement
95-
"if" @condition.domain.start.startOf
83+
"if" @condition.domain.start.startOf @branch.start.startOf
9684
(_) @condition
9785
"then"
98-
(_)
99-
(elif_clause) @condition.domain.end.startOf
86+
(_) @branch.interior
87+
(elif_clause) @condition.domain.end.startOf @branch.end.startOf
10088
)
10189
)
10290

@@ -106,22 +94,44 @@
10694
;;!! fi
10795
(
10896
(if_statement
109-
"if" @condition.domain.start.startOf
97+
"if" @condition.domain.start.startOf @branch.start.startOf
11098
(_) @condition
11199
"then"
112-
(_) @dummy
100+
(_) @dummy @branch.interior
113101
.
114-
(else_clause) @condition.domain.end.startOf
102+
(else_clause) @condition.domain.end.startOf @branch.end.startOf
115103
)
116104
(#not-type? @dummy elif_clause)
117105
)
118106

107+
;;!! elif [ $value -le 0 ]; then
108+
;;!! else
109+
(elif_clause
110+
(_) @condition
111+
"then"
112+
.
113+
) @branch @_.domain
114+
115+
;;!! elif [ $value -le 0 ]; then
116+
;;!! echo "foo1"
117+
;;!! echo "foo1"
119118
(elif_clause
120119
(_) @condition
121120
"then"
122121
(_) @branch.interior
123122
) @branch @_.domain
124123

124+
;;!! else
125+
;;!! fi
126+
(else_clause
127+
"else"
128+
.
129+
) @branch
130+
131+
;;!! else
132+
;;!! echo "foo1"
133+
;;!! echo "foo1"
134+
;;!! fi
125135
(else_clause
126136
"else" @branch.interior.start.endOf
127137
(_) @branch.interior.end.endOf

0 commit comments

Comments
 (0)