Fix some stuff

This commit is contained in:
2026-08-27 02:09:11 -07:00
parent c51bd6216b
commit d651603cf1
+25 -4
View File
@@ -3272,8 +3272,6 @@ ARG is the same as for either of the above functions."
("<mouse-3>" . dired-mouse-find-file)) ("<mouse-3>" . dired-mouse-find-file))
:hook (((dirvish-directory-view-mode dired-mode dirvish-mode) . :hook (((dirvish-directory-view-mode dired-mode dirvish-mode) .
my/-setup-dirvish-lines) my/-setup-dirvish-lines)
;; ((dirvish-directory-view-mode dired-mode dirvish-mode) .
;; auto-revert-mode)
((dirvish-mode dired-mode) . my/-setup-dirvish-mouse)) ((dirvish-mode dired-mode) . my/-setup-dirvish-mouse))
:custom :custom
(dirvish-subtree-always-show-state t) (dirvish-subtree-always-show-state t)
@@ -3369,7 +3367,7 @@ ARG is the same as for either of the above functions."
(kbd "M-t") #'dirvish-layout-toggle (kbd "M-t") #'dirvish-layout-toggle
(kbd "M-s") #'dirvish-setup-menu (kbd "M-s") #'dirvish-setup-menu
(kbd "M-e") #'dirvish-emerge-menu (kbd "M-e") #'dirvish-emerge-menu
(kbd "M-j") #'dirvish-fd-jump (kbd "M-j") #'dirvish-fd
(kbd "/") #'dirvish-fd (kbd "/") #'dirvish-fd
(kbd "?") #'dirvish-dispatch) (kbd "?") #'dirvish-dispatch)
(dirvish-override-dired-mode) (dirvish-override-dired-mode)
@@ -3379,7 +3377,30 @@ ARG is the same as for either of the above functions."
(when (file-directory-p file) (when (file-directory-p file)
`(shell . ("eza" "-la" "--color=always" "--icons" `(shell . ("eza" "-la" "--color=always" "--icons"
"--group-directories-first" ,file)))) "--group-directories-first" ,file))))
(add-to-list 'dirvish-preview-dispatchers 'eza)) (add-to-list 'dirvish-preview-dispatchers 'eza)
;; Fix freeze on deleting a directory that is expanded
(defun my/-dirvish-fix-dired-internal-do-deletions
(oldfun l arg &optional trash)
(let (need-restore)
(save-excursion
(cl-loop for (name . marker) in l
do (goto-char marker)
when (dirvish-subtree--expanded-p)
do (progn (dired-next-line 1)
(dirvish-subtree-remove)
(push name need-restore))))
(unwind-protect
(funcall oldfun l arg trash)
(save-excursion
;; re-expand all closed sub-trees that were not deleted
(goto-char (point-min))
(while (not (eobp))
(when-let* ((file (ignore-errors (dired-get-filename))))
(when (member file need-restore)
(dirvish-subtree-toggle)))
(forward-line))))))
(advice-add 'dired-internal-do-deletions :around
#'my/-dirvish-fix-dired-internal-do-deletions))
;; web stuff ;; web stuff
(when-let* ((exec (cl-find-if #'executable-find (when-let* ((exec (cl-find-if #'executable-find