Hasty Briefsbeta

双语

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开放预发布测试