6 releases
0.1.5 | Apr 14, 2021 |
---|---|
0.1.4 | Apr 13, 2021 |
#263 in #parse
44 downloads per month
770KB
125 lines
Docs
optparse
License
This project is licensed under GPLv3.
Installation
Add optparse to your Project by downloading it from crates.io or simply adding it to your dependencies:
[dependencies]
optparse = ["0.1.0"]
Documentation
The documentation can be found here.
Usage
// import the crate
use optparse;
// functions/closures must take String as their only parameter
// and not return anything
fn hello(arg: String) {
println!("Hello {} \\o/", arg);
}
fn main() {
// create a new parser with a parser description
let mut parser = optparse::Parser::new("Example Description");
// register a flag and a corresponding function to be called
// from the command line
// register!(flag, command description, function/closure, parser);
optparse::register!("-welcome", "Example Description", hello, parser);
// run the parser using the arguments from std::env
// parse!(arguments, arguments length, parser)
let args: Vec<String> = std::env::args().collect();
optparse::parse!(args.clone(), args.len() as u8, parser);
}
Work in Progress
- aliasing
- single flag parsing
- multi parameter closures
You want to contribute? Feel free to leave a comment or create a pull request.