#flags #command-line #intended #arguments-parser #clap #api #utilities

ezflags

无冗余的标志,适用于小型二进制程序

4 个版本

0.1.3 2020 年 3 月 27 日
0.1.2 2020 年 3 月 27 日
0.1.1 2020 年 1 月 24 日
0.1.0 2019 年 12 月 28 日

#73 in #intended

MIT 许可证

10KB
183

ezflags

一个简单易用的 Rust 命令行标志 API。

基于 golang 的标志 API 设计,允许进行简单的无冗余命令行解析。

它设计得简单,但并不提供 clap 的性能或所有功能。如果您需要高性能,请使用 clap。这个库旨在构建小型命令行工具。

let mut fs = FlagSet::new();
let mut int_flag: Option<i32> = None;
fs.add("num", "Info about num", &mut int_flag);
// <Binary> -num 3
let _remaining_args = fs.parse_args();
assert_eq!(int_flag, Some(3));

它还提供了一个简单的开关

let mut fs = FlagSet::new();
let mut switch = false;
fs.add("switch", "Pass this to set switch", &mut switch);
// <Binary> -switch
let _remaining_args = fs.parse_args();
assert_eq!(switch, true);

可以通过向二进制文件传递 -h--help 标志来打印帮助信息,并显示所有标志及其帮助信息后退出。

贡献

欢迎任何贡献,只需提交一个拉取请求,我会尽力处理。

无运行时依赖