LuaHelper icon indicating copy to clipboard operation
LuaHelper copied to clipboard

初始化luahelper-lsp的InitializeResult里,capabilities.executeCommandProvider.commands 为 null

Open pppKin opened this issue 3 years ago • 2 comments

如下:

{
	"capabilities": {
		// ...omitted...
		"executeCommandProvider": {
			"commands": null
		},
		// ...omitted...
	},
	"serverInfo": {
		"name": ""
	}
}

根据lsp的文档,commands应当为一个数组。此处返回null会导致有些lsp client初始化失败(例如helix 用到的 lsp-types)

pppKin avatar Oct 11 '22 11:10 pppKin

+1

andy380743909 avatar Apr 28 '25 15:04 andy380743909

我也碰到了这个问题,我用的客户端初始化失败。 目前我是修改了我的客户端代码,允许commands为null。但是我感觉这只是临时方案,不符合LSP规范,理论上应该改LuaHelper服务端的实现。我看了一下服务端代码,默认InitializeResponse里不包含executeCommandProvider的初始化逻辑,不知道最终序列化成JSON的时候不知道它怎么出现的,以及为什么commands被序列化为null了。感觉可能是用的jrpc2库的原因。我不是很擅长golang,可能我理解有误

andy380743909 avatar Apr 28 '25 15:04 andy380743909