2 个不稳定版本
0.2.0 | 2024 年 8 月 4 日 |
---|---|
0.1.0 | 2024 年 7 月 14 日 |
9 在 #declaration
231 每月下载量
23KB
336 行
yafp
yafp 是一个非 POSIX 的 CLI 标志解析器,采用命令式风格标志声明,而不是通常的声明式风格。
功能
- 帮助生成。
- 具有使用文本的命令式标志声明。
- 支持布尔标志,默认为
false
,如果设置则为true
。 - 支持必需和可选值标志。
- 将值解析为指定的变量类型。
限制
- 仅支持短标志样式。
- 不支持标志组合,例如,
-fd
不是-f
和-d
,而是单个标志。 - 不支持非 UTF-8 参数。
用法
use yafp::Parser;
fn main() {
let mut parser = Parser::from_env();
// Declare flags.
parser.bool_flag("verbose", "this is used to get verbose output");
parser.required_flag("url", "this is a required flag");
parser.required_flag("workers", "this is an optional flag");
// finalize() must be called before accessing arguments.
// Unbound args are returned if any.
//
// An error is returned if there is a parsing error.
let result = parser.finalize();
let remaining = match result {
Ok(remaining) => remaining,
Err(e) => {
println!("{}: {}", parser.command, e);
exit(1);
}
};
// yafp parses values to the correct type.
let verbose: bool = parser.get_value("verbose").unwrap();
//...
}
许可证
MIT