Skip to content

Commit d30ee1b

Browse files
committed
fix: remove variable_definition and assignment rules from pipeline
Problem: Rules like `variable_definition`, `assignment`, `range_action`, `template_action`, `block_action`, `chained_pipeline`, `argument_list` incorrectly allowed for variable definitions and assignments inside them. Solution: Remove rules `variable_definition` and `assignment` from `pipeline`, using a new rule where both are supported.
1 parent 5f19a36 commit d30ee1b

File tree

10 files changed

+9055
-9244
lines changed

10 files changed

+9055
-9244
lines changed

dialects/helm/src/grammar.json

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164
},
165165
{
166166
"type": "SYMBOL",
167-
"name": "_pipeline"
167+
"name": "_pipeline_or_variable"
168168
},
169169
{
170170
"type": "SYMBOL",
@@ -188,7 +188,7 @@
188188
"name": "condition",
189189
"content": {
190190
"type": "SYMBOL",
191-
"name": "_pipeline"
191+
"name": "_pipeline_or_variable"
192192
}
193193
},
194194
{
@@ -254,7 +254,7 @@
254254
"name": "condition",
255255
"content": {
256256
"type": "SYMBOL",
257-
"name": "_pipeline"
257+
"name": "_pipeline_or_variable"
258258
}
259259
},
260260
{
@@ -570,7 +570,7 @@
570570
"name": "argument",
571571
"content": {
572572
"type": "SYMBOL",
573-
"name": "_pipeline"
573+
"name": "_pipeline_or_variable"
574574
}
575575
},
576576
{
@@ -618,7 +618,7 @@
618618
"name": "condition",
619619
"content": {
620620
"type": "SYMBOL",
621-
"name": "_pipeline"
621+
"name": "_pipeline_or_variable"
622622
}
623623
},
624624
{
@@ -686,36 +686,45 @@
686686
}
687687
]
688688
},
689-
"_pipeline": {
689+
"_pipeline_or_variable": {
690690
"type": "CHOICE",
691691
"members": [
692692
{
693693
"type": "SYMBOL",
694-
"name": "_expression"
694+
"name": "_pipeline"
695695
},
696696
{
697697
"type": "SYMBOL",
698-
"name": "function_call"
698+
"name": "variable_definition"
699699
},
700700
{
701701
"type": "SYMBOL",
702-
"name": "method_call"
702+
"name": "assignment"
703+
}
704+
]
705+
},
706+
"_pipeline": {
707+
"type": "CHOICE",
708+
"members": [
709+
{
710+
"type": "SYMBOL",
711+
"name": "_expression"
703712
},
704713
{
705714
"type": "SYMBOL",
706-
"name": "chained_pipeline"
715+
"name": "function_call"
707716
},
708717
{
709718
"type": "SYMBOL",
710-
"name": "parenthesized_pipeline"
719+
"name": "method_call"
711720
},
712721
{
713722
"type": "SYMBOL",
714-
"name": "variable_definition"
723+
"name": "chained_pipeline"
715724
},
716725
{
717726
"type": "SYMBOL",
718-
"name": "assignment"
727+
"name": "parenthesized_pipeline"
719728
}
720729
]
721730
},
@@ -799,7 +808,7 @@
799808
},
800809
{
801810
"type": "SYMBOL",
802-
"name": "_pipeline"
811+
"name": "_pipeline_or_variable"
803812
},
804813
{
805814
"type": "STRING",

dialects/helm/src/node-types.json

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@
77
"multiple": true,
88
"required": true,
99
"types": [
10-
{
11-
"type": "assignment",
12-
"named": true
13-
},
1410
{
1511
"type": "chained_pipeline",
1612
"named": true
@@ -78,10 +74,6 @@
7874
{
7975
"type": "variable",
8076
"named": true
81-
},
82-
{
83-
"type": "variable_definition",
84-
"named": true
8577
}
8678
]
8779
}
@@ -94,10 +86,6 @@
9486
"multiple": false,
9587
"required": true,
9688
"types": [
97-
{
98-
"type": "assignment",
99-
"named": true
100-
},
10189
{
10290
"type": "chained_pipeline",
10391
"named": true
@@ -165,10 +153,6 @@
165153
{
166154
"type": "variable",
167155
"named": true
168-
},
169-
{
170-
"type": "variable_definition",
171-
"named": true
172156
}
173157
]
174158
},
@@ -432,10 +416,6 @@
432416
"multiple": true,
433417
"required": true,
434418
"types": [
435-
{
436-
"type": "assignment",
437-
"named": true
438-
},
439419
{
440420
"type": "chained_pipeline",
441421
"named": true
@@ -503,10 +483,6 @@
503483
{
504484
"type": "variable",
505485
"named": true
506-
},
507-
{
508-
"type": "variable_definition",
509-
"named": true
510486
}
511487
]
512488
}
@@ -1634,10 +1610,6 @@
16341610
"multiple": false,
16351611
"required": false,
16361612
"types": [
1637-
{
1638-
"type": "assignment",
1639-
"named": true
1640-
},
16411613
{
16421614
"type": "chained_pipeline",
16431615
"named": true
@@ -1705,10 +1677,6 @@
17051677
{
17061678
"type": "variable",
17071679
"named": true
1708-
},
1709-
{
1710-
"type": "variable_definition",
1711-
"named": true
17121680
}
17131681
]
17141682
}
@@ -1752,10 +1720,6 @@
17521720
"multiple": false,
17531721
"required": true,
17541722
"types": [
1755-
{
1756-
"type": "assignment",
1757-
"named": true
1758-
},
17591723
{
17601724
"type": "chained_pipeline",
17611725
"named": true
@@ -1823,10 +1787,6 @@
18231787
{
18241788
"type": "variable",
18251789
"named": true
1826-
},
1827-
{
1828-
"type": "variable_definition",
1829-
"named": true
18301790
}
18311791
]
18321792
}
@@ -2002,10 +1962,6 @@
20021962
"multiple": false,
20031963
"required": false,
20041964
"types": [
2005-
{
2006-
"type": "assignment",
2007-
"named": true
2008-
},
20091965
{
20101966
"type": "chained_pipeline",
20111967
"named": true
@@ -2073,10 +2029,6 @@
20732029
{
20742030
"type": "variable",
20752031
"named": true
2076-
},
2077-
{
2078-
"type": "variable_definition",
2079-
"named": true
20802032
}
20812033
]
20822034
},
@@ -2125,10 +2077,6 @@
21252077
"multiple": false,
21262078
"required": true,
21272079
"types": [
2128-
{
2129-
"type": "assignment",
2130-
"named": true
2131-
},
21322080
{
21332081
"type": "chained_pipeline",
21342082
"named": true
@@ -2196,10 +2144,6 @@
21962144
{
21972145
"type": "variable",
21982146
"named": true
2199-
},
2200-
{
2201-
"type": "variable_definition",
2202-
"named": true
22032147
}
22042148
]
22052149
},

0 commit comments

Comments
 (0)