optparse

Crates.iooptparse
lib.rsoptparse
version0.1.5
sourcesrc
created_at2021-04-13 10:12:15.612001
updated_at2021-04-14 09:44:54.735119
descriptionSimplified parsing of std::env and input arguments from the commandline
homepage
repositoryhttps://github.com/rootlou/optparse
max_upload_size
id382810
size971,677
Rootlou (Rootlou)

documentation

README

Docs

optparse

downloads build

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.

Commit count: 6

cargo fmt