Function: eca-chat--mode-line-string
eca-chat--mode-line-string is a natively compiled function defined in
eca-chat.el.
Signature
(eca-chat--mode-line-string SESSION)
Documentation
Build mode-line string for SESSION from eca-chat-mode-line-format.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--mode-line-string (session)
"Build mode-line string for SESSION from `eca-chat-mode-line-format'."
(if eca-chat--closed
(propertize "*Closed session*"
'font-lock-face 'eca-chat-system-messages-face)
(let* ((fmt eca-chat-mode-line-format)
(spacer-pos (-elem-index :spacer fmt))
(left-modules (if spacer-pos (-take spacer-pos fmt) fmt))
(right-modules (when spacer-pos
(-drop (1+ spacer-pos) fmt)))
(left (string-join
(-non-nil
(-map (lambda (m)
(eca-chat--mode-line-module session m))
left-modules))
""))
(right (string-trim
(string-join
(-non-nil
(-map (lambda (m)
(eca-chat--mode-line-module session m))
right-modules))
"")))
(fill (if (or (string-empty-p right)
(not (fboundp 'string-pixel-width)))
""
(let ((px (eca-chat--string-pixel-width right)))
(propertize
" " 'display
`((space :align-to (- right (,px)))))))))
(let ((result (concat left fill right)))
(if (eca-chat--has-pending-approvals-p)
(propertize result 'face
'eca-chat-approval-modeline-face)
result)))))