shuck-parser 0.0.17

A fast, safe bash parser library
Documentation
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
{
  "oils/array-sparse.test.sh::crash dump": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/alias.test.sh::Alias with a quote in the middle is a syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/alias.test.sh::Syntax error after expansion": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/assign.test.sh::Env binding not allowed before compound command": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/brace-expansion.test.sh::} in expansion": {
    "expectation": "parse_ok",
    "reason": "bash-compatible brace expansions with a trailing literal right brace now stay attached to one word"
  },
  "oils/bool-parse.test.sh::Not allowed: [[ ) ]] and [[ ( ]]": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/bugs.test.sh::First word like foo$x() and foo$[1+2] (regression)": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/builtin-echo.test.sh::echo builtin should disallow typed args - literal": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/builtin-eval-source.test.sh::eval YSH block with 'break continue return error'": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/builtin-trap-err.test.sh::trap ERR with YSH proc": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/builtin-trap.test.sh::trap EXIT with PARSE error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/builtin-trap.test.sh::trap EXIT with PARSE error and explicit exit": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/case_.test.sh::case \\n bug regression": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/command-sub.test.sh::Making keyword out of command sub should NOT work": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::Argument that looks like a real operator": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ '(' foo ]] is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ && ]] is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ -z '>' a ]] is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ -z ]] is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ ]] is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ a 3< b ]] doesn't work (bug regression)": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ at runtime doesn't work": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/dbracket.test.sh::[[ with op variable (compare with test-builtin.test.sh)": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/empty-bodies.test.sh::Empty do/done": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/empty-bodies.test.sh::Empty then/fi": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/errexit-osh.test.sh::Regression": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/errexit-osh.test.sh::command_sub_errexit stops at first error": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/errexit-osh.test.sh::strict_errexit and errexit disabled": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/here-doc.test.sh::Here doc with bad comsub delimiter": {
    "expectation": "parse_err",
    "reason": "non-static heredoc delimiters are rejected during parsing"
  },
  "oils/here-doc.test.sh::Here doc with bad var delimiter": {
    "expectation": "parse_err",
    "reason": "non-static heredoc delimiters are rejected during parsing"
  },
  "oils/known-differences.test.sh::nested function declaration - xcb-util-renderutil": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::Incomplete for": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::Incomplete if": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::Incomplete while": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::Invalid for loop variable name": {
    "expectation": "parse_ok",
    "reason": "bash parses non-identifier for targets and defers the failure until execution"
  },
  "oils/parse-errors.test.sh::array literal in case": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::array literal inside array is a parse error": {
    "expectation": "parse_ok",
    "reason": "bash accepts this array literal form at parse time even though the fixture highlights it as a shell quirk"
  },
  "oils/parse-errors.test.sh::array literal inside loop is a parse error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::do unexpected": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::empty clause in [[": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::incomplete backticks": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::incomplete command sub": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::misplaced ;;": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/parse-errors.test.sh::} is a parse error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/posix.test.sh::Bare semi-colon not allowed": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/posix.test.sh::Empty action for case is syntax error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/redirect-command.test.sh::Prefix redirect for loop -- not allowed": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/regex.test.sh::Parse error with 2 words": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/regex.test.sh::Malformed regex": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/regex.test.sh::Unquoted { is a regex parse error": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/strict-options.test.sh::Control flow must be static in YSH (strict_control_flow)": {
    "expectation": "skip",
    "reason": "case uses YSH/OILS-only syntax or option modes outside the current Bash parser"
  },
  "oils/toysh.test.sh::Brace Expansion": {
    "expectation": "parse_ok",
    "reason": "brace-expansion words with quoted or escaped prefixes now parse as single words"
  },
  "oils/var-sub-quote.test.sh::Syntax error for single quote in double quote": {
    "expectation": "parse_err",
    "reason": "corpus case intentionally exercises a shell parse error"
  },
  "oils/var-sub.test.sh::Here doc with bad \"$@\" delimiter": {
    "expectation": "parse_err",
    "reason": "non-static heredoc delimiters are rejected during parsing"
  },
  "oils/loop.test.sh::for loop with invalid identifier": {
    "expectation": "parse_ok",
    "reason": "bash parses non-identifier for targets and defers the failure until execution"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__functions.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__cabal__cabal.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__chruby__chruby.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__cloudfoundry__cloudfoundry.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "punctuated zsh function names parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__git-extras__git-extras.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "the quoted continuation in this fixture now parses"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__globalias__globalias.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh conditional operands with contextual subscripts now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__genpass__genpass-apple": {
    "expectation": "parse_ok",
    "reason": "zsh arithmetic char literals inside while-loop commands now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__term_tab__term_tab.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parameter word targets inside array assignments now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__z__z.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parameter replacements with quoted backslashes now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__scd__scd": {
    "expectation": "parse_ok",
    "reason": "zsh prefix redirects and force-append redirects now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__scd__scd.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__screen__screen.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__tools__check_for_upgrade.sh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__config__p10k-classic.zsh": {
    "expectation": "parse_ok",
    "reason": "comment-only zsh elif bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__config__p10k-lean-8colors.zsh": {
    "expectation": "parse_ok",
    "reason": "comment-only zsh elif bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__config__p10k-lean.zsh": {
    "expectation": "parse_ok",
    "reason": "comment-only zsh elif bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__config__p10k-rainbow.zsh": {
    "expectation": "parse_ok",
    "reason": "comment-only zsh elif bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__internal__configure.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh always clauses parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__gitstatus__gitstatus.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh conditional pattern operands with inline controls now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-loop.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-nested-precommand.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-precommand-option-argument1.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-precommand-option-argument2.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-precommand-option-argument3.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias-precommand-option-argument4.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__alias.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__array-cmdsep1.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__cmdpos-elision-partial.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__commmand-parameter.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__off-by-one.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__opt-shwordsplit1.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__param-precommand-option-argument1.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__param-precommand-option-argument3.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__precommand-unknown-option.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__precommand4.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__sudo-command.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__sudo-comment.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__sudo-redirection.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__sudo-redirection2.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__test-data__sudo-redirection3.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__root__root-highlighter.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__tests__generate.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh always clauses parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__tests__test-highlighting.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__tests__test-perfs.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh always clauses parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__tests__test-zprof.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh always clauses parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__prompt_info_functions.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh line-continued multi-name function headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__keychain__keychain.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh nameless function keyword commands now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__macos__music": {
    "expectation": "parse_ok",
    "reason": "zsh multi-name function keyword headers with trailing parens now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__sublime-merge__sublime-merge.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh top-level anonymous paren function wrappers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__virtualenvwrapper__virtualenvwrapper.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh anonymous function commands now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__internal__worker.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh anonymous paren eval callbacks now parse in loop bodies"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__cli.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh grouped case alternatives with literal prefixes now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__termsupport.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh jobspec case patterns with numeric ranges and grouped alternatives now parse"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__tools__upgrade.sh": {
    "expectation": "parse_ok",
    "reason": "zsh case patterns with trailing optional suffix groups now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__gitstatus__mbuild": {
    "expectation": "parse_ok",
    "reason": "zsh ;| case terminators are preserved across repeated fallthrough arms"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-autosuggestions__src__bind.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh infix grouped case alternatives with trailing wildcards now parse"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-autosuggestions__zsh-autosuggestions.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh infix grouped case alternatives with trailing wildcards now parse"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__tests__tap-colorizer.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh wrapped wildcard case patterns now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__git.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported in conditions and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__battery__battery.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported in nested branches and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__extract__extract.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported in conditions and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__rake-fast__rake-fast.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact brace bodies after && and || are supported in conditions and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__rbenv__rbenv.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported in nested branches and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__urltools__urltools.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported in nested branches and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__internal__wizard.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported in nested branches and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__zsh-syntax-highlighting.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh compact function brace bodies are supported in nested branches and helper blocks"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__autoenv__autoenv.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parenthesized for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__colored-man-pages__colored-man-pages.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh multi-target for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__debian__debian.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh brace-bodied for loops now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__command-not-found__command-not-found.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "commented parenthesized zsh for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__gcloud__gcloud.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "this zsh loop fixture now parses in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__git__git.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "multi-target parenthesized zsh for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__pj__pj.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parenthesized for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__shrink-path__shrink-path.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh brace-bodied for loops now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__xcode__xcode.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parenthesized for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__tools__changelog.sh": {
    "expectation": "parse_ok",
    "reason": "zsh multi-target for headers now parse in zsh mode"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__main__main-highlighter.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh loop header variants in the highlighter fixture now parse"
  },
  "oils/zsh-large-corpus-regressions.test.sh::zsh-users__zsh-syntax-highlighting__highlighters__pattern__pattern-highlighter.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh inline glob controls inside conditional patterns no longer lex as comments"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__theme-and-appearance.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh case patterns with grouped alternation now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_for_paren_do_done": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh parenthesized do/done loops"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_for_paren_brace": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh parenthesized brace loops"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_for_multi_target_in": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh multi-target for headers"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_for_digit_targets": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh numeric loop targets"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_case_suffix_group": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh suffix case alternation"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_case_numeric_range": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh numeric range case patterns"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_case_wrapper_alternatives": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh wrapper case alternatives"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_case_group_suffix": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh grouped case patterns with suffix globs"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_case_semipipe": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh ;| case terminators"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_conditional_subscript_unary": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh unary conditional operands with contextual subscripts"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_conditional_subscript_arith": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh arithmetic conditional operands with contextual subscripts"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_conditional_pattern_backrefs": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh conditional patterns with backreferences and parameter words"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_conditional_pattern_anchors": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh conditional patterns with start and end anchors"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_conditional_pattern_bare_group": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh conditional patterns with bare alternation groups"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_arithmetic_subscript_ref": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh arithmetic shell words with contextual subscripts"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_arithmetic_char_literal": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh arithmetic character literals"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_parameter_modifier_groups": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh parameter modifier groups with delimiter arguments"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_parameter_word_target": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh parameter word targets"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__lib__clipboard.zsh": {
    "expectation": "parse_ok",
    "reason": "compact function bodies with zsh background-pipe redirects now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__dash__dash.plugin.zsh": {
    "expectation": "parse_ok",
    "reason": "zsh parameter-flag array capture and match cleanup now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__genpass__genpass-xkcd": {
    "expectation": "parse_ok",
    "reason": "nested repeat loops with zsh arithmetic char literals now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::ohmyzsh__ohmyzsh__plugins__wd__wd.sh": {
    "expectation": "parse_ok",
    "reason": "regex elif ladders with arithmetic subscript conditionals now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__internal__p10k.zsh": {
    "expectation": "parse_ok",
    "reason": "MATCH-driven zsh replacement expressions now parse after their case arm"
  },
  "oils/zsh-large-corpus-regressions.test.sh::romkatv__powerlevel10k__internal__parser.zsh": {
    "expectation": "parse_ok",
    "reason": "while loops with arithmetic conditionals and zsh contextual subscripts now parse in this fixture"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_parameter_quoted_word_target_trim": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh quoted parameter word targets in trim operations"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_parameter_nested_length_target": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh nested length prefixes over replacement expressions"
  },
  "oils/zsh-large-corpus-regressions.test.sh::minimization__zsh_parameter_colon_modifier_targets": {
    "expectation": "parse_ok",
    "reason": "regression minimization for zsh colon modifier suffixes on identifier and positional targets"
  },
  "oils/zsh-large-corpus-regressions.test.sh": {
    "expectation": "skip",
    "reason": "zsh-only regression snippets are covered by the zsh-mode parser corpus test"
  }
}