From: Andreas Louv Date: Wed, 12 Apr 2023 08:22:22 +0000 (+0200) Subject: Add support for a 'completion' language server X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=4c39ace3533a31eccdb9afb2e8efef94e3a3bb81;p=vim-lsp.git Add support for a 'completion' language server --- diff --git a/autoload/lsp/buffer.vim b/autoload/lsp/buffer.vim index 68304a5..8618286 100644 --- a/autoload/lsp/buffer.vim +++ b/autoload/lsp/buffer.vim @@ -46,6 +46,7 @@ export def BufLspServerGet(bnr: number, domain: string = null_string): dict endif var SupportedCheckFns = { + 'completion': (lspserver) => lspserver.isCompletionProvider, 'documentFormatting': (lspserver) => lspserver.isDocumentFormattingProvider, } diff --git a/autoload/lsp/completion.vim b/autoload/lsp/completion.vim index 5e7848e..b487cb5 100644 --- a/autoload/lsp/completion.vim +++ b/autoload/lsp/completion.vim @@ -369,7 +369,7 @@ enddef # omni complete handler def g:LspOmniFunc(findstart: number, base: string): any - var lspserver: dict = buf.CurbufGetServerChecked() + var lspserver: dict = buf.CurbufGetServerChecked('completion') if lspserver->empty() return -2 endif @@ -428,7 +428,7 @@ enddef # Insert mode completion handler. Used when 24x7 completion is enabled # (default). def LspComplete() - var lspserver: dict = buf.CurbufGetServer() + var lspserver: dict = buf.CurbufGetServer('completion') if lspserver->empty() || !lspserver.running || !lspserver.ready return endif @@ -466,7 +466,7 @@ enddef # Lazy complete documentation handler def LspResolve() - var lspserver: dict = buf.CurbufGetServerChecked() + var lspserver: dict = buf.CurbufGetServerChecked('completion') if lspserver->empty() return endif @@ -505,7 +505,7 @@ enddef # complete done handler (LSP server-initiated actions after completion) def LspCompleteDone() - var lspserver: dict = buf.CurbufGetServerChecked() + var lspserver: dict = buf.CurbufGetServerChecked('completion') if lspserver->empty() return endif diff --git a/doc/lsp.txt b/doc/lsp.txt index 2ce8a1a..4f373ba 100644 --- a/doc/lsp.txt +++ b/doc/lsp.txt @@ -1364,6 +1364,7 @@ By proving the configuration |lsp-cfg-features| it's possible specify which servers should be used for a given method. The following flags are supported > #{ + completion: true, documentFormatting: true } <