CLI's completion should know what options you've typed
4 months ago
- #Git
- #TypeScript
- #CLI
- Git的-C选项支持上下文感知的自动补全,可显示指定仓库路径下的分支名称
- 大多数命令行解析器孤立处理选项,导致要么提供无用的补全,要么无法处理依赖选项的补全
- Optique 0.10.0引入依赖关系系统来解决这个问题,同时保持类型安全
- 静态依赖可通过`or()`组合器处理,确保在定义时就能知晓有效组合
- 运行时依赖通过`dependency()`和`derive()`解决,允许有效值根据运行时输入动态确定
- `@optique/git`包提供异步值解析器,支持基于仓库上下文的补全(如获取指定Git仓库的分支名)
- 多重依赖可通过`deriveFrom()`管理,它能处理来自多个选项的值
- 支持异步I/O操作(如读取Git仓库或查询API)
- Optique的依赖系统确保类型安全,并在编译时捕获无效组合
- Optique 0.10.0已通过Deno和npm开放预发布测试