branch: elpa/magit commit 6df061d4cfa2d09c7f79978ecf505af62f2aa710 Author: Jonas Bernoulli <jo...@bernoul.li> Commit: Jonas Bernoulli <jo...@bernoul.li>
magit-format-file-{all-the,nerd}-icons: Use proper icons for modules --- lisp/magit-diff.el | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/lisp/magit-diff.el b/lisp/magit-diff.el index 111480032c5..280de4a51f1 100644 --- a/lisp/magit-diff.el +++ b/lisp/magit-diff.el @@ -85,9 +85,6 @@ (declare-function magit-smerge-keep-base "magit-apply" ()) (declare-function magit-smerge-keep-lower "magit-apply" ()) -(declare-function all-the-icons-icon-for-file "ext:all-the-icons") -(declare-function nerd-icons-icon-for-file "ext:nerd-icons") - (eval-when-compile (cl-pushnew 'orig-rev eieio--known-slot-names) (cl-pushnew 'action-type eieio--known-slot-names) @@ -2507,25 +2504,29 @@ keymap is the parent of their keymaps." (if orig (format "%s -> %s" orig file) file)) 'font-lock-face face)) -(defun magit-format-file-all-the-icons (_kind file face &optional status orig) - (propertize - (concat (and status (format "%-11s" status)) - (if orig - (format "%s %s -> %s %s" - (all-the-icons-icon-for-file orig) orig - (all-the-icons-icon-for-file file) file) - (format "%s %s" (all-the-icons-icon-for-file file) file))) - 'font-lock-face face)) - -(defun magit-format-file-nerd-icons (_kind file face &optional status orig) - (propertize - (concat (and status (format "%-11s" status)) - (if orig - (format "%s %s -> %s %s" - (nerd-icons-icon-for-file orig) orig - (nerd-icons-icon-for-file file) file) - (format "%s %s" (nerd-icons-icon-for-file file) file))) - 'font-lock-face face)) +(defun magit-format-file-all-the-icons (kind file face &optional status orig) + (cl-flet ((icon (if (or (eq kind 'module) (string-suffix-p "/" file)) + 'all-the-icons-icon-for-dir + 'all-the-icons-icon-for-file))) + (propertize (concat (and status (format "%-11s" status)) + (if orig + (format "%s %s -> %s %s" + (icon orig) orig + (icon file) file) + (format "%s %s" (icon file) file))) + 'font-lock-face face))) + +(defun magit-format-file-nerd-icons (kind file face &optional status orig) + (cl-flet ((icon (if (or (eq kind 'module) (string-suffix-p "/" file)) + 'nerd-icons-icon-for-dir + 'nerd-icons-icon-for-file))) + (propertize (concat (and status (format "%-11s" status)) + (if orig + (format "%s %s -> %s %s" + (icon orig) orig + (icon file) file) + (format "%s %s" (icon file) file))) + 'font-lock-face face))) (defun magit-diff-wash-submodule () ;; See `show_submodule_summary' in submodule.c and "this" commit.