1 个不稳定版本

0.1.0-beta.52021年10月13日
0.1.0-beta.1 2021年10月12日

#42 in #args


rust2uml中使用

MIT/Apache

35KB
694

argi

面向未来的参数解析 🚀

特性

  • 基于宏的方法,提供直观的命令行布局方式
  • 丰富的自动帮助生成,样式基于Python的click
  • 无依赖
  • 快速编译时间
  • 低二进制膨胀

这个库旨在替换基于功能丰富的structopt/clap的接口,同时也基于pico-args的轻量级接口,因为它具有小型的工作流程和编译占用。由于这个crate还没有经过充分的实战测试,小型程序是使用这个库的理想选择。

用法

将以下内容放入您的 Cargo.toml 文件

[dependencies]
argi = "0.1.0-beta.5"

示例

完整演示(帮助页面

use argi::{cli, data};

fn main() {
    cli!(
        help: "Imaginary webapp program, allowing simple tasks",
        launch: {
            help: "Launches instance to given address",
            run: (|ctx, _| todo!("Launch at port {:?}", data!(ctx => --port))),
            --db [url]: { help: "Database URL" },
            --bind [url]: { help: "Binding address" },
            --port [port]: { help: "Port to hook onto" },
        },
        delete [int?]: {
            help: "Deletes an optional id from the database",
            run: (|_, data| todo!("Delete {:?}", data))
        }
    )
    .launch();
}

您可以在以下目录中找到更多示例:examples/

许可

此项目采用MIT和Apache双重许可,因此您可以根据自己的意愿选择其中之一。以下是文件链接

无运行时依赖