From 3b06d1aa9ee674d6a66457eb38e0c0989cd4628d Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Mon, 20 Apr 2026 11:29:20 +0200 Subject: reading rc file --- src/parse/mod.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/parse/mod.rs') diff --git a/src/parse/mod.rs b/src/parse/mod.rs index 88d0362..e061d67 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -48,6 +48,32 @@ pub struct Block { pub commands: Vec>, } +#[derive(Debug, Clone, PartialEq)] +pub struct Script { + pub stmts: Vec>, +} + +impl Parse for Script { + fn parse(b: &mut Cursor<'_>) -> Result { + let mut stmts = Vec::new(); + + loop { + b.spaces(); + if b.is_empty() { + break; + } + + match Ast::parse(b) { + Ok(s) => stmts.push(s), + Err(ParseError::Eof) => break, + Err(e) => Err(e)?, + } + } + + Ok(Script { stmts }) + } +} + #[derive(Debug, Clone, PartialEq)] pub enum Ast { FunDecl(FunDecl), -- cgit v1.2.3