branch: externals/eglot commit f8556b7e76ef7086191c469979274e499d992aed Author: rbrtb <104695105+rb...@users.noreply.github.com> Commit: GitHub <nore...@github.com>
Fix #941: Ensure exit-function of eglot-c-at-point runs on exact match When the completion is exact match, exit-function should still run. Say one is using auto-imports feature of pyright. One types foo, and triggers the completion. There are two candidates: foo and foo_bar. If one chooses foo, the status would be 'exact' instead of 'finished', thus exit-function is not executed, foo is not auto-imported. * eglot.el (eglot-completion-at-point): Consider 'exact status. Copyright-paperwork-exempt: Yes --- eglot.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eglot.el b/eglot.el index 3d1b19c905..81c545e64f 100644 --- a/eglot.el +++ b/eglot.el @@ -2649,7 +2649,7 @@ for which LSP on-type-formatting should be requested." (line-beginning-position)))) :exit-function (lambda (proxy status) - (when (eq status 'finished) + (when (memq status '(finished exact)) ;; To assist in using this whole `completion-at-point' ;; function inside `completion-in-region', ensure the exit ;; function runs in the buffer where the completion was