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

我不清楚mac平台emacs的编译参数,如果你的org-mode能显示svg图片就是可以显示的。

和字体没关系。

image 图片可以显示的! 我下载的最新emacs28.1-4

对了gui如何安装svg支持,我用brew install librsvg没啥用!

我不知道 macOS 怎么折腾, 抱歉。


brew install emacs-mac --with-natural-title-bar --with-imagemagick --with-spacemacs-icon --with-modules --with-rsvg --with-dbus --with-glib --with-ctags --with-starter --with-native-comp --with-mac-metal

1 个赞

好的,我再折腾折腾!

感谢,我来试试!

你好,按你方式可以了,谢谢了!

1 个赞

增加了手动弹出补全窗口的选项 lsp-bridge-complete-manually

2 个赞

多服务器代码的准备工作都做的差不多了, 只用针对 fileaction.py 函数做分支管理就行了, elisp端需要随时带上 lspserver 的ID信息。

但是现在还没有想清楚的是,多个lsp server返回补全内容以后, 怎么融合不同 lsp server 返回的补全内容?比如第一个 lsp server 返回内容太多,怎么让第二个 lsp server 补全内容可以快速看到呢?如果有三个 lsp server 呢?

要这么说,我倒是有个大胆的想法 :wink: 就是光标右边放两个窗口,一个是lsp1,一个是lsp2 不清楚可行不可行

补全的时候M-left和M-right不常用,完全可以重绑的吧?

不可行,这样用太奇怪了。

1 个赞

自己绑定即可

有人遇到,go-mode 在自动import 的时候,错乱的问题吗?

比如复现步骤,新建一个test文件

package demo 
// 不导入任何包,直接定义函数,并使用第三方包,让补全自动导入
// 如fmt.Println("demo")结果是
// import "fmt"
// 再次使用一个第三方包,就会错乱。

还有概率出现补全时,会覆盖部分代码,比如:在修改某个函数的过程中,提示补全然后选择回车,会从当前行向上覆盖几行。 发生错乱问题,重启后就没这个问题。这个问题是使用一段时间后会经常出现。

第一个问题我可以重现, 我看看能不能修好。

更新一下最新版, Sort lsp server's additionalTextEdits before apply file, avoid replac… · manateelazycat/lsp-bridge@0606d7f · GitHub 这个补丁修复了。

原因是 LSP Server 返回的代码替换建议, 不一定会按照从下到上的顺序, 比如你这个 demo, LSP Server 返回代码替换行的顺序是 7行、 2行、 3行, 最终会导致第二个 import 的位置是错的。

这个补丁的作用是, 再正在替换之前,做一个排序变成 7、3、2, 从代码底部向顶部依次做 replace 操作就不会出错了。

你这个几个问题都应该是同一个原因, 更新最新版测试一下吧, 感谢反馈。

:+1: import 没问题了 补全,覆盖的问题还是存在。

复现步骤:

  1. 按照复现import问题测试
  2. 然后在import下面定义一个数据结构。
  3. 移动到函数最后一行,初始化一个结构,如t:=Test{},使用lsp-bridge-code-action 填充数据结构
  4. 随便输入提示补全回车
package itsm

import (
	"fmt"
	"strings"
)

type Test struct  {
	Name string
	Age int
}
// TestDemo ...
func TestDemo()  {
	fmt.Println("...")
	strings.Split("...", ".")


	t:=Test{
		Name: "",
		Age:  0,
	}

	stri
}

我遇到的就是这个问题 :triumph: