diff options
| author | Jonas Maier <jonas@x77.dev> | 2026-05-08 16:15:20 +0200 |
|---|---|---|
| committer | Jonas Maier <jonas@x77.dev> | 2026-05-08 16:15:20 +0200 |
| commit | 5697ecb492579413a7ce9589df6847a3e205c647 (patch) | |
| tree | 6e787029d7039bc67428e4e52b31715a85e72fb9 /src/parse/mod.rs | |
| parent | ac8733ec1a47bb6bffeb3b1db6adf0a10a7b87a6 (diff) | |
| download | pish-5697ecb492579413a7ce9589df6847a3e205c647.tar.gz | |
if parse test
Diffstat (limited to 'src/parse/mod.rs')
| -rw-r--r-- | src/parse/mod.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs index 8cc6a4f..47aff20 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -124,6 +124,22 @@ pub fn pipes<const N: usize>(cmds: [Command<PreExpansion>; N]) -> Ast<PreExpansi }) } +pub fn cond( + condition: Ast<PreExpansion>, + true_block: Block, + false_block: Block, +) -> Ast<PreExpansion> { + let Ast::Pipes(condition) = condition else { + panic!() + }; + Ast::If(If { + condition, + true_block, + false_block, + parse_progress: IfParseProgress::Done, + }) +} + pub fn estr(x: &[u8]) -> ExpString { ExpString { parts: vec![StringPart::Boring(x.to_vec())], |
