use clap::Args;
use microsandbox::sandbox::Sandbox;
use crate::ui;
#[derive(Debug, Args)]
pub struct StartArgs {
pub name: String,
#[arg(short, long)]
pub quiet: bool,
}
pub async fn run(args: StartArgs) -> anyhow::Result<()> {
let spinner = if args.quiet {
ui::Spinner::quiet()
} else {
ui::Spinner::start("Starting", &args.name)
};
match Sandbox::start_detached(&args.name).await {
Ok(sandbox) => {
sandbox.detach().await;
spinner.finish_success("Started");
}
Err(e) => {
spinner.finish_clear();
return Err(e.into());
}
}
Ok(())
}