13 个版本
0.3.5 | 2024 年 7 月 30 日 |
---|---|
0.3.4 | 2023 年 8 月 14 日 |
0.3.3 | 2023 年 2 月 12 日 |
0.3.2 | 2022 年 12 月 17 日 |
0.2.1 | 2021 年 11 月 23 日 |
#396 在 命令行界面
259 每月下载量
用于 3 个 Crates(2 个直接使用)
70KB
2K SLoC
aopt
生成命令行程序的帮助信息。
示例
fn display_help<S: Set>(set: &S) -> Result<(), aopt_help::Error> {
let foot = format!(
"Create by {} v{}",
env!("CARGO_PKG_AUTHORS"),
env!("CARGO_PKG_VERSION")
);
let mut app_help = aopt_help::AppHelp::new(
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_DESCRIPTION"),
&foot,
aopt_help::prelude::Style::default(),
std::io::stdout(),
);
let global = app_help.global_mut();
global.add_block(Block::new("option", "[OPTION]", "", "OPTION:", ""))?;
global.add_block(Block::new("args", "[ARGS]", "", "ARGS:", ""))?;
for opt in set.iter() {
if opt.mat_style(Style::Pos) {
global.add_store(
"args",
Store::new(
Cow::from(opt.name().as_str()),
Cow::from(opt.hint().as_str()),
Cow::from(opt.help().as_str()),
Cow::from(opt.r#type().to_string()),
opt.optional(),
true,
),
)?;
} else if opt.mat_style(Style::Argument)
|| opt.mat_style(Style::Boolean)
|| opt.mat_style(Style::Combined)
{
global.add_store(
"option",
Store::new(
Cow::from(opt.name().as_str()),
Cow::from(opt.hint().as_str()),
Cow::from(opt.help().as_str()),
Cow::from(opt.r#type().to_string()),
opt.optional(),
false,
),
)?;
}
}
app_help.display(true)?;
Ok(())
}
更多
- simple-find-file
一个简单的文件搜索工具,使用 cargo install --path simple-find-file
尝试。
- snowball-follow
获取 xueqiu.com
中股票的跟随数,使用 cargo install --path snowball-follow
尝试。
许可证
MPL-2.0
依赖项
~570KB