1 个不稳定版本
0.2.0 | 2019年10月5日 |
---|
#29 in #autocomplete
19KB
249 行
有关此仓库的信息,请参阅https://github.com/oilshell/oil/wiki/Shellac-Protocol-Proposal-V2 和 https://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