From: Yegappan Lakshmanan Date: Fri, 11 Mar 2022 04:48:55 +0000 (-0800) Subject: Add dummy handlers for workspace folders and client register capability messages X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=bc78ce6541eded6a7ae4149d016bda39d2f8d0db;p=vim-lsp.git Add dummy handlers for workspace folders and client register capability messages --- diff --git a/autoload/lsp/handlers.vim b/autoload/lsp/handlers.vim index 59abfb6b..3ad2adb 100644 --- a/autoload/lsp/handlers.vim +++ b/autoload/lsp/handlers.vim @@ -133,14 +133,13 @@ enddef # Result: Location | Location[] | LocationLink[] | null def ProcessDefDeclReply(lspserver: dict, req: dict, reply: dict): void var location: dict - if reply.result->type() == v:t_list && !reply.result->empty() && reply.result[0]->type() == v:t_dict + if reply.result->empty() + return + endif + if reply.result->type() == v:t_list location = reply.result[0] - elseif reply.result->type() == v:t_dict - # not sure if there possible 'dict' type of 'result' but just in case - location = reply.result else - # cannot assign 'null' to 'location' and/so all else cases assign '{}' - location = {} + location = reply.result endif symbol.GotoSymbol(lspserver, location, req.method) @@ -842,6 +841,27 @@ def ProcessApplyEditReq(lspserver: dict, request: dict) lspserver.sendResponse(request, {applied: true}, {}) enddef +# process the workspace/workspaceFolders LSP server request +# Request: "workspace/workspaceFolders" +# Param: none +def ProcessWorkspaceFoldersReq(lspserver: dict, request: dict) + lspserver.sendResponse(request, {}, {}) +enddef + +# process the client/registerCapability LSP server request +# Request: "client/registerCapability" +# Param: RegistrationParams +def ProcessClientRegisterCap(lspserver: dict, request: dict) + lspserver.sendResponse(request, {}, {}) +enddef + +# process the client/unregisterCapability LSP server request +# Request: "client/unregisterCapability" +# Param: UnregistrationParams +def ProcessClientUnregisterCap(lspserver: dict, request: dict) + lspserver.sendResponse(request, {}, {}) +enddef + def ProcessUnsupportedReq(lspserver: dict, request: dict) util.ErrMsg('Error: Unsupported request message received from the LSP server (' .. lspserver.path .. '), message = ' .. request->string()) enddef @@ -851,10 +871,10 @@ export def ProcessRequest(lspserver: dict, request: dict) var lspRequestHandlers: dict = { 'workspace/applyEdit': ProcessApplyEditReq, + 'workspace/workspaceFolders': ProcessWorkspaceFoldersReq, 'window/workDoneProgress/create': ProcessUnsupportedReq, - 'client/registerCapability': ProcessUnsupportedReq, - 'client/unregisterCapability': ProcessUnsupportedReq, - 'workspace/workspaceFolders': ProcessUnsupportedReq, + 'client/registerCapability': ProcessClientRegisterCap, + 'client/unregisterCapability': ProcessClientUnregisterCap, 'workspace/configuration': ProcessUnsupportedReq, 'workspace/codeLens/refresh': ProcessUnsupportedReq, 'workspace/semanticTokens/refresh': ProcessUnsupportedReq