[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 1.2 fc9bbf7 096/101: Fix #160: Properly delete inserted text afte
From: |
Christian Johansson |
Subject: |
[elpa] 1.2 fc9bbf7 096/101: Fix #160: Properly delete inserted text after completion |
Date: |
Thu, 29 Apr 2021 15:09:08 -0400 (EDT) |
tag: 1.2
commit fc9bbf76e3b82072407f40cb07f5b0b726ed5ace
Author: MichaĆ Krzywkowski <k.michal@zoho.com>
Commit: mkcms <k.michal@zoho.com>
Fix #160: Properly delete inserted text after completion
* eglot.el (eglot-completion-at-point): In :exit-function, delete only
the region of buffer that was inserted by completion.
---
eglot.el | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/eglot.el b/eglot.el
index d9c1c3a..c65d908 100644
--- a/eglot.el
+++ b/eglot.el
@@ -1543,6 +1543,7 @@ is not active."
(string-trim-left label))
(t
(or insertText (string-trim-left label))))))
+ (setq all (append all `(:bounds ,bounds)))
(add-text-properties 0 1 all completion)
(put-text-property 0 1 'eglot--lsp-completion all completion)
completion))
@@ -1604,13 +1605,19 @@ is not active."
insertText
textEdit
additionalTextEdits
+ bounds
&allow-other-keys)
(text-properties-at 0 comp)
(let ((fn (and (eql insertTextFormat 2)
(eglot--snippet-expansion-fn))))
(when (or fn textEdit)
- ;; Undo the completion
- (delete-region (- (point) (length comp)) (point)))
+ ;; Undo the completion. If before completion the buffer was
+ ;; "foo.b" and now is "foo.bar", `comp' will be "bar". We
+ ;; want to delete only "ar" (`comp' minus the symbol whose
+ ;; bounds we've calculated before) (github#160).
+ (delete-region (+ (- (point) (length comp))
+ (if bounds (- (cdr bounds) (car bounds)) 0))
+ (point)))
(cond (textEdit
(cl-destructuring-bind (&key range newText) textEdit
(pcase-let ((`(,beg . ,end) (eglot--range-region
range)))
- [elpa] 1.2 8529b55 089/101: Fix #124: add ability to move to LSP-precise columns, (continued)
- [elpa] 1.2 8529b55 089/101: Fix #124: add ability to move to LSP-precise columns, Christian Johansson, 2021/04/29
- [elpa] 1.2 90b3bfd 090/101: Fix #148: complex completions work when chosen from *completions*, Christian Johansson, 2021/04/29
- [elpa] 1.2 63c2bbc 092/101: Add support for TextEdits in completion, Christian Johansson, 2021/04/29
- [elpa] 1.2 d52738f 095/101: Treat tab characters as 1 column wide in position conversion functions, Christian Johansson, 2021/04/29
- [elpa] 1.2 7e9cc05 098/101: Fix #154: fix potential security issue fontifying LSP doc, Christian Johansson, 2021/04/29
- [elpa] 1.2 2bbf06e 097/101: Add support for R's languageserver (#161), Christian Johansson, 2021/04/29
- [elpa] 1.2 c667d79 093/101: Fix #125: add ability to report LSP-compliant columns, Christian Johansson, 2021/04/29
- [elpa] 1.2 a39a446 020/101: Close #61: Snappier completions that don't hinder typing, Christian Johansson, 2021/04/29
- [elpa] 1.2 2e21c12 084/101: * eglot.el (eglot-client-capabilities): Mention supported SymbolKinds., Christian Johansson, 2021/04/29
- [elpa] 1.2 9cee9eb 086/101: Move constants to top instead of forward-declaring, Christian Johansson, 2021/04/29
- [elpa] 1.2 fc9bbf7 096/101: Fix #160: Properly delete inserted text after completion,
Christian Johansson <=
- [elpa] 1.2 b573d42 003/101: Close #44: Don't turn on flymake-mode any more than is needed, Christian Johansson, 2021/04/29
- [elpa] 1.2 13d8da4 039/101: Fix textDocument/hover responses where MarkedString is a plist (#72), Christian Johansson, 2021/04/29
- [elpa] 1.2 cf4881c 081/101: Simplify eglot-code-action. Fix compilation warning, Christian Johansson, 2021/04/29
- [elpa] 1.2 0f8091f 082/101: Fix a bug when response to definitions request is a single location, Christian Johansson, 2021/04/29
- [elpa] 1.2 a81bb01 091/101: Tweak solution to #125 with a hint from Fangrui Song, Christian Johansson, 2021/04/29
- [elpa] 1.2 ba41ed8 099/101: Fix #167: correctly insert TextEdit-less snippets, Christian Johansson, 2021/04/29
- [elpa] 1.2 aa3de04 021/101: Require jsonrpc.el 1.0.2 (GNU ELPA didn't build 1.0.1), Christian Johansson, 2021/04/29
- [elpa] 1.2 7342d88 054/101: Close #115: Don't block kill-buffer-hook if server somehow hangs, Christian Johansson, 2021/04/29
- [elpa] 1.2 985ba0f 062/101: Improve signature help, Christian Johansson, 2021/04/29
- [elpa] 1.2 0509576 042/101: Improve snippet support, Christian Johansson, 2021/04/29