From 47b7b1e47bb10183f5b4ee84d90b4e3eefabe75c Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 20 Feb 2022 14:13:04 +0100 Subject: send clientCapabilities Be nicer to the language servers by providing our capabilities so maybe we get more deterministic results. We do not support dynamicRegistration, markdown or workDoneProgress. --- init.lua | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) (limited to 'init.lua') diff --git a/init.lua b/init.lua index a063ac2..840fb38 100644 --- a/init.lua +++ b/init.lua @@ -170,10 +170,45 @@ do end assert(vis_pid) --- our capabilities we tell the language server when calling "initialize" -local client_capabilites = {} -client_capabilites.workspace = {} -client_capabilites.workspace.configuration = false +-- +--- ClientCapabilities we tell the language server when calling "initialize" +-- +local supported_markup_kind = {'plaintext'} + +local goto_methods_capabilities = { + linkSupport = true, + dynamicRegistration = false, +} + +local client_capabilites = { + workspace = {configuration = false}, + textDocument = { + synchronization = {dynamicRegistration = false, didSave = true}, + -- ask the server to send us only plaintext completionItems + completion = { + dynamicRegistration = false, + completionItem = {documentationFormat = supported_markup_kind}, + }, + -- ask the server to send us only plaintext hover results + hover = {dynamicRegistration = false, contentFormat = supported_markup_kind}, + -- ask the server to send us only plaintext signatureHelp results + signatureHelp = { + dynamicRegistration = false, + signatureInformation = {documentationFormat = supported_markup_kind}, + }, + declaration = {dynamicRegistration = false, linkSupport = true}, + definition = goto_methods_capabilities, + typeDefinition = goto_methods_capabilities, + implementation = goto_methods_capabilities, + references = {dynamicRegistration = false}, + rename = { + dynamicRegistration = false, + prepareSupport = false, + honorsChangeAnnotations = false, + }, + }, + window = {workDoneProgress = false, showDocument = {support = false}}, +} -- check if fzf is available and use fzf instead of vis-menu per default if os.execute('type fzf >/dev/null 2>/dev/null') then -- cgit v1.2.3