NorfairKing/opt-env-conf · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
OptEnvConf
状态
已在我所有的产品以及部分公司的生产环境中使用。
目标
- 统一解析命令行参数、环境变量和配置值。
- 自文档化的解析器,实现结构正确的文档
- 业界领先的命令行自动补全
- 业界领先的错误处理
- 对格式化友好的 API
与类似项目的比较
opt-env-conf | optparse-applicative | envparse | autodocodec | |
|---|---|---|---|---|
| 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 构建的一部分,因此您可以放心其保持最新。