1个不稳定版本
0.1.0 | 2022年11月18日 |
---|
#1505 在 数据库接口
11KB
186 行
pino_argparse是一个小巧的argparsing库,可以处理带有或没有值的短和长标志、子命令和基本验证。
在您的项目中使用
将以下内容添加到您的Cargo.toml
pino_argparse = { git = "https://github.com/MrPicklePinosaur/pino_argparse" }
待办事项
- 自动生成文档/帮助信息?
- 迭代器以按顺序提供标志
lib.rs
:
一个无依赖的简单arg解析库。
为您的命令行应用程序提供一个模式,并将处理程序附加到每个命令。支持短和长标志名称以及可选参数,查询标志值。
use pino_argparse::{Cli, Flag, FlagParse, Command};
fn main() {
// Get arguments
let args = std::env::args().collect();
// Initialize the CLI
let cli = Cli {
program_name: "myprogram",
synopsis: "a simple program to show of the argparse library",
root_command: Command {
flags: vec![
Flag::new("help").short('h'),
Flag::new("verbose").short('v'),
],
handler: |flagparse: FlagParse| -> Result<(), Box<dyn std::error::Error>> {
if flagparse.get_flag("help") {
println!("We called the help flag!");
}
Ok(())
},
..Default::default()
},
..Default::default()
};
// Run the CLI
let flagparse = cli.run(&args).unwrap();
}