Refactor tools/dired; fix leader key in dired buffers
This commit is contained in:
parent
fcbfe352c4
commit
cedb8d0058
1 changed files with 39 additions and 46 deletions
|
@ -1,5 +1,8 @@
|
||||||
;;; tools/dired/config.el -*- lexical-binding: t; -*-
|
;;; tools/dired/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(def-package! dired
|
||||||
|
:defer t
|
||||||
|
:init
|
||||||
(setq ;; Always copy/delete recursively
|
(setq ;; Always copy/delete recursively
|
||||||
dired-recursive-copies 'always
|
dired-recursive-copies 'always
|
||||||
dired-recursive-deletes 'top
|
dired-recursive-deletes 'top
|
||||||
|
@ -12,7 +15,7 @@
|
||||||
image-dired-gallery-dir (concat image-dired-dir "gallery/")
|
image-dired-gallery-dir (concat image-dired-dir "gallery/")
|
||||||
image-dired-temp-image-file (concat image-dired-dir "temp-image")
|
image-dired-temp-image-file (concat image-dired-dir "temp-image")
|
||||||
image-dired-temp-rotate-image-file (concat image-dired-dir "temp-rotate-image"))
|
image-dired-temp-rotate-image-file (concat image-dired-dir "temp-rotate-image"))
|
||||||
|
:config
|
||||||
(defun +dired|sort-directories-first ()
|
(defun +dired|sort-directories-first ()
|
||||||
"List directories first in dired buffers."
|
"List directories first in dired buffers."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
|
@ -33,29 +36,19 @@
|
||||||
(make-directory parent-directory t))))
|
(make-directory parent-directory t))))
|
||||||
(push #'+dired|create-non-existent-directory find-file-not-found-functions)
|
(push #'+dired|create-non-existent-directory find-file-not-found-functions)
|
||||||
|
|
||||||
(after! evil
|
;; Don't interfere with leader key
|
||||||
(add-transient-hook! 'dired-mode-hook
|
(define-key dired-mode-map (kbd doom-leader-key) nil))
|
||||||
(map! :map dired-mode-map
|
|
||||||
:n "c" #'find-file
|
|
||||||
:n "d" #'dired-do-delete
|
|
||||||
:n "r" #'dired-do-rename)))
|
|
||||||
|
|
||||||
|
|
||||||
;;
|
|
||||||
;; Packages
|
|
||||||
;;
|
|
||||||
|
|
||||||
(def-package! dired-k
|
(def-package! dired-k
|
||||||
:after dired
|
:after dired
|
||||||
:config
|
:config
|
||||||
(setq dired-k-style 'git)
|
(setq dired-k-style 'git)
|
||||||
|
(add-hook 'dired-initial-position-hook #'dired-k)
|
||||||
|
(add-hook 'dired-after-readin-hook #'dired-k-no-revert)
|
||||||
|
|
||||||
(defun +dired*dired-k-highlight (orig-fn &rest args)
|
(defun +dired*dired-k-highlight (orig-fn &rest args)
|
||||||
"Butt out if the requested directory is remote (i.e. through tramp)."
|
"Butt out if the requested directory is remote (i.e. through tramp)."
|
||||||
(unless (file-remote-p default-directory)
|
(unless (file-remote-p default-directory)
|
||||||
(apply orig-fn args)))
|
(apply orig-fn args)))
|
||||||
(advice-add #'dired-k--highlight :around #'+dired*dired-k-highlight)
|
(advice-add #'dired-k--highlight :around #'+dired*dired-k-highlight))
|
||||||
|
|
||||||
(add-hook 'dired-initial-position-hook #'dired-k)
|
|
||||||
(add-hook 'dired-after-readin-hook #'dired-k-no-revert))
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue