use anyhow::Result;
use clap::Subcommand;
mod add;
mod commit;
mod diff;
mod init;
mod status;
#[derive(Subcommand, Debug, PartialEq)]
pub enum GitCMD {
Init(init::InitCMD),
Commit(commit::CommitCMD),
Status(status::StatusCMD),
Add(add::AddCMD),
Diff(diff::DiffCMD),
}
impl GitCMD {
pub fn run(self) -> Result<()> {
match self {
GitCMD::Init(init) => init.run()?,
GitCMD::Commit(commit) => commit.run()?,
GitCMD::Status(status) => status.run()?,
GitCMD::Add(add) => add.run()?,
GitCMD::Diff(diff) => diff.run()?,
}
Ok(())
}
}