X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/4c05c4186ed84ea42e9c1646226e81785e27e499..8c4704d01f819581a7cdcad2ffebfba996ebd30e:/lisp/bandali-dired.el?ds=sidebyside diff --git a/lisp/bandali-dired.el b/lisp/bandali-dired.el index f89676e..4755a64 100644 --- a/lisp/bandali-dired.el +++ b/lisp/bandali-dired.el @@ -24,12 +24,15 @@ ;;; Code: -(use-package dired - :config - (setq dired-dwim-target t - dired-listing-switches "-alh" - ls-lisp-use-insert-directory-program nil) +(with-eval-after-load 'dired + (csetq + dired-dwim-target t + dired-listing-switches "-alh" + dired-recent-directories-file (b/var "dired-recent-directories.el") + ls-lisp-dirs-first t + ls-lisp-use-insert-directory-program nil) + (declare-function dired-dwim-target-directory "dired-aux") ;; easily diff 2 marked files ;; https://oremacs.com/2017/03/18/dired-ediff/ (defun dired-ediff-files () @@ -54,25 +57,28 @@ (set-window-configuration wnd)))) (error "no more than 2 files should be marked")))) + ;; local key bindings + (define-key dired-mode-map (kbd "b") #'dired-up-directory) + (define-key dired-mode-map (kbd "E") #'dired-ediff-files) + (define-key dired-mode-map (kbd "e") #'dired-toggle-read-only) + (define-key dired-mode-map (kbd "\\") #'dired-hide-details-mode) + (define-key dired-mode-map (kbd "z") + (lambda () + (interactive) + (b/dired-start-process "zathura"))) + (require 'dired-x) - (setq dired-guess-shell-alist-user - '(("\\.pdf\\'" "evince" "zathura" "okular") - ("\\.doc\\'" "libreoffice") - ("\\.docx\\'" "libreoffice") - ("\\.ppt\\'" "libreoffice") - ("\\.pptx\\'" "libreoffice") - ("\\.xls\\'" "libreoffice") - ("\\.xlsx\\'" "libreoffice") - ("\\.flac\\'" "mpv"))) - :bind (:map dired-mode-map - ("b" . dired-up-directory) - ("E" . dired-ediff-files) - ("e" . dired-toggle-read-only) - ("\\" . dired-hide-details-mode) - ("z" . (lambda () - (interactive) - (b/dired-start-process "zathura")))) - :hook (dired-mode . dired-hide-details-mode)) + (csetq dired-guess-shell-alist-user + '(("\\.pdf\\'" "evince" "zathura" "okular") + ("\\.doc\\'" "libreoffice") + ("\\.docx\\'" "libreoffice") + ("\\.ppt\\'" "libreoffice") + ("\\.pptx\\'" "libreoffice") + ("\\.xls\\'" "libreoffice") + ("\\.xlsx\\'" "libreoffice") + ("\\.flac\\'" "mpv")))) +;; hooks +(add-hook 'dired-mode-hook #'dired-hide-details-mode) (provide 'bandali-dired) ;;; bandali-dired.el ends here