use clap::Subcommand;
use wash_lib::cli::CommandOutput;
mod build;
mod deps;
mod publish;
#[derive(Debug, Subcommand, Clone)]
pub enum WitCommand {
Build(build::BuildArgs),
#[clap(alias = "fetch")]
Deps(deps::DepsArgs),
Publish(publish::PublishArgs),
}
pub async fn handle_command(cmd: WitCommand) -> anyhow::Result<CommandOutput> {
match cmd {
WitCommand::Build(args) => build::invoke(args).await,
WitCommand::Deps(args) => deps::invoke(args).await,
WitCommand::Publish(args) => publish::invoke(args).await,
}
}