Crates.io | subcommands |
lib.rs | subcommands |
version | 0.2.0 |
source | src |
created_at | 2023-12-22 18:17:51.500403 |
updated_at | 2023-12-22 20:36:42.138702 |
description | Command pattern |
homepage | |
repository | https://github.com/SIGMazer/subcommand |
max_upload_size | |
id | 1078570 |
size | 9,343 |
Subcommand it's library taht lets you easily add subcommand.
use std::env;
use subcommands::command::{ Commands, CommandRunner,CommandResult};
fn print_next(args: Vec<String>) -> CommandResult {
if args.len() < 1 {
return Err("Not enough arguments".into());
}
for arg in args {
println!("{}", arg);
}
Ok(0)
}
fn main() {
let args: Vec<String> = env::args().collect();
let mut commands = Commands::new(args);
commands.create("cmd1", "Description 1", |args| {
println!("Command 1 executed with args: {:?}", args);
Ok(0)
});
commands.create("cmd2", "Description 2", |args| {
println!("Command 2 executed with args: {:?}", args);
Ok(0)
});
commands.create("print", "Print next word in new line",print_next);
commands.run();
}