#命令行 #帮助 #cli #getopt #命令行参数 #用法

bin+lib aopt-help

生成命令行程序的帮助信息

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命令行界面

Download history 1/week @ 2024-04-20 7/week @ 2024-05-18 3/week @ 2024-05-25 9/week @ 2024-06-01 8/week @ 2024-06-08 7/week @ 2024-06-15 2/week @ 2024-06-22 4/week @ 2024-07-06 4/week @ 2024-07-20 240/week @ 2024-07-27 14/week @ 2024-08-03

259 每月下载量
用于 3 个 Crates(2 个直接使用)

MPL-2.0 许可证

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