use clap::{Parser, Subcommand};
#[derive(Debug, Parser)]
#[command(author, version, about, long_about = None)]
pub struct Opts {
#[command(subcommand)]
pub command: Option<AppCommand>,
}
#[derive(Debug, Subcommand)]
pub enum AppCommand {
/// Removes the cache folder
Clean,
/// Updates binaries to newer versions (skips if already up to date)
Update(UpdateCommand),
/// Re-downloads binaries regardless of the current version
Upgrade(UpdateCommand),
/// Launches the workbench application
Workbench,
}
#[derive(Debug, Parser, Clone)]
pub struct UpdateCommand {
/// Override an operating system of downloading assets
#[clap(long, short)]
pub system: Option<String>,
}