use {
clap::{
Parser,
Subcommand,
ValueEnum,
},
std::path::PathBuf,
};
#[derive(Parser)]
#[command(name = "qb", about = "Kubernetes resource browser")]
pub struct Cli {
#[arg(short = 'e', long = "experimental")]
pub experimental: bool,
#[command(subcommand)]
pub command: Option<Command>,
}
#[derive(Subcommand)]
pub enum Command {
Version,
Man {
#[arg(short = 'o', long = "out")]
out: PathBuf,
#[arg(short = 'f', long = "format", value_enum)]
format: ManualFormat,
},
Autocomplete {
#[arg(short = 'o', long = "out")]
out: PathBuf,
#[arg(short = 's', long = "shell", value_enum)]
shell: clap_complete::Shell,
},
}
#[derive(Clone, Copy, Debug, ValueEnum)]
pub enum ManualFormat {
Manpages,
Markdown,
}