mod clone;
mod complete;
mod copy_untracked;
mod doctor;
mod find;
mod generate_man;
mod init;
mod list;
mod r#move; mod new;
mod prune;
mod shell_init;
use miette::Result;
use workon::WorktreeDescriptor;
use crate::cli::Cmd;
pub trait Run {
fn run(&self) -> Result<Option<WorktreeDescriptor>>;
}
impl Run for Cmd {
fn run(&self) -> Result<Option<WorktreeDescriptor>> {
match self {
Cmd::Clone(cmd) => cmd.run(),
Cmd::Complete(cmd) => cmd.run(),
Cmd::CopyUntracked(cmd) => cmd.run(),
Cmd::Doctor(cmd) => cmd.run(),
Cmd::Find(cmd) => cmd.run(),
Cmd::Init(cmd) => cmd.run(),
Cmd::List(cmd) => cmd.run(),
Cmd::Move(cmd) => cmd.run(),
Cmd::New(cmd) => cmd.run(),
Cmd::Prune(cmd) => cmd.run(),
Cmd::ShellInit(cmd) => cmd.run(),
Cmd::GenerateMan(cmd) => cmd.run(),
}
}
}