use clap::{Parser, ValueEnum}; #[derive(Parser)] #[command(version, about, long_about = None)] struct Cli { /// What mode to run the program in #[arg(value_enum)] mode: Mode, } #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum)] enum Mode { /// Run swiftly Fast, /// Crawl slowly but steadily /// /// This paragraph is ignored because there is no long help text for possible values. Slow, } fn main() { let cli = Cli::parse(); match cli.mode { Mode::Fast => { println!("Hare"); } Mode::Slow => { println!("Tortoise"); } } }