mod client;
mod info;
mod init;
mod reset;
use clap::Subcommand;
use crate::AppResult;
#[derive(Subcommand)]
pub enum ChestCommand {
#[command(flatten)]
Client(client::Cmd),
Init(init::Cmd),
Reset,
Info,
}
impl ChestCommand {
pub fn run(self) -> AppResult<()> {
match self {
ChestCommand::Init(init) => {
init.run();
Ok(())
}
ChestCommand::Client(client) => client.run(),
ChestCommand::Reset => reset::run(),
ChestCommand::Info => {
info::run();
Ok(())
}
}
}
}