use clap::{Parser, Subcommand, ValueEnum};
#[derive(Parser)]
#[command(name = "feeling", version, about = "A beautiful mood tracker for your terminal")]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Command>,
#[arg(value_parser = clap::value_parser!(u8).range(1..=10))]
pub feeling: Option<u8>,
#[arg(short, long)]
pub date: Option<String>,
#[arg(long)]
pub data_path: Option<String>,
#[arg(long, value_enum)]
pub view: Option<View>,
#[arg(short, long, global = true)]
pub yes: bool,
}
#[derive(Subcommand)]
pub enum Command {
Week,
Month,
Year,
Prompt,
Remove {
#[arg(short, long)]
date: Option<String>,
},
Export,
}
#[derive(Clone, ValueEnum)]
pub enum View {
Week,
Month,
Year,
}