| use clap::{arg, command, value_parser}; |
| |
| fn main() { |
| let matches = cmd().get_matches(); |
| |
| // Note, it's safe to call unwrap() because the arg is required |
| let port: usize = *matches |
| .get_one::<usize>("PORT") |
| .expect("'PORT' is required and parsing will fail if its missing"); |
| println!("PORT = {}", port); |
| } |
| |
| fn cmd() -> clap::Command { |
| command!() // requires `cargo` feature |
| .arg( |
| arg!(<PORT>) |
| .help("Network port to use") |
| .value_parser(value_parser!(usize)), |
| ) |
| } |
| |
| #[test] |
| fn verify_cmd() { |
| cmd().debug_assert(); |
| } |