Fix some stuff
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user