lsp-bridge -- 速度最快的语法补全插件

什么意思,没看懂

treesitter 在部分语言上表现不错,但是对于 C++ 这样比较难分析的语言,尤其是使用模版、宏等东西之后,相比 treesitter,lsp 的效果有极大优势

lsp-bridge特别在意性能,我不确定lsp的语法渲染会不会卡手

给个测试代码吧

我搞错了,没事啦,不好意思打扰了 :stuck_out_tongue_closed_eyes:

其实真正需要的不是完全的基于 LSP 的语法高亮,只需要在 treesiter 高亮的基础上加 上类似 ccls 的 skipped range 就可以了,但可能比较复杂?

我现在的方法是使用 lsp-mode, 关闭自动的 semantic highlight, 然后 idle 时候自己 发送 lsp-semantic-tokens--request-update, 从返回的数据里面解析出可以跳过的部分。

当然不是 lsp-bridge 不好,只是经常工作在 terminal 下, acm 没法用 :)

你终端补全用的overlay还是minibuffer?

overlay

那估计比较麻烦,终端overlay还是要花很多精力

没事,不用终端时候还是很好的。 赞。

有没有为 acm 补全前端编写并添加后端的文档?另外我觉得 acm 应该存放在单独的仓库。

最近有点忙,我这周给acm写一下开发文档吧。

acm独立出来没啥用,因为专门为lsp-bridge设计的。

对于现有的 capf 后端,改写的工作量会比较大吗?另外有没有类似 cape 的混合多个后端(比如 copilot/tabnine + lsp)的方法?

改写工作量其实很小,acm已经支持多个后端混合了,而且混合逻辑非常简单。

这个 in-comment 的判断逻辑,似乎光标在行末的话还是会开启补全? 比如 python 的 # xxx|,光标在 | 时 in-comment 的断言是 nil。另外在 ‘’‘xxx’‘’ 这种注释里面,没有识别到是在注释,还是会弹出补全。

github提个issue吧

修复了

多 LSP Server 的讨论, 大家可以留言到 multiple lsp server · Issue #270 · manateelazycat/lsp-bridge · GitHub , 这个功能比较复杂, 会覆盖 lsp-bridge 大部分代码, 最近大段时间很少, 先写一个方案出来。

欢迎大家分享使用经验, 也欢迎 lsp-bridge 开发者提交方案建议和补丁。

感谢大家对 lsp-bridge 的支持!

6 个赞

录屏_选择区域_20220714220907

在多光标输入下,补全会一闪而过

github提个issue吧,论坛会忘记。