;;; Code:
-(use-package ls-lisp
- :custom (ls-lisp-dirs-first t))
-
-(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 ()
(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