oysh/crates/oyster/src/main.rs
Charlotte Meyer c0e5aa2308 feat(builtins): add exit builtin
Signed-off-by: Charlotte Meyer <dev@buffet.sh>
2022-10-28 08:12:26 +00:00

19 lines
476 B
Rust

use std::process;
use oyster_lineedit::readline;
use oyster_parser::ast::Code;
use oyster_runtime::{Shell, Status};
fn main() {
let mut shell = Shell::new().unwrap();
shell.builtins_mut().add_defaults();
let mut exit_code = Status::SUCCESS;
while shell.is_running() {
let prog = readline("> ").unwrap();
let ast = Code::try_from(prog.as_ref()).unwrap();
exit_code = shell.run(&ast).unwrap();
}
process::exit(exit_code.0);
}