- 命令行界面符合POSIX
- 支持传统的嵌套结构定义方案
- 支持流式调用方式的定义方案
- 任意层级命令与子命令、别名
- 选项
- 支持`--long`, `-l`,短选项甚至允许2个字符,别名随意
- 多级选项自由输入,位置无论,短选项的组合随意:`-1abe` 相当于 `-1 -ab -e`
- 支持 `-D+`, `-D-`;支持 ToggleGroup,一组bool选项能够如同radio buttong group般被自动翻转
- 支持 `-I/usr/include -I=/usr/include -I /usr/include ` 以及引号环绕时的识别
- 支持 `--`
- 命令、选项可分组,分组顺序可自行掌控
- 命令、选项错误输入时的智能提示,或自定义相应处理器
- 支持隐含的调试输出:`~~debug` 和 `--tree`
- 支持build时写入编译信息,并支持 `-#` 输出构造时信息
- 支持 manpage 生成
- 支持 markdown 生成
- 支持 Bash 自动完成
- 支持环境变量注入
- 支持配置文件及其 `conf.d` 子目录的自动加载以及子目录的变化侦听
- 提供预置命令,诸如 -h, --help, --verbose, --debug 等,也提供generate子命令集
- 提供daemon插件,提供符合守护进程约定的支持,允许单条命令 `demo server install` 完成 systemd 服务的安装;调试端支持友好
- 支持 `git commit -m` 的外部环境变量指示的编辑器
- 支持密码输入
![](https://user-images.githubusercontent.com/12786150/58327052-29386500-7e61-11e9-8cd6-372aa1f14bfa.png)
golang
cli
command-line
parser
command-line-interface
command-line-parser
command-line-tool
command-line-arguments
0 回复
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传