From: Magnus Groß <magnus@mggross.com>
Date: Mon, 4 Sep 2023 18:16:43 +0000 (+0200)
Subject: Fix additionalTextEdits being ignored
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ddadd03eb9848d281c584eda8b001fd639a95ffd;p=vim-lsp.git

Fix additionalTextEdits being ignored

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
---

diff --git a/autoload/lsp/completion.vim b/autoload/lsp/completion.vim
index 0d64e2b..1fa85e2 100644
--- a/autoload/lsp/completion.vim
+++ b/autoload/lsp/completion.vim
@@ -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')