use crate::internal;
use clap::{Args, Parser, Subcommand};
#[derive(Parser)]
#[clap(author, version, about, long_about = None)]
#[clap(propagate_version = true)]
pub struct Cli {
#[clap(subcommand)]
pub command: Command,
#[clap(flatten)]
pub base_args: BaseArgs,
}
#[derive(Subcommand)]
pub enum Command {
#[clap(name = "gho")]
GitHubOpen(internal::commands::gho::GitHubOpenOptions),
#[clap(name = "upgrade")]
Upgrade(internal::commands::upgrade::UpgradeOptions),
#[clap(name = "ford")]
ForEveryDartProject(internal::commands::ford::ForEveryDartProjectOptions),
#[clap(name = "fua")]
FvmUseForEveryFlutterProject(internal::commands::fua::FvmUseForEveryFlutterProjectOptions),
}
#[derive(Clone, Args)]
pub struct BaseArgs {
#[clap(short, long, global = true)]
pub verbose: bool,
#[clap(short, long, global = true)]
pub quiet: bool,
}