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

gopls 不报错了。删完重新下没问题了。。就是python不知道被啥影响了,就是不提示doc

看看是不是 python 虚拟环境导致的? 我的一直是好的。

用 Git submodule 管理吧, 可以看看我的博客, 介绍了怎么用: 我平常是怎么折腾Emacs插件的?

很荣幸,谢谢,我之前用你的nox用了很久 :+1:

1 个赞

现在感觉使用 lsp-bridge 越来越舒适啦! 同时,今天在更新最新版 lsp-bridge 后,遇到了一个 corfu-doc的问题。
想问一下,大家的最新 corfu-doc 对 python 文档显示支持是否正常?

通过

emacs -Q

启动后,加载了 @manateelazycat 大佬给我的这个最简配置。只添加了红线处的两行~用于使用 curfu-doc



在编辑 elisp 代码时,超爽!会看到文档提示一切正常。



在编辑 python 时,遇到了两个问题,一个是候选无法循环,一个是不显示文档提示。

当按 ↑ ↓ 键的时候,会提示以下错误

Symbol’s function definition is void: corfu-doc--popup-support-p



不知大家是否有遇到这个问题?我分别换了三个系统,同样的 emacs -Q 后都会遇到这个问题!!!

红线的require都不需要吧

去掉 (require 'corfu-doc)后还是会出现这个问题。
红线处两句都去掉,还是会出现这个问题。

你的 corfu-doc 是最新版本吗?

corfu-mode-hook 那一句也不要, lsp-bridge 已经处理了。

因为以前也没有用过 curfu-doc,今天刚下来的这个,应该是最新版的吧?

你参考我的配置 lazycat-emacs/init-lsp-bridge.el at e6272fe299ed6caf19aea2e17ebbad3586086667 · manateelazycat/lazycat-emacs · GitHub

好的!大佬的配置果然简洁! :+1:我先参考学习一下,设置试试看看能不能行!回头反馈!!!感谢! :blush:

在参考了大佬的配置后,发现我这边之前没有加载 cape。目前使用以下最简配置,并使用最新版 corfu-doc,一切正常了!爽!

;;; init.el

;;; Require
(add-to-list 'load-path (concat user-emacs-directory "lisp/blove-extra/lsp-bridge"))
(add-to-list 'load-path (concat user-emacs-directory "elpa/corfu-doc"))
(require 'lsp-bridge)
(require 'lsp-bridge-icon)
(require 'lsp-bridge-orderless)

(require 'corfu)
(require 'corfu-history)
(require 'cape)

(corfu-history-mode t)
(global-lsp-bridge-mode)
(global-corfu-mode)



而且初步发现,通过设置参数开启或关闭文档提示,十分方便


(setq lsp-bridge-enable-candidate-doc-preview t) ;; 如果不设置默认是 t



(setq lsp-bridge-enable-candidate-doc-preview nil)



非常赞 :+1:大佬添加的这个显示文档的功能! :+1: :+1: :+1:

以下是在我参考了 @manateelazycat 大佬的配置后,修正的自己目前的配置!现在使用起来一切正常啦!爽!!!

(use-package posframe)
(use-package yasnippet)
(use-package markdown-mode)
(use-package cape)
(add-to-list 'load-path (expand-file-name "lisp/blove-extra/corfu-doc" user-emacs-directory))
(use-package corfu
  :custom
  (corfu-cycle t)
  (corfu-preselect-first nil)
  :bind
  (:map corfu-map
        ("TAB" . corfu-next)
        ([tab] . corfu-next)
        ("S-TAB" . corfu-previous)
        ([backtab] . corfu-previous)
		)
  :init
  (global-corfu-mode))

;;; ========== lsp-bridge settings ==========
(add-to-list 'load-path (expand-file-name "lisp/blove-extra/lsp-bridge" user-emacs-directory))
(require 'lsp-bridge)
(yas-global-mode 1)

;;; corfu setting:
(setq lsp-bridge-completion-provider 'corfu)
(require 'corfu-info)
(require 'corfu-history)
(require 'lsp-bridge-icon)
(require 'lsp-bridge-orderless)
(corfu-history-mode t)
(global-lsp-bridge-mode)
(when (> (frame-pixel-width) 3000) (custom-set-faces '(corfu-default ((t (:height 1.3))))))  ;; 让corfu适应高分屏

;;; For Xref support
(add-hook 'lsp-bridge-mode-hook (lambda ()
								  (add-hook 'xref-backend-functions #'lsp-bridge-xref-backend nil t)))

4 个赞

那个语法检查我看代码里面应该是支持在界面上下划线提示的,怎么我这边没看到啊 我用的gopls

要停止敲代码1秒以后才会显示

是因为我用的evil的缘故吗,我停下来也没看见提示 :triumph:

我这个地方没有看见diagnostic的buffer

这些有关diagnostics的变量是正常的吗

你打开 (setq lsp-bridge-enable-log t) 看一下 gopls 是否返回有诊断信息给你?