diff options
Diffstat (limited to 'src/run')
| -rw-r--r-- | src/run/builtin.rs | 22 | ||||
| -rw-r--r-- | src/run/mod.rs | 1 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs index bd82e27..9f3ff62 100644 --- a/src/run/builtin.rs +++ b/src/run/builtin.rs @@ -839,7 +839,7 @@ impl Builtin for ct { b"screen_clear" => { drop(se); Session::screen_clear(session); - }, + } b"history_previous" => se.history_up(), b"history_next" => se.history_down(), b"prompt_del_left" => se.del_left(), @@ -945,3 +945,23 @@ impl Builtin for Here { Ok(()) } } + +#[derive(Copy, Clone)] +pub struct logo; + +impl Builtin for logo { + fn name(&self) -> &str { + "logo" + } + + fn io( + &self, + _session: Arc<Mutex<Session>>, + _args: &[BString], + _stdin: &mut dyn Read, + stdout: &mut dyn Write, + ) -> Result { + stdout.write_all(&crate::icon())?; + Ok(()) + } +} diff --git a/src/run/mod.rs b/src/run/mod.rs index ddac394..a5fd69a 100644 --- a/src/run/mod.rs +++ b/src/run/mod.rs @@ -710,6 +710,7 @@ const BUILTINS: &[&'static dyn BuiltinClone] = &[ &builtin::Break, &builtin::Continue, &builtin::Here, + &builtin::logo, ]; pub fn builtin_map() -> HashMap<BString, &'static dyn BuiltinClone> { |
