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

今天加了一个新的命令 lsp-bridge-ignore-current-diagnostic , 有时候服务器的诊断信息是错的(比如我在EAF中使用动态模块, pyright就无法识别), 可以通过这个命令在行尾插入注释的方式来避免服务器一直检查当前行的错误。

其他语言要支持这个功能也非常方便,打开LSP服务器的json配置文件, 添加 ignore-diagnostic 字段即可 (python 中是 # type: ignore)。

2 个赞

话说 lsp-bridge 有类似 eafeaf-python-command 的变量吗,因为用了 conda 所以默认 python 不总是装了 python-epc 的那个。

lsp-bridge-list-diagnostics 增加了这个命令, 和查找引用一个用法,列出所有诊断信息的时候也可以顺带重构代码。

如果只是快速修复就 next/prev 跳转一下,这个列出来的功能主要是通过单独的 buffer 固定住,方便操作,也方便查看所有诊断信息,更方便点。

1 个赞

有呀 lsp-bridge-python-command , lsp-bridge 核心通讯代码就是从 EAF fork 出来的,这些兼容性的功能也没有少。

换了一下 class 的图标, 之前那个太丑了。

3 个赞

那个 function我也感觉丑 :joy:

这个东西是什么啊,我写Rust遇到的,这个东西等了好久不出结果,不能补全

新项目如果没有编译,会先编译

手动编译重启lsp-bridge还是这样怎么办

可能你的项目比较大,多等会,第一次 是会慢点

不,创建一个新项目就这样

报告一个问题: 今天在org-mode(估计和模式无关)使用english-helper,发现在窗口不是最大化的情况下,弹出的补全菜单有时会错位,超出窗口位置; 复现步骤:窗口不是最大化(我的窗口大约是屏幕的一般,但高和宽都不是最大化),开启english-helper,然后在行头的几个位置,输入modern这个单词,当输入mod三个字母时,弹出的补全菜单在窗口外,继续输入modern完成,补全窗口自动回复正常,在光标下了; 如果窗口最大化,则没有这个问题;感觉像是窗口在非最大化时计算位置有偏差; 并不是所有单词都会出现这个问题;我是输入modern时发现的;而且可以稳定复现;

大家也试试是不是有这个问题?

macOS emacs 29.0.50没有发现这个问题。补全菜单位置正确,没有跳动。

emacs -Q 先对比测试一下。

cargo 第一次 index 的时候会会很慢, 只要你加了依赖包, 和项目大小都不相关。

感觉应该是网络问题,网络环境是不是通畅?cargo 会拉 GitHub 的东西

考试回来一个下午了,还是卡在那里, :rofl:
@zwPapEr 手动编译一下还是这样诶


我发现问题在哪里了,我的项目结构是这样的

  • db.rs
  • handlers.rs
  • main.rs
  • models.rs
  • routes.rs
    我发现只有在 main.rs 中补全是有效的,其他文件连个补全都没有
    这是怎么回事啊

win10,emacs 29.0.50,问题依然容易重现,发现了两个单词,一个是modern,输入mod会出现,继续全部输入modern回复正常;另一个是master,即使输入完整了也不会回复正常; 但是如果是全屏,就不会出现问题;

今天又试了下,发现在elisp模式下没问题。看来还和模式有关?

每次编译之前 Cargo 默认应该都会拉一下 Index,手动编译不影响 LSP Bridge 用 Cargo 拉 Index 的部分,所以很可能 Cargo 一直在拉 Index 吧。

话说, @manateelazycat LSP Bridge 在拉 server 起来的时候,有没有传递 HTTPS_PROXY 之类的环境变量?

我觉得不是卡顿了,你看看我新的回复