use clap::Parser;
use clap_complete::Shell;
#[derive(Debug, Parser)]
#[command(
name = "gstats",
author,
version=gflow::build_info::version(),
about = "Shows usage statistics for the gflow scheduler."
)]
#[command(styles=gflow::utils::STYLES)]
pub struct GStats {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(long, short = 'u', value_hint = clap::ValueHint::Other)]
pub user: Option<String>,
#[arg(long, short = 'a', conflicts_with = "user")]
pub all_users: bool,
#[arg(long, short = 't', value_hint = clap::ValueHint::Other)]
pub since: Option<String>,
#[arg(long, short = 'o', default_value = "table")]
pub output: String,
#[arg(long, global = true, help = "Path to the config file", hide = true)]
pub config: Option<std::path::PathBuf>,
}
#[derive(Debug, Parser)]
pub enum Commands {
Completion {
#[arg(value_enum)]
shell: Shell,
},
}