From: João Távora Date: Fri, 24 Jun 2022 09:35:07 +0000 (+0100) Subject: Apply any additionaltextedits unconditionally X-Git-Tag: emacs-29.0.90~1616^2~524^2~4^2~40 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ffcd537f82ecb05996c49014c5b72009134a927;p=emacs.git Apply any additionaltextedits unconditionally * eglot.el (eglot-completion-at-point): Apply any additionalTextEdits unconditionally. GitHub-reference: fix https://github.com/joaotavora/eglot/issues/981 --- diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index b058183fb96..eb5b86ed10b 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -2698,16 +2698,16 @@ for which LSP on-type-formatting should be requested." (eglot--range-region range))) (delete-region beg end) (goto-char beg) - (funcall (or snippet-fn #'insert) newText))) - (when (cl-plusp (length additionalTextEdits)) - (eglot--apply-text-edits additionalTextEdits))) + (funcall (or snippet-fn #'insert) newText)))) (snippet-fn ;; A snippet should be inserted, but using plain ;; `insertText'. This requires us to delete the ;; whole completion, since `insertText' is the full ;; completion's text. (delete-region (- (point) (length proxy)) (point)) - (funcall snippet-fn (or insertText label))))) + (funcall snippet-fn (or insertText label)))) + (when (cl-plusp (length additionalTextEdits)) + (eglot--apply-text-edits additionalTextEdits))) (eglot--signal-textDocument/didChange) (eldoc)))))))))