1use clap::Parser;
6
7#[derive(Parser)]
9#[command(author, version, about, long_about = None)]
10#[command(propagate_version = true)]
11pub struct Cli {
12 #[command(subcommand)]
14 pub command: crate::commands::Commands,
15
16 #[arg(short, long, global = true)]
18 pub verbose: bool,
19
20 #[arg(long, value_enum, default_value_t = OutputFormat::Human, global = true)]
22 pub format: OutputFormat,
23
24 #[arg(short, long, global = true)]
26 pub config: Option<std::path::PathBuf>,
27}
28
29#[derive(clap::ValueEnum, Clone, Debug)]
31pub enum OutputFormat {
32 Human,
34 Json,
36 Yaml,
38}