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

如果补全 “/bin/” 这种目录, bin 下有几千个文件又会触发 Emacs GC 卡很久(10秒左右), 昨天写了个补丁 Use multi-thread tech re-implement path backend. · manateelazycat/lsp-bridge@eb50e4c · GitHub , 把路径补全也用Python多线程实现了, 彻底解决超大目录触发Emacs卡顿问题。

2 个赞

我在设置中已经开启了格式化如下: (setq lsp-bridge-enable-auto-format-code t) 但是在下python 程序是报出:[LSP-Bridge] Current server not support code format. 这可能是什么原因?

就是字面意思, pyright 这个 LSP Server 不支持自动格式化, 不是每个 LSP Server 都支持自动格式化的功能的。

在同时加载consult 或者 no-littering是会出现补全选项都挤到一起的情况

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/") t)
(package-initialize)

(add-to-list 'load-path "~/.emacs.d/site-lisp/lsp-bridge")
(require 'yasnippet)
(yas-global-mode 1)
;; (require 'no-littering)
(require 'consult)
(require 'lsp-bridge)
(global-lsp-bridge-mode)

2023-01-07-115958_662x250_scrot

环境是 Emacs 28.2 Arch linux

python中有什么LSP Server可以支持格式化么?

没有LSP SERVER支持,你可以配合 black 使用。

那应该是别的包改了啥配置,自己研究吧,我不用 consult 和 ivy 这种插件。

添加了对 GitHub - iamcco/ds-pinyin-lsp: Dead Simple Pinyin Language Server 的支持。

安装方法:

  • cargo install ds-pinyin-lsp , 下载 ds-pinyin 的 dict.db3 文件, 并保存到目录 ~/.emacs.d/ds-pinyin/ , 最后开启选项 lsp-bridge-use-ds-pinyin-in-org-mode

效果图:

这个输入法相对于 WenLS 好的是, 当它处于长句的时候, 它会把单词也当做补全候选词来显示, 比较方便。

我测试的过程中, ds-pinyin 偶尔会挂掉, 有问题请给 ds-pinyin 反馈bug.

1 个赞

我发现当加载consult时候,acm-string-width-function的值就会变成string-pixel-width 导致计算空行就会有问题

你要更深入调查一下原因了,我也不明白。

好像是consult这几天要升级Emacs 29 的API 导致的一些问题,让Emacs以为这个函数被定义了,实际上并没有。

(when (version<= emacs-version "29")
  (setq acm-string-width-function 'string-width))

现在我先强制设置成这个吧,等consult升级完了,估计就好了。

1 个赞

加了两个选项, 更新看看吧。

1 个赞

重新下载了最新的版,测试可以设置背景颜色,非常方便。:+1:t2::+1:t2:

这两个值修改了,咋颜色没变化呢?

'(acm-frame-background-dark-color “#2a6cae”)

'(acm-frame-background-light-color “#439c6b”)

请问怎么设置背景颜色的啊?

我想反馈一个小问题,每次写Rust的时候,lsp-bridge 开起来是异步的,我得等一会他才能正常工作,有时候不知道什么原因补全没启动成功,我又要 restart 一次,你对把启动这一行为改为阻塞的有什么想法吗? :slightly_smiling_face:

(setq acm-frame-background-light-color "#eef4f7")

多谢。可以截个图看看你的效果吗?