diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | init.lua | 43 |
2 files changed, 39 insertions, 6 deletions
@@ -27,8 +27,6 @@ A dirty workaround we currently use is to send the whole file content in a `text method call before calling any other method. If someone can come up with an idea how to solve this I would appreciate contributions. -We never send any client capabilities. - Communicating with language-servers via other channels than stdin/stdout. Currently only clangd, pylsp and lua-language-server are configured by default and somewhat tested. @@ -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 |
