mod asset;
mod cargo;
mod dev;
mod fmt;
mod ui;
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "topcoat")]
pub struct TopcoatCli {
#[command(subcommand)]
command: Command,
}
#[derive(Subcommand)]
enum Command {
Dev(dev::DevCommand),
Fmt(fmt::FmtCommand),
Asset(asset::AssetCommand),
Ui(ui::UiCommand),
}
pub async fn run() {
let cli = TopcoatCli::parse();
match cli.command {
Command::Ui(cmd) => cmd.run(),
Command::Fmt(cmd) => cmd.run().await,
Command::Dev(cmd) => cmd.run().await,
Command::Asset(cmd) => cmd.run().await,
}
}