Crates.io | surd |
lib.rs | surd |
version | 0.1.0 |
source | src |
created_at | 2021-10-06 18:58:58.755206 |
updated_at | 2021-10-06 18:58:58.755206 |
description | Simple and minimal command line argument parser for Rust. |
homepage | https://gitlab.com/modeminal/libraries/surd |
repository | https://gitlab.com/modeminal/libraries/surd |
max_upload_size | |
id | 461316 |
size | 15,929 |
Simple and minimal command line argument parser for Rust.
extern crate surd;
fn main() {
// Create a new surd app.
let mut app = surd::Surd::new("test", "a test app", "aiocat", "1.0.0");
app.add_flag("t", "a test flag", Vec::new());
app.set_handler(run_main);
// Create a sub-command for main app.
let mut test_command = surd::SubCommand::new("test", "a test command");
test_command.add_usage("test test");
test_command.add_flag("at", "another test flag", vec!["atest".to_string()]);
test_command.add_alias("t".to_string());
test_command.set_handler(run_test);
app.add_command(test_command);
// Handle the command.
app.start();
}
fn run_main(found_flags: &Vec<surd::Flag>, found_args: Vec<String>) {
println!("main: {:?}", found_args);
for i in found_flags.iter() {
println!("{} - {}", i.description, i.value);
}
}
fn run_test(found_flags: &Vec<surd::Flag>, found_args: Vec<String>) {
println!("test: {:?}", found_args);
for i in found_flags.iter() {
println!("{} - {}", i.description, i.value);
}
}
If you found a bug or an error, please create a new issue at gitlab repository.
If you want to contribute this project:
This project is distributed under MIT license.
Under development.