#autocomplete #shell #shellac #cli #shell-ac #command-arguments

app shellac-json

Shell无关的补全服务器:命令参数自动补全JSON转换

1 个不稳定版本

0.2.0 2019年10月5日

#29 in #autocomplete

MIT 许可证

19KB
249

有关此仓库的信息,请参阅https://github.com/oilshell/oil/wiki/Shellac-Protocol-Proposal-V2https://www.redox-os.org/news/rsoc-ion-ux-2/

目标

最终目标是成为一个二进制文件

  • 以最小的延迟响应请求。理想情况下,对于静态补全小于10ms,以至于对用户来说甚至不可见
  • 能够支持按需补全。这意味着应该大量使用缓存来避免重复工作
  • 处理多个(多达 ~20 个)并发客户端,同时保持每个客户端的延迟都较低
  • 支持参数的定义
  • 支持调用各种外部命令进行动态补全

规范

请参阅原始修改的提案,以获取正式规范。

非正式的shellac定义文件可以在补全文件夹中找到。

与shell的集成

通信通过cap'n proto处理,使用shellac.capnp中找到的定义。Shell可以选择为每个请求启动一个二进制文件(简单但速度慢),或推荐使用套接字进行共享、扩展通信的设置。这是一个初步版本,因此API尚未最终确定。目前更关注的是稳定定义文件格式,而不是面向shell的协议,因此预计会有所变化。

贡献

请通过https://oilshell.zulipchat.com/#narrow/stream/146045-shell-autocompletion进行讨论,并随时提出问题和MR。任何帮助都非常受欢迎。

警告:这是一个原型

依赖项

~5MB
~102K SLoC