Add auto-cleanup to eglot documentation buffer
This commit is contained in:
parent
69e77a7449
commit
7c2cb2f54d
12
init.el
12
init.el
@ -680,6 +680,18 @@ to `posframe-show' if the display is graphical."
|
|||||||
(when (not (get-buffer-window my/-eglot-documentation-buffer nil))
|
(when (not (get-buffer-window my/-eglot-documentation-buffer nil))
|
||||||
(switch-to-buffer-other-window my/-eglot-documentation-buffer t)
|
(switch-to-buffer-other-window my/-eglot-documentation-buffer t)
|
||||||
(switch-to-buffer-other-window buff t)))))))))
|
(switch-to-buffer-other-window buff t)))))))))
|
||||||
|
(defun my/-eglot-cleanup-doc-buffer (_server &optional _interactive _timeout
|
||||||
|
preserve-buffers)
|
||||||
|
(when (and (not preserve-buffers)
|
||||||
|
(buffer-live-p my/-eglot-documentation-buffer)
|
||||||
|
(cl-every (lambda (buffer)
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(let ((server (eglot-current-server)))
|
||||||
|
(or (not (eglot-lsp-server-p server))
|
||||||
|
(eglot--shutdown-requested server)))))
|
||||||
|
(buffer-list)))
|
||||||
|
(kill-buffer my/-eglot-documentation-buffer)))
|
||||||
|
(advice-add 'eglot-shutdown :after 'my/-eglot-cleanup-doc-buffer)
|
||||||
(defun my/-eglot-setup ()
|
(defun my/-eglot-setup ()
|
||||||
"Setup eldoc variables for `eglot-managed-mode-hook'."
|
"Setup eldoc variables for `eglot-managed-mode-hook'."
|
||||||
(setq-local evil-lookup-func #'my/eglot-documentation-at-point)
|
(setq-local evil-lookup-func #'my/eglot-documentation-at-point)
|
||||||
|
Loading…
Reference in New Issue
Block a user