Variable: eglot-mode-line-progress

eglot-mode-line-progress is a variable defined in eglot.el.gz.

Value

(:eval
 (when-let ((s (eglot-current-server)))
   (cl-loop for pr in
	    (cl-delete 'eglot--mode-line-reporter
		       (hash-table-values
			(eglot--progress-reporters s))
		       :key #'car :test-not #'eq)
	    for v = (nth 4 pr) when v sum 1 into n and sum v into acc
	    collect
	    (format "(%s) %s %s" (nth 1 pr) (nth 2 pr) (nth 3 pr))
	    into blurbs finally return
	    (unless (zerop n)
	      (eglot--mode-line-props (format "%d%%%%" (/ acc n 1.0))
				      'eglot-mode-line nil
				      (mapconcat #'identity blurbs
						 "\n"))))))

Documentation

Eglot mode line construct for LSP progress reports.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(defconst eglot-mode-line-progress
  '(:eval
    (when-let ((s (eglot-current-server)))
      (cl-loop
       for pr in (cl-delete 'eglot--mode-line-reporter
                            (hash-table-values (eglot--progress-reporters s))
                            :key #'car :test-not #'eq)
       for v = (nth 4 pr)
       when v sum 1 into n and sum v into acc
       collect (format "(%s) %s %s" (nth 1 pr) (nth 2 pr) (nth 3 pr))
       into blurbs finally return
       (unless (zerop n)
         (eglot--mode-line-props
          (format "%d%%%%" (/ acc n 1.0))
          'eglot-mode-line
          nil
          (mapconcat #'identity blurbs "\n"))))))
  "Eglot mode line construct for LSP progress reports.")