]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Fix additionalTextEdits being ignored
authorMagnus Groß <magnus@mggross.com>
Mon, 4 Sep 2023 18:16:43 +0000 (20:16 +0200)
committerMagnus Groß <magnus@mggross.com>
Mon, 4 Sep 2023 18:18:48 +0000 (20:18 +0200)
Regression was introduced in 6f4fdc7bcc3a1ba041c6196b85b506bd0c207cf0.
The logic was still fine if the LSP server delayed the
additionalTextEdits field, but if we already got it, we ended up
ignoring it.

Fix this by checking for additionalTextEdits outside the delayed-resolve
condition.

Also see #389

autoload/lsp/completion.vim

index 0d64e2b9d9ccbf0aac52de51d4bc2fc0d9dba19e..1fa85e2cdb8c8a4fced876ceaba3ad8caf516fcf 100644 (file)
@@ -591,9 +591,9 @@ def LspCompleteDone(bnr: number)
     # additional text edits.  So try to resolve the completion item now to get
     # the text edits.
     completionData = lspserver.resolveCompletion(completionData, true)
-    if !completionData->get('additionalTextEdits', {})->empty()
-      textedit.ApplyTextEdits(bnr, completionData.additionalTextEdits)
-    endif
+  endif
+  if !completionData->get('additionalTextEdits', {})->empty()
+    textedit.ApplyTextEdits(bnr, completionData.additionalTextEdits)
   endif
 
   if completionData->has_key('command')