3个版本 (重大更改)
0.3.0 | 2024年2月19日 |
---|---|
0.2.0 | 2024年2月18日 |
0.1.0 | 2024年2月17日 |
#690 in 开发工具
每月96次下载
79KB
2K SLoC
OClis
基于简单、直观的规格文件的CLI(命令行界面)应用程序构建器。
动机
构建CLI应用程序是一项重复性的任务。相同的代码反复编写。但别担心,OClis可以帮助您解决这个问题!
使用方法
cargoinstall oclis
oclis init
- 创建一个oclis.ncl
规格文件。- 根据您的喜好调整规格文件。
(查看示例目录以获取灵感。) - 运行
oclis build
以生成CLI解析代码
(它会自动检测主仓库的语言,但目前只支持PureScript。) - 将缺少的依赖项添加到您的项目中。
(例如,对于PureScript,请查看spago.yaml文件。) - 定义您命令的处理函数。
(查看Transity的主函数以获取示例。) - 将生成的代码提交到仓库。
工作原理
生成的CLI应用程序的处理流程
不支持的CLI设计
其他CLI框架的一些功能是故意不支持的
- 多次指定标志。 (例如,
tar -v -v -v
) 这很容易出错,因为很容易意外添加多次。请使用数字详细程度标志代替 (例如,tar -v=3
) 或定义自己的计数系统 (例如,tar -v=xxx
) - 在参数后指定标志/选项。(例如
pandoc in.md --output=out.pdf
)禁止这样做有助于防止意外提供被视为标志/选项的参数。建议的替代方案- 子命令:
pandoc convert in.md out.pdf
- 选项优先:
pandoc --output=out.pdf in.md
- 额外选项:
pandoc --input=in.md --output=out.pdf
- 子命令:
相关
其他CLI构建工具
- CLI定义语言 - 用于定义C++程序命令行界面的领域特定语言(DSL)。
- Decli - 声明式CLI工具构建器。
- docopt - 命令行界面描述语言。
- make-cli - Node.js的声明式CLI框架。
手册CLI框架
查看仓库 awesome-cli-frameworks 以获得全面概述。
规范
- clig.dev - 命令行界面指南。
- GNU长选项表
- Heroku CLI风格指南
- OpenAutoComplete - CLI自动完成规范。
- POSIX工具惯例
从CLI生成GUI
从简单代码生成GUI
依赖项
~28–40MB
~629K SLoC