Fig全面介绍
Fig是一个旨在提高命令行使用效率和协作性的工具。它提供了一系列功能。最近因为工作需要相对全面的了解了fig,因此这里mark下。
Update Fig >> Amazon
08/28/2023,Fig被Amazon收购,这也说明了Fig的价值。
当前Fig已sunset,官网下载Fig,也已经变成了CodeWhisperer。不过补全体验一致,主要是去掉了非补全的功能。
Fig支持平台
当前仅支持
Mac
Linux还在开发中,具体状态见
补全之外的其他功能
- Dotfiles
- Scripts
补全原理
- 传统的命令补全是安装在了目标机器上,而很多命令行工具安装时要么没有补全支持,要么就是支持的七零八落的。为此,Fig这种选择了在客户端解决,比如Fig安装后本质是在客户端加载了既定的话规范,通过提示让用户进一步选择对应的命令选项,回车后写入原终端。循环往复从而解决用户输入命令难的问题。因此这种方案优势就是快,当然也会耗费一定的性能和体积,因为用户的命令越多,需要加载的命令也就越多。
- Fig之所在能跨终端显示补全GUI
GUI本身是利用前端JS/HTML/CSS构建
终端交互是利用Shell函数钩子+Accessibility定位+前端补全显示等结合实现的
Fig的一些资源
fig并非只有一个App,在几年时间里也贡献出了一套资源
补全规范
App中加载的规范即是来自于这里,并且利用GitHub社区力量,持续在更新中。如果你想做一款补全工具,那么这里的规范直接就可以拿来使用,即Fig App也是这一堆规范的使用方
补全规范脚手架
https://github.com/withfig/autocomplete-tools
比如想贡献规范,调试规范等,可以使用官方的补全工具。
命令手册
想了解Fig收录有哪些命令,可以在这里查看
利用fig补全规范实现的产品
Warp
inshellisense
XTerminal
写在最后
fig是个App,其最重要的是命令补全。
Fig最有价值的并非App,而是定下了一整套的补全规范协议,利用社区力量也贡献出了500+命令补全规范。如果是说subcommands,那就是28k(目前),所以很棒。而这或许就是能被Amazon收购的原因。