27 个版本 (7 个重大更改)
0.7.4 | 2024年5月22日 |
---|---|
0.6.4 | 2023年9月30日 |
#2441 in 开发工具
每月下载量 1,694
在 3 crates 中使用
35KB
677 代码行
Clier
Rust 命令行参数解析器
Clier
是一个用于 Rust 的命令行参数解析器和命令框架。
解析器
要启动一个新的 CLI 项目,运行
$ cargo new demo
$ cargo add clier
然后在 main.rs
中定义您的 CLI
use clier_parser::Argv;
let args: Argv = Argv::parse();
println!("{:#?}", args);
并尝试运行它
$ cargo run -- command subcommand --test=value --no-production --help --try-me=false
Argv {
commands: [
"command",
"subcommand",
],
flags: {
"test": "value",
"production": "false",
"help": "true",
"try-me": "false",
},
}
框架
use clier::run::ExitCode;
use clier::{CliMeta, Clier, CmdCollection, CmdMeta, Commands};
fn main() {
let clier_builder = Clier::parse().meta(CliMeta {
name: "example-clier".into(),
usage: Some("[command]".into()),
description: "testing".into(),
version: Some((0, 0, 0))
});
let app = clier_builder.runnable(vec![Commands::Collection(CmdCollection {
meta: CmdMeta::new("testing", "testing"),
children: Box::from([Commands::Command {
meta: CmdMeta::new("testchild", "testing"),
handler: |_| {
println!("hello");
ExitCode(0)
}
}])
})]);
app.run();
}
依赖项
~1.1–8.5MB
~65K SLoC