ITADN
NorfairKing/opt-env-conf
NorfairKing/opt-env-conf · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

OptEnvConf

NixCI

状态

已在我所有的产品以及部分公司的生产环境中使用。

目标

  • 统一解析命令行参数、环境变量和配置值。
  • 自文档化的解析器,实现结构正确的文档
  • 业界领先的命令行自动补全
  • 业界领先的错误处理
  • 对格式化友好的 API

与类似项目的比较

opt-env-confoptparse-applicativeenvparseautodocodec
Applicative parsing✔️✔️✔️✔️
解析参数✔️✔️✖️✖️
解析长选项✔️✔️✖️✖️
解析短选项✔️✔️✖️✖️
解析简写短选项✔️✔️✖️✖️
解析简写长选项✔️✔️✖️✖️
解析长开关✔️✔️✖️✖️
解析短开关✔️✔️✖️✖️
解析环境变量✔️✖️✔️✖️
解析配置值✔️✖️✖️✔️
生成的全局 --help 页面✔️✔️✖️✖️
彩色全局 --help 页面✔️✖️✖️✖️
按命令生成的 --help 页面✔️✔️✖️✖️
彩色按命令 --help 页面✔️✖️✖️✖️
生成的 --version 命令✔️✖️✖️✖️
生成的 manpage✔️✖️✖️✖️
有帮助的解析错误✔️✔️✔️✔️
彩色解析错误✔️✖️✖️✖️
生成的 manpage✔️✖️✖️✖️
拼写错误建议🚧✖️✖️✖️
Bash 补全✔️✔️✖️✖️
Zsh 补全✔️✔️✖️✖️
Fish 补全✔️✔️✖️✖️
静态设置检查✔️✖️✖️✖️

解析器与解释器

opt-env-conf 的核心是 Parser 的概念。 解析器是一棵设置树,可以以不同的方式进行解释。 目前,提供以下解释器:

  • 解析设置
  • 在运行时对解析器进行 Lint,以捕获在类型级别上难以发现的常见问题。
  • 运行设置检查(可能具有有限的能力)
  • 生成文档,包括 man 页面、--help 页面,以及递归地为每个命令生成文档。
  • 为 Bash、Zsh 和 Fish 生成 shell 补全
  • 生成 NixOS Option 类型

示例

示例应用程序 包含一个完整的示例。

此示例是 CI 构建的一部分,因此您可以放心其保持最新。