Function: doom-modeline-update-flymake
doom-modeline-update-flymake is a natively compiled function defined
in doom-modeline-segments.el.
Signature
(doom-modeline-update-flymake &rest _)
Documentation
Update flymake.
Source Code
;; Defined in /nix/store/1lcicrdd2r4b8rkc91nnn74ymk1jl6yd-emacs-packages-deps/share/emacs/site-lisp/elpa/doom-modeline-20260928.1632/doom-modeline-segments.el
(defun doom-modeline-update-flymake (&rest _)
"Update flymake."
(setq doom-modeline--flymake
(when (and (bound-and-true-p flymake-mode)
(bound-and-true-p flymake--state))
(let* ((known (hash-table-keys flymake--state))
(running (flymake-running-backends))
(disabled (flymake-disabled-backends))
(reported (flymake-reporting-backends))
(all-disabled (and disabled (null running)))
(some-waiting (cl-set-difference running reported)))
(let-alist (doom-modeline--flymake-count-errors)
(let* ((vsep (doom-modeline-vspc))
(seg (cond
((or (eq doom-modeline-check 'simple)
(and doom-modeline--limited-width-p (eq doom-modeline-check 'auto)))
(let ((count (+ .error .warning .note)))
(cond
(some-waiting
(concat
(doom-modeline-check-icon "nf-md-timer_sand" "⏳" "*" 'doom-modeline-debug)
(when (> count 0)
(concat
vsep
(doom-modeline-check-text (number-to-string count) 'doom-modeline-debug)))))
((null known)
(doom-modeline-check-icon "nf-md-alert_box_outline" "⚠" "!" 'doom-modeline-urgent))
(all-disabled
(doom-modeline-check-icon "nf-md-alert_box_outline" "⚠" "!" 'doom-modeline-warning))
(t
(if (> count 0)
(let ((face (cond ((> .error 0) 'doom-modeline-urgent)
((> .warning 0) 'doom-modeline-warning)
(t 'doom-modeline-info))))
(concat
(doom-modeline-check-icon "nf-md-alert_circle_outline" "⚠" "!" face)
vsep
(doom-modeline-check-text (number-to-string count) face)))
(doom-modeline-check-icon "nf-md-check_circle_outline" "✔" "*" 'doom-modeline-info))))))
((or (eq doom-modeline-check 'full)
(and (not doom-modeline--limited-width-p) (eq doom-modeline-check 'auto)))
(concat
(doom-modeline-check-icon "nf-md-close_circle_outline" "⮾" "!" 'doom-modeline-urgent)
vsep
(doom-modeline-check-text (number-to-string .error) 'doom-modeline-urgent)
vsep
(doom-modeline-check-icon "nf-md-alert_outline" "⚠" "!" 'doom-modeline-warning)
vsep
(doom-modeline-check-text (number-to-string .warning) 'doom-modeline-warning)
vsep
(doom-modeline-check-icon "nf-md-information_outline" "🛈" "!" 'doom-modeline-info)
vsep
(doom-modeline-check-text (number-to-string .note) 'doom-modeline-info)))
(t ""))))
(propertize
seg
'help-echo (concat
"Flymake\n"
(cond (some-waiting "Checking...")
((null known) "No Checker")
(all-disabled "All Checkers Disabled")
(t (format "%d/%d backends running\nerror: %d, warning: %d, note: %d"
(length running) (length known) .error .warning .note)))
"\nmouse-1: Display minor mode menu\nmouse-2: Show help for minor mode")
'mouse-face 'doom-modeline-highlight
'local-map (let ((map (make-sparse-keymap)))
(define-key map [mode-line down-mouse-1]
flymake-menu)
(define-key map [mode-line mouse-2]
(lambda ()
(interactive)
(describe-function 'flymake-mode)))
map))))))))