From 60ede9d4da117a13ef49ea5b7ac8e30a4386e086 Mon Sep 17 00:00:00 2001 From: Ryuichi Ueda Date: Tue, 19 Dec 2023 19:45:21 +0900 Subject: [PATCH] Add a loop --- src/elements/command/if.rs | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/elements/command/if.rs b/src/elements/command/if.rs index 8e2e1f7b..95693531 100644 --- a/src/elements/command/if.rs +++ b/src/elements/command/if.rs @@ -62,24 +62,21 @@ impl IfCommand { return None; } - /* loop { let mut then_script = None; - if command::eat_inner_script(feeder, core, "then", vec!["elif"], &mut if_script) { - - }else if command::eat_inner_script(feeder, core, "then", vec!["fi"], &mut if_script) { + if command::eat_inner_script(feeder, core, "then", vec!["fi", "else", "elif"], &mut then_script) { + ans.text.push_str("then"); + ans.text.push_str(&then_script.as_mut().unwrap().get_text()); + ans.then_scripts.push(then_script.unwrap()); + }else{ + return None; } - }*/ - let mut then_script = None; - if command::eat_inner_script(feeder, core, "then", vec!["fi"], &mut then_script) { - ans.text.push_str("then"); - ans.text.push_str(&then_script.as_mut().unwrap().get_text()); - ans.text.push_str(&feeder.consume(2)); //fi - ans.then_scripts.push(then_script.unwrap()); + if feeder.starts_with("fi") { + ans.text.push_str(&feeder.consume(2)); + break; + } - }else{ - return None; } loop {