aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Távora2026-01-11 00:35:54 +0000
committerJoão Távora2026-01-11 03:42:01 +0000
commitfde1a5ebeb5ff0f2a88d83f6c76984c8a4b19946 (patch)
tree030a9da097bfef2dc5486a1e80ee31454fe34954
parent68de337f265f6d1ea8243793855eba9185c2b3e5 (diff)
downloademacs-fde1a5ebeb5ff0f2a88d83f6c76984c8a4b19946.tar.gz
emacs-fde1a5ebeb5ff0f2a88d83f6c76984c8a4b19946.zip
Eglot: de-spam eglot-mode-line-progress
Too spammy when many progress reporters are created by servers such as rust-analyzer. * lisp/progmodes/eglot.el (eglot-mode-line-progress): Tweak.
-rw-r--r--lisp/progmodes/eglot.el18
1 files changed, 10 insertions, 8 deletions
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 8be88ab7316..f95451b35af 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -2667,14 +2667,16 @@ still unanswered LSP requests to the server\n"))))
2667 (cl-loop 2667 (cl-loop
2668 for pr hash-values of (eglot--progress-reporters server) 2668 for pr hash-values of (eglot--progress-reporters server)
2669 when (eq (car pr) 'eglot--mode-line-reporter) 2669 when (eq (car pr) 'eglot--mode-line-reporter)
2670 collect (eglot--mode-line-props 2670 for v = (nth 4 pr)
2671 (format "%s%%%%" (or (nth 4 pr) "?")) 2671 when v sum 1 into n and sum v into acc
2672 'eglot-mode-line 2672 collect (format "(%s) %s %s" (nth 1 pr) (nth 2 pr) (nth 3 pr))
2673 nil 2673 into blurbs finally return
2674 (format "(%s) %s %s" (nth 1 pr) 2674 (unless (zerop n)
2675 (nth 2 pr) (nth 3 pr))) 2675 (eglot--mode-line-props
2676 into reports 2676 (format "%d%%%%" (/ acc n 1.0))
2677 finally (return (mapconcat #'identity reports " /"))))) 2677 'eglot-mode-line
2678 nil
2679 (mapconcat #'identity blurbs "\n"))))))
2678 "Eglot mode line construct for LSP progress reports.") 2680 "Eglot mode line construct for LSP progress reports.")
2679 2681
2680(defconst eglot-mode-line-action-suggestion 2682(defconst eglot-mode-line-action-suggestion