]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Add support for a 'completion' language server
authorAndreas Louv <andreas@louv.dk>
Wed, 12 Apr 2023 08:22:22 +0000 (10:22 +0200)
committerAndreas Louv <andreas@louv.dk>
Thu, 13 Apr 2023 21:58:31 +0000 (23:58 +0200)
autoload/lsp/buffer.vim
autoload/lsp/completion.vim
doc/lsp.txt

index 68304a5bb84cb8f43b92b1bc997f5ee5d28b1979..861828621218925e5ca421e7f1ab17d6ddc3460b 100644 (file)
@@ -46,6 +46,7 @@ export def BufLspServerGet(bnr: number, domain: string = null_string): dict<any>
   endif
 
   var SupportedCheckFns = {
+    'completion': (lspserver) => lspserver.isCompletionProvider,
     'documentFormatting': (lspserver) => lspserver.isDocumentFormattingProvider,
   }
 
index 5e7848e405dc87093643eb877e121f80d5ae7dec..b487cb59f5732153c6528d134acbada969ae923f 100644 (file)
@@ -369,7 +369,7 @@ enddef
 
 # omni complete handler
 def g:LspOmniFunc(findstart: number, base: string): any
-  var lspserver: dict<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = 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<any> = buf.CurbufGetServer()
+  var lspserver: dict<any> = 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<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = 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<any> = buf.CurbufGetServerChecked()
+  var lspserver: dict<any> = buf.CurbufGetServerChecked('completion')
   if lspserver->empty()
     return
   endif
index 2ce8a1a589a55532d4d35f1d38ae6eb48cc2a41f..4f373ba06bbf0101bb8ca6568b72807de02ab039 100644 (file)
@@ -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
 }
 <