Function: eca--chat-buffer-candidates-for-session
eca--chat-buffer-candidates-for-session is a natively compiled
function defined in eca.el.
Signature
(eca--chat-buffer-candidates-for-session SESSION SEEN)
Documentation
Return completion candidates for SESSION.
SEEN is a hash table tracking previously used candidate names. Returns a list of (NAME . PLIST) entries.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca.el
(defun eca--chat-buffer-candidates-for-session (session seen)
"Return completion candidates for SESSION.
SEEN is a hash table tracking previously used candidate names.
Returns a list of (NAME . PLIST) entries."
(cl-loop
for chat-by-id in (eca--session-chats session)
for buf = (cdr chat-by-id)
when (buffer-live-p buf)
collect
(with-current-buffer buf
(let* ((title (substring-no-properties (eca-chat-title)))
(project (eca--session-project-name session))
(base (format "%s: %s" project title))
(n (gethash base seen 0))
(name (if (zerop n)
base
(format "%s (%s)" base (buffer-name buf)))))
(puthash base (1+ n) seen)
(cons name
(list :buffer buf
:session session))))))