diff --git a/modules/emacs/dired/autoload.el b/modules/emacs/dired/autoload.el index 9b8a097ab..145fdd557 100644 --- a/modules/emacs/dired/autoload.el +++ b/modules/emacs/dired/autoload.el @@ -6,3 +6,11 @@ (interactive) (mapc #'kill-buffer (doom-buffers-in-mode 'dired-mode)) (message "Killed all dired buffers")) + + +;;;###autoload +(defun +dired-enable-git-info-h () + (if (and + (not (file-remote-p default-directory)) + (locate-dominating-file "." ".git")) + (dired-git-info-mode 1))) diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index cbce83d3f..b12efd497 100755 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -45,6 +45,9 @@ only variant that supports --group-directories-first." "--group-directories-first") " "))))) + ;; hide details by default + (add-hook 'dired-mode-hook 'dired-hide-details-mode) + ;; Don't complain about this command being disabled when we use it (put 'dired-find-alternate-file 'disabled nil) @@ -161,10 +164,25 @@ we have to clean it up ourselves." ("\\.\\(?:mp4\\|mkv\\|avi\\|flv\\|rm\\|rmvb\\|ogv\\)\\(?:\\.part\\)?\\'" ,cmd) ("\\.\\(?:mp3\\|flac\\)\\'" ,cmd) ("\\.html?\\'" ,cmd) - ("\\.md\\'" ,cmd))))) + ("\\.md\\'" ,cmd)))) + (map! + :map dired-mode-map + :localleader + "h" #'dired-omit-mode)) (use-package! fd-dired :when (executable-find doom-projectile-fd-binary) :defer t :init (advice-add #'find-dired :override #'fd-dired)) + + +(use-package! dired-git-info + :unless (featurep! +ranger) + :after dired + :init + (add-hook 'dired-after-readin-hook '+dired-enable-git-info-h) + :config + (map! + :map dired-mode-map + :ng ")" #'dired-git-info-mode)) diff --git a/modules/emacs/dired/packages.el b/modules/emacs/dired/packages.el index 4eaa7ec7a..32126d7c3 100644 --- a/modules/emacs/dired/packages.el +++ b/modules/emacs/dired/packages.el @@ -2,6 +2,7 @@ ;;; emacs/dired/packages.el (package! diredfl) +(package! dired-git-info) (package! diff-hl) (package! dired-rsync) (when (featurep! +ranger)