Function: dirvish--get-session
dirvish--get-session is a natively compiled function defined in
dirvish.el.
Signature
(dirvish--get-session &optional KEY VAL)
Documentation
Return the first matched session has KEY of VAL.
Source Code
;; Defined in /nix/store/1gijwny2yx4fggrsb9l110h1ybs1gdk5-emacs-packages-deps/share/emacs/site-lisp/elpa/dirvish-20260725.1520/dirvish.el
(defun dirvish--get-session (&optional key val)
"Return the first matched session has KEY of VAL."
(setq key (or key 'type) val (or val 'default))
(cl-loop for dv being the hash-values of dirvish--sessions
for b = (cdr (dv-index dv))
with (fr tab psp) = (cl-loop for (_ v) on dirvish--scopes by 'cddr
collect (and (functionp v) (funcall v)))
if (or (null b) ; newly created session
(and (buffer-live-p b)
(eq (with-current-buffer b (dirvish-prop :tab)) tab)
(eq (with-current-buffer b (dirvish-prop :frame)) fr)
(eq (with-current-buffer b (dirvish-prop :persp)) psp)))
if (let ((res (funcall (intern (format "dv-%s" key)) dv)))
(cond ((eq val 'any) res)
((eq key 'roots) (memq val (mapcar #'cdr res)))
(t (equal val res))))
return dv))