argsys-0.0.21 has been yanked.
ArgSys 0.0.2
At first, you need to create templates:
let mut templates: Vec<Arg> = Vec::new();
templates.push( build_arg("--help", Some("-h"), "Displays help") );
templates.push( build_arg("--list", None, "Displays configurations") );
Next, you can get template index in array:
let arg_index: usize =
get_arg_index( templates.clone(), "--help".to_string() );
or:
use std::env;
let args: Vec<String> = env::args().collect();
for i in 1..args.len() { let current: String = args[i].clone();
match get_arg_index( templates.clone(), current.clone() ) {
Some(0) => {} Some(1) => {}
None => {}
_ => {}
}
}
Support for 'description' field is coming soon.
And full example:
use argsys::*;
use std::env;
fn main()
{
let mut templates: Vec<Arg> = Vec::new();
templates.push( build_arg( "--help", Some("-h"), "Displays help" ) );
templates.push( build_arg( "--list", None, "Displays configurations") );
let args: Vec<String> = env::args().collect();
for i in 1..args.len() {
let current: String = args[i],clone();
match get_arg_index( templates.clone(), current.clone() ) {
Some(0) => { println!("ArgSys help\n..."); }
None => { println!("Not found: {}", current.clone()); }
_ => {}
}
}
}
ArgSys help - v0.0.1-0.0.2