diff options
Diffstat (limited to 'src/run/builtin.rs')
| -rw-r--r-- | src/run/builtin.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs index a52c345..a40ef51 100644 --- a/src/run/builtin.rs +++ b/src/run/builtin.rs @@ -856,3 +856,41 @@ impl Builtin for source { Ok(()) } } + +#[derive(Copy, Clone)] +pub struct Break; + +impl Builtin for Break { + fn name(&self) -> &str { + "break" + } + + fn io( + &self, + _session: Arc<Mutex<Session>>, + _args: &[BString], + _stdin: &mut dyn Read, + _stdout: &mut dyn Write, + ) -> Result { + Err(Error::Break) + } +} + +#[derive(Copy, Clone)] +pub struct Continue; + +impl Builtin for Continue { + fn name(&self) -> &str { + "continue" + } + + fn io( + &self, + _session: Arc<Mutex<Session>>, + _args: &[BString], + _stdin: &mut dyn Read, + _stdout: &mut dyn Write, + ) -> Result { + Err(Error::Continue) + } +}
\ No newline at end of file |
