Function: dirvish--try-reuse
dirvish--try-reuse is a natively compiled function defined in
dirvish.el.
Signature
(dirvish--try-reuse PATH &optional DWIM)
Documentation
Find PATH in existed or new session, DWIM is passed from dirvish-dwim.
Source Code
;; Defined in /nix/store/1gijwny2yx4fggrsb9l110h1ybs1gdk5-emacs-packages-deps/share/emacs/site-lisp/elpa/dirvish-20260725.1520/dirvish.el
(defun dirvish--try-reuse (path &optional dwim)
"Find PATH in existed or new session, DWIM is passed from `dirvish-dwim'."
(let* ((dir (or path default-directory))
(fn (if dired-kill-when-opening-new-dired-buffer 'find-alternate-file
'find-file))
(cur? (dirvish-curr)) ; can be a non-default session, reuse it directly
(vis? (cl-loop for w in (window-list)
for b = (window-buffer w)
for dv = (with-current-buffer b (dirvish-curr))
thereis (and dv (eq 'default (dv-type dv)) dv)))
(reuse? (unless vis? (dirvish--get-session 'type 'default))))
(cond (cur? (dirvish--find-entry fn dir)
(when (and dirvish-default-layout (not (dv-curr-layout cur?)))
(unless dwim (dirvish-layout-toggle))))
(vis?
(dirvish-save-dedication (switch-to-buffer (cdr (dv-index vis?))))
(dirvish--find-entry fn dir)
(when (and dirvish-default-layout (not (dv-curr-layout vis?)))
(unless dwim (dirvish-layout-toggle))))
(reuse?
(with-selected-window (dirvish--create-root-window reuse?)
(setf (dv-curr-layout reuse?)
(or (dv-curr-layout reuse?) dirvish-default-layout))
(and dwim (not (one-window-p)) (setf (dv-curr-layout reuse?) nil))
(dirvish-save-dedication (switch-to-buffer (cdr (dv-index reuse?))))
(unless (eq dirvish-reuse-session 'resume)
(dirvish--find-entry fn dir))))
(t (dirvish--new
:curr-layout (if dwim (and (one-window-p) dirvish-default-layout)
dirvish-default-layout))
(dirvish--find-entry 'find-file dir)))))