]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Get the resolveProvider capability only if completionProvider is present
authorYegappan Lakshmanan <yegappan@yahoo.com>
Tue, 23 May 2023 01:13:10 +0000 (18:13 -0700)
committerYegappan Lakshmanan <yegappan@yahoo.com>
Tue, 23 May 2023 01:13:10 +0000 (18:13 -0700)
autoload/lsp/completion.vim
autoload/lsp/lspserver.vim
doc/lsp.txt

index a8ef1a9cd6a4e3ab374994a77c92658c88a5f248..f2e706f99f937736e8a3295859bf847c37d09d8b 100644 (file)
@@ -592,6 +592,11 @@ export def BufferInit(lspserver: dict<any>, bnr: number, ftype: string)
     return
   endif
 
+  if !opt.lspOptions.autoComplete && !LspOmniComplEnabled(ftype)
+    # LSP auto/omni completion support is not enabled for this buffer
+    return
+  endif
+
   # buffer-local autocmds for completion
   var acmds: list<dict<any>> = []
 
@@ -615,9 +620,7 @@ export def BufferInit(lspserver: dict<any>, bnr: number, ftype: string)
                group: 'LSPBufferAutocmds',
                cmd: 'LspComplete()'})
   else
-    if LspOmniComplEnabled(ftype)
-      setbufvar(bnr, '&omnifunc', 'g:LspOmniFunc')
-    endif
+    setbufvar(bnr, '&omnifunc', 'g:LspOmniFunc')
   endif
 
   if lspserver.completionLazyDoc
index f7505de71ddd1fbde095202bcaecff632b009858..f6fa2b6ffa915688bd72400dbc1ac8744a2afec1 100644 (file)
@@ -110,12 +110,14 @@ def ServerInitReply(lspserver: dict<any>, initResult: dict<any>): void
 
   capabilities.ProcessServerCaps(lspserver, caps)
 
-  if opt.lspOptions.autoComplete && caps->has_key('completionProvider')
-    lspserver.completionTriggerChars =
+  if caps->has_key('completionProvider')
+    if opt.lspOptions.autoComplete
+      lspserver.completionTriggerChars =
                        caps.completionProvider->get('triggerCharacters', [])
+    endif
+    lspserver.completionLazyDoc =
+                       caps.completionProvider->get('resolveProvider', false)
   endif
-  lspserver.completionLazyDoc =
-                      caps.completionProvider->get('resolveProvider', false)
 
   # send a "initialized" notification to server
   lspserver.sendInitializedNotif()
index cabc041ca02c12846465973538395172b0d6c191..7bc11ddcb84297408c1ec8a774d0f7e7f359ad3b 100644 (file)
@@ -328,7 +328,9 @@ Additionally the following configurations can be made:
                                                *lsp-cfg-omnicompl*
        omnicompl       (Optional) a boolean value that enables (true)
                        or disables (false) omni-completion for these file
-                       types. By default this is set to "v:true".
+                       types. By default this is set to "v:true".  This value
+                       is applicable only if auto completion is disabled
+                       (|lsp-opt-autoComplete|).
                                                *lsp-cfg-processDiagHandler*
        processDiagHandler
                        (Optional) A |Funcref| or |lambda| that takes a list of