1 个不稳定版本
0.1.0-beta.5 | 2021年10月13日 |
---|---|
0.1.0-beta.1 |
|
#42 in #args
在rust2uml中使用
35KB
694 行
argi
面向未来的参数解析 🚀
特性
- 基于宏的方法,提供直观的命令行布局方式
- 丰富的自动帮助生成,样式基于Python的
click
库 - 无依赖
- 快速编译时间
- 低二进制膨胀
这个库旨在替换基于功能丰富的structopt
/clap
的接口,同时也基于pico-args
的轻量级接口,因为它具有小型的工作流程和编译占用。由于这个crate还没有经过充分的实战测试,小型程序是使用这个库的理想选择。
用法
将以下内容放入您的 Cargo.toml
文件
[dependencies]
argi = "0.1.0-beta.5"
示例
完整演示(帮助页面)
use argi::{cli, data};
fn main() {
cli!(
help: "Imaginary webapp program, allowing simple tasks",
launch: {
help: "Launches instance to given address",
run: (|ctx, _| todo!("Launch at port {:?}", data!(ctx => --port))),
--db [url]: { help: "Database URL" },
--bind [url]: { help: "Binding address" },
--port [port]: { help: "Port to hook onto" },
},
delete [int?]: {
help: "Deletes an optional id from the database",
run: (|_, data| todo!("Delete {:?}", data))
}
)
.launch();
}
您可以在以下目录中找到更多示例:examples/
!
许可
此项目采用MIT和Apache双重许可,因此您可以根据自己的意愿选择其中之一。以下是文件链接