Crates.io | clioptions |
lib.rs | clioptions |
version | 0.1.0 |
source | src |
created_at | 2016-10-06 17:31:16.26456 |
updated_at | 2016-10-06 17:31:16.26456 |
description | A very thin wrapper for command line arguments in Rust. |
homepage | https://github.com/stpettersens/clioptions |
repository | https://github.com/stpettersens/clioptions |
max_upload_size | |
id | 6741 |
size | 4,203 |
:heavy_dollar_sign: A very thin wrapper for command line arguments in Rust.
Cargo.toml
file.[dependencies]
clioptions = { git = "https://github.com/stpettersens/clioptions.git" }
extern crate clioptions;
use clioptions::CliOptions;
fn main() {
let cli = CliOptions::new("program_name"); // "program_name" is the fallback for argv[0].
let program = cli.get_program();
let mut filename = String::new();
if cli.get_num() > 1 {
for (i, a) in cli.get_args().iter().enumerate() {
match a.trim() {
"-h" | "--help" => display_usage(&program, 0),
"-v" | "--version" => display_version(),
"-f" | "--file" => filename = cli.next_argument(i),
// next_argument(i) gets the argument after i.
_ => continue,
}
}
}
if(!filename.is_empty()) {
do_something_with_filename(&filename);
}
}