aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-lsp.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/prog-lsp.el')
-rw-r--r--modules/prog-lsp.el18
1 files changed, 13 insertions, 5 deletions
diff --git a/modules/prog-lsp.el b/modules/prog-lsp.el
index e03a475d6..045dda248 100644
--- a/modules/prog-lsp.el
+++ b/modules/prog-lsp.el
@@ -48,10 +48,15 @@ Idempotent — `add-to-list' skips patterns already present."
(dolist (pattern cj/lsp-file-watch-ignored-extras)
(add-to-list 'lsp-file-watch-ignored-directories pattern)))
-(defun cj/lsp--remove-eldoc-provider ()
- "Remove lsp-mode's provider from `eldoc-documentation-functions' here.
-Buffer-local — the global hook value is untouched."
- (remove-hook 'eldoc-documentation-functions #'lsp-eldoc-function t))
+(defun cj/lsp--remove-eldoc-provider-global ()
+ "Remove lsp-mode's provider from the global `eldoc-documentation-functions'.
+Run once after lsp-mode loads. The previous per-buffer removal raced
+lsp's own buffer-local add: the buffer-local remove fired before lsp
+populated the buffer-local hook (lsp inherits the global default and
+mutates from there), so the buffer-local hook ended up holding the
+provider anyway. Removing globally before lsp ever attaches a buffer
+makes the absence stick for every subsequent lsp-managed buffer."
+ (remove-hook 'eldoc-documentation-functions #'lsp-eldoc-function))
;;;;; ---------------------------- LSP Mode ---------------------------
@@ -73,7 +78,10 @@ Buffer-local — the global hook value is untouched."
(setq lsp-enable-on-type-formatting nil)
(setq lsp-signature-auto-activate nil)
(setq lsp-signature-render-documentation nil)
- (add-hook 'lsp-managed-mode-hook #'cj/lsp--remove-eldoc-provider)
+ ;; Strip lsp-mode's eldoc provider from the GLOBAL hook value once,
+ ;; not per buffer. See `cj/lsp--remove-eldoc-provider-global' for
+ ;; why per-buffer racing didn't stick.
+ (cj/lsp--remove-eldoc-provider-global)
(setq lsp-modeline-code-actions-enable nil)
(setq lsp-modeline-diagnostics-enable nil)
(setq lsp-headerline-breadcrumb-enable nil)