Commit 818ae17
committed
Fix redirects on compound commands and negation handling
Parser fixes:
- Add 'redirects' field to compound commands (For, While, Until, If,
Case, Select, Group, Subshell) to capture redirects like:
'while read line; do echo $line; done < input.txt'
- Fix negation on simple commands: '! cmd' now correctly produces a
negated Pipeline, and '! cmd1 && cmd2' correctly shows cmd1 as negated
to_bash fixes:
- Output redirects after compound command closers (done, fi, esac, etc.)
- Handle redirects on Group and Subshell commands
Tests:
- Add tests/compound_redirects.rs with 16 tests for compound redirects
and negation handling
- Regenerate all snapshots with new redirects field1 parent f914d72 commit 818ae17
File tree
59 files changed
+511
-108
lines changed- src
- convert
- tests
- snapshots
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
59 files changed
+511
-108
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
| |||
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| 60 | + | |
| 61 | + | |
58 | 62 | | |
59 | 63 | | |
60 | 64 | | |
| |||
63 | 67 | | |
64 | 68 | | |
65 | 69 | | |
| 70 | + | |
| 71 | + | |
66 | 72 | | |
67 | 73 | | |
68 | 74 | | |
| |||
73 | 79 | | |
74 | 80 | | |
75 | 81 | | |
| 82 | + | |
| 83 | + | |
76 | 84 | | |
77 | 85 | | |
78 | 86 | | |
| |||
81 | 89 | | |
82 | 90 | | |
83 | 91 | | |
| 92 | + | |
| 93 | + | |
84 | 94 | | |
85 | 95 | | |
86 | 96 | | |
| |||
91 | 101 | | |
92 | 102 | | |
93 | 103 | | |
| 104 | + | |
| 105 | + | |
94 | 106 | | |
95 | 107 | | |
96 | 108 | | |
97 | 109 | | |
98 | 110 | | |
99 | 111 | | |
100 | 112 | | |
| 113 | + | |
| 114 | + | |
101 | 115 | | |
102 | 116 | | |
103 | 117 | | |
104 | 118 | | |
105 | 119 | | |
106 | 120 | | |
107 | 121 | | |
| 122 | + | |
| 123 | + | |
108 | 124 | | |
109 | 125 | | |
110 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | | - | |
| 185 | + | |
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
191 | 204 | | |
192 | 205 | | |
193 | 206 | | |
| |||
296 | 309 | | |
297 | 310 | | |
298 | 311 | | |
| 312 | + | |
299 | 313 | | |
300 | 314 | | |
301 | 315 | | |
302 | 316 | | |
303 | 317 | | |
304 | 318 | | |
| 319 | + | |
305 | 320 | | |
306 | 321 | | |
307 | 322 | | |
| |||
310 | 325 | | |
311 | 326 | | |
312 | 327 | | |
| 328 | + | |
313 | 329 | | |
314 | 330 | | |
315 | 331 | | |
316 | 332 | | |
317 | 333 | | |
| 334 | + | |
318 | 335 | | |
319 | 336 | | |
320 | 337 | | |
| |||
324 | 341 | | |
325 | 342 | | |
326 | 343 | | |
| 344 | + | |
327 | 345 | | |
328 | 346 | | |
329 | 347 | | |
330 | 348 | | |
331 | 349 | | |
| 350 | + | |
332 | 351 | | |
333 | 352 | | |
334 | 353 | | |
| |||
345 | 364 | | |
346 | 365 | | |
347 | 366 | | |
| 367 | + | |
348 | 368 | | |
349 | 369 | | |
350 | 370 | | |
351 | 371 | | |
352 | 372 | | |
353 | 373 | | |
| 374 | + | |
354 | 375 | | |
355 | 376 | | |
356 | 377 | | |
| |||
360 | 381 | | |
361 | 382 | | |
362 | 383 | | |
| 384 | + | |
363 | 385 | | |
364 | 386 | | |
365 | 387 | | |
366 | 388 | | |
367 | 389 | | |
| 390 | + | |
368 | 391 | | |
369 | 392 | | |
370 | 393 | | |
| |||
415 | 438 | | |
416 | 439 | | |
417 | 440 | | |
| 441 | + | |
418 | 442 | | |
419 | 443 | | |
420 | 444 | | |
421 | 445 | | |
422 | 446 | | |
423 | 447 | | |
| 448 | + | |
424 | 449 | | |
425 | 450 | | |
426 | 451 | | |
427 | 452 | | |
428 | 453 | | |
429 | 454 | | |
430 | 455 | | |
| 456 | + | |
431 | 457 | | |
432 | 458 | | |
433 | 459 | | |
434 | 460 | | |
| 461 | + | |
435 | 462 | | |
436 | 463 | | |
437 | 464 | | |
438 | 465 | | |
439 | 466 | | |
440 | 467 | | |
441 | 468 | | |
| 469 | + | |
442 | 470 | | |
443 | 471 | | |
444 | 472 | | |
445 | 473 | | |
| 474 | + | |
446 | 475 | | |
447 | 476 | | |
448 | 477 | | |
| |||
0 commit comments