Function: eca-session
eca-session is a natively compiled function defined in eca-util.el.
Signature
(eca-session)
Documentation
Return the session related to root of current buffer otherwise nil.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-util.el
(defun eca-session ()
"Return the session related to root of current buffer otherwise nil."
(or (eca-get eca--sessions eca--session-id-cache)
(let* ((root (directory-file-name
(expand-file-name (funcall eca-find-root-for-buffer-function))))
(session (or (-first (lambda (session)
(--first (string= it root)
(eca--session-workspace-folders session)))
(eca-vals eca--sessions))
;; Worktree fallback: only in merged mode, find a session
;; sharing the same git repo and add this worktree to it.
;; In isolated mode each worktree gets its own session.
(when (eq eca-worktree-mode 'merged)
(when-let* ((worktree-session (eca--session-for-worktree root)))
(eca--session-add-workspace-folder worktree-session root)
worktree-session)))))
(when session
(setq-local eca--session-id-cache (eca--session-id session)))
session)))