自从 Snails1.0 发布一周后, Snails 版本号不知不觉刷到 5.0 了, 感谢社区同学积极测试和提供帮助。
Snails 5.0 的更新如下:
- 166 次更新, 新增 5 个社区贡献者, 合并了 9 个社区补丁, 修复了超多 bug
- 补全窗口启动速度从 1~2 秒优化到瞬间 (插件首次加载依然需要点时间)
- 采用队列渲染策略替换了抢占式渲染策略, 将多后端渲染性能提升了 3~5 倍
- 默认集成了 9 种搜索后端, 按 “标签分组、 打开文件、 最近文件、 书签、 函数定义、 当前文件全文、 项目文件全文、 当前目录文件、 整个磁盘文件” 的优先级进行依次搜索, 已经覆盖了 90%的代码搜索和导航需求
- 其中当前文件全文和项目文件全文基于 ripgrep 来实现, 特别是在超大文件的内容搜索上, 要比 Emacs 内置的 isearch/grep 快很多
- 多后端搜索时, 当前选中的侯选词状态保持不变, 不会像 1.0 那样异步后端来数据后选中侯选词被强制切换成第一个
- 在 fuz.el 这个库安装以后, 自动切换成模糊匹配算法, 可以快速按照任意片段进行搜索, 而不需要连续输入相邻字符
- 增加了 snails-search-point 命令, 方便快速搜索当前光标处的内容
- 增加了很多自定义选项供大家个性化设置
- 更多更新细节请查看 Github
虽然整个架构进行了大幅度的优化和增强, 但是 Snails 的插件接口依然是非常简单灵活, 你只用花 5 分钟编写 20 行左右的过滤函数, 即可快速完成你想要的插件。