diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index aac74ea0a..69be37e89 100755 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -41,30 +41,15 @@ :hook (dired-mode . diredfl-mode)) -(def-package! dired-k - :hook (dired-initial-position . dired-k) - :hook (dired-after-readin . dired-k-no-revert) +(def-package! diff-hl + :defer t + :hook (dired-mode . diff-hl-dired-mode) + :init + (when (featurep! :tools magit) + (add-hook 'magit-post-refresh-hook #'diff-hl-magit-post-refresh)) :config - (setq dired-k-style 'git - dired-k-padding 1) - - ;; Don't highlight based on mtime, this interferes with diredfl and is more - ;; confusing than helpful. - (advice-add #'dired-k--highlight-by-file-attribyte :override #'ignore) - - (defun +dired*interrupt-process (orig-fn &rest args) - "Fixes dired-k killing git processes too abruptly, leaving behind disruptive -.git/index.lock files." - (cl-letf (((symbol-function #'kill-process) - (symbol-function #'interrupt-process))) - (apply orig-fn args))) - (advice-add #'dired-k--start-git-status :around #'+dired*interrupt-process) - - (defun +dired*dired-k-highlight (orig-fn &rest args) - "Butt out if the requested directory is remote (i.e. through tramp)." - (unless (file-remote-p default-directory) - (apply orig-fn args))) - (advice-add #'dired-k--highlight :around #'+dired*dired-k-highlight)) + ;; use margin instead of fringe + (diff-hl-margin-mode)) (def-package! ranger diff --git a/modules/emacs/dired/packages.el b/modules/emacs/dired/packages.el index b786e6fde..8e912c9c8 100644 --- a/modules/emacs/dired/packages.el +++ b/modules/emacs/dired/packages.el @@ -2,7 +2,7 @@ ;;; emacs/dired/packages.el (package! diredfl) -(package! dired-k) +(package! diff-hl) (package! dired-rsync) (when (featurep! +ranger) (package! ranger))