2 个不稳定版本

0.1.1 2023 年 12 月 29 日
0.0.1 2022 年 7 月 31 日

#249 in 配置

MIT 许可证

19KB
272

Applause

You deserve applause!

警告:Applause 尚未准备好使用。它可能还没有功能。

目录

概述

Applause crate 是 Clap 的逻辑继承者。它旨在成为一个更灵活、更强大、更人性化的命令行参数解析器。

注意:Applause 由一个完全不同的团队创建,目前没有得到 Clap 或其维护者的认可。

Clap 的遗产

Clap 允许 Rust 程序员使用属性注解现有的结构体来定义命令行界面。然后 Clap 生成了将命令行参数读取到该结构体所需的解析器,而不需要任何额外的代码。这种方法相对简单且灵活。

为什么选择 Applause?

Applause 是 Clap 的逻辑继承者。Clap 是一个伟大的工具,值得认可。我们曾考虑使用 Clap2 这个名字以示敬意,但担心这可能会被误解为 Clap 的新版本。我们决定使用 Applause,以继续向 Clap 表示敬意,同时暗示这个 crate 是特别的(值得鼓掌)。

开发信息

目标

  • 匹配 Clap 的大部分功能
  • 通过意见化的默认值最小化样板代码(内置电池,无需配置即可工作)
    • 默认启用所有功能
    • 默认将每个功能自动配置和运行
  • Config 解析器 & 生成器推导宏
    • 从/到多个来源解析和生成
      • 默认
      • 数据库
        • SQLite
        • MySQL
        • PostgreSQL
        • 键值存储
      • 配置文件
        • TOML
        • YAML
        • JSON
        • XML
        • INI
        • .ENV
      • 环境变量
      • 命令行界面
    • 模块化解析器/生成器(可以将子解析器插入到现有解析器中)
    • 在编译期间从文档注释生成文档
      • CLI 帮助
      • 手册页
      • Markdown
    • 字段属性允许解析/生成定制
      • 格式化字符串
      • 正则表达式
      • 基于自定义函数的解析
      • 模板文件规范
      • 验证
      • 类型转换
      • 子解析器/生成器插入
  • 功能门控所有不是核心必需的功能
  • 开发者易于添加功能(插件)
  • 与其他 Crates 集成(在功能门控之后)
  • 100% 文档覆盖
  • 100% 测试覆盖
  • 100% 示例覆盖
  • 视频教程

非目标

  • 支持所有可能的使用场景
  • 与Clap的向后兼容

依赖项

~215KB