spec_flag

Macro spec_flag 

Source
macro_rules! spec_flag {
    ($short:literal, $long:literal) => { ... };
    ($short:literal, $long:literal; $($key:ident = $value:expr),* $(,)?) => { ... };
    ($long:literal) => { ... };
    ($long:literal; $($key:ident = $value:expr),* $(,)?) => { ... };
    ($long:literal => $arg:literal) => { ... };
    ($long:literal => $arg:literal; $($key:ident = $value:expr),* $(,)?) => { ... };
    ($short:literal, $long:literal => $arg:literal) => { ... };
    ($short:literal, $long:literal => $arg:literal; $($key:ident = $value:expr),* $(,)?) => { ... };
}
Expand description

Create a SpecFlag with minimal boilerplate.

§Syntax

spec_flag!("-s", "--long")
spec_flag!("-s", "--long"; help = "description")
spec_flag!("--long")
spec_flag!("--long"; help = "description", var = true)
spec_flag!("--long" => "<arg>"; help = "description")

§Examples

use usage::spec_flag;

// Simple short and long flag
let f = spec_flag!("-v", "--verbose");

// Flag with help text
let f = spec_flag!("-f", "--force"; help = "Force operation");

// Long flag only
let f = spec_flag!("--all");

// Flag with an argument
let f = spec_flag!("--output" => "<file>"; help = "Output file");