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

最好给一段方便测试的源代码,好重现就比较好修复。

在 rust 中可以支持 Inlay Hints 吗?

图片 Lsp-mode 也有这样的功能

可以提issue,不保证实现, LSP细节太多,精力有限。最快支持的方法就是有能力的同学自己贡献PR, 我可以快速合并。

今天安装使用了 corfu + lsp-bridge,感觉确实强!好用! :+1:
用emacs写 python 终于可以体会到快了!
目前在写 C/C++ 时,补全头文件,如果按 tab 键循环候选,会多补一个 >
不知道是否有对应设置?



或者是我的 corfu 中,tab键设置有问题?

(use-package corfu
  ;; TAB-and-Go customizations
  :custom
  (corfu-cycle t)             ;; Enable cycling for `corfu-next/previous'
  (corfu-preselect-first nil) ;; Disable candidate preselection

  ;; Use TAB for cycling, default is `corfu-complete'.
  :bind
  (:map corfu-map
        ("TAB" . corfu-next)
        ([tab] . corfu-next)
        ("S-TAB" . corfu-previous)
        ([backtab] . corfu-previous))

  :init
  (global-corfu-mode))

你用的doom-emacs和evil吗?

没有用doom-emacs,只用了 evil。

你把 evil 禁用对比测试一下,我估计是 evil 的某个命令和 lsp-bridge 冲突了。

我试了试,禁用了所有evil相关设置,并且将elpa目录内的evil、以及所有与evil相关的package都删除了。但还是出现同样的问题!

emacs -Q只加载lsp-bridge测试下

刚刚还发现,在写 python 时,如果是 evil 模式,在补全带有 _ 的内容时,比如 在候选时按tab键选择 file 时,如果按 esc,会在其后面多一个 _ ,变成

__file___ 

而不使用 evil 模式,就没有此问题。

我将所有配置清零,只加载了 lsp-bridge ,还是会出现这个问题

lsp-bridge没有imenu好不习惯,等treesitter实现不知要到猴年马月了。好奇 @manateelazycat 在文件中跳转变量,方程,类用的是什么?自带的imenu实现很粗糙的,能满足吗?

你用的clangd还是ccls,我以前用ccls就是这样。

clangd

我不用imenu

我重现不了你的这个问题

我是直接将 tree-sitter imenu pr里的那个文件拷下来用,感觉还行

前面我写有eglot跟lsp bridge混用方法可以试试,另外我不满足一个文件的imenu,装了个consult-eglot,可以列出整个项目的所有方法,变量等。

貌似和persistent-scratch 冲突了。 会导致persistent-scratch的buffer自动弹出来,不知道为啥

大佬有进度吗? 其实我觉得 lsp-bridge 自带的定义跳转和引用就挺好的,如果bug修不了的话我就准备移除了。