Improve ivy-switch-buffer transformer
- Highlights remote/tramp files with ivy-remote face - Highlights non-file-visiting buffers with ivy-subdir face - Highlight modified buffers with ivy-modified-buffer face - Disable built-in ivy-switch-buffer transformer (redundant with our own transformer)
This commit is contained in:
parent
5e8687cd45
commit
3ef2abfb22
|
@ -19,9 +19,18 @@
|
|||
|
||||
Buffers that are considered unreal (see `doom-real-buffer-p') are dimmed with
|
||||
`+ivy-buffer-unreal-face'."
|
||||
(if (doom-real-buffer-p (get-buffer candidate))
|
||||
candidate
|
||||
(propertize candidate 'face +ivy-buffer-unreal-face)))
|
||||
(let ((b (get-buffer candidate)))
|
||||
(cond ((ignore-errors
|
||||
(file-remote-p
|
||||
(buffer-local-value 'default-directory b)))
|
||||
(ivy-append-face candidate 'ivy-remote))
|
||||
((doom-unreal-buffer-p b)
|
||||
(ivy-append-face candidate +ivy-buffer-unreal-face))
|
||||
((not (buffer-file-name b))
|
||||
(ivy-append-face candidate 'ivy-subdir))
|
||||
((buffer-modified-p b)
|
||||
(ivy-append-face candidate 'ivy-modified-buffer))
|
||||
(candidate))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +ivy-rich-buffer-icon (candidate)
|
||||
|
|
|
@ -106,6 +106,10 @@ immediately runs it on the current candidate (ending the ivy session)."
|
|||
((all-the-icons-icon-for-file (:width 2 :align right))
|
||||
(ivy-rich-candidate)))))))
|
||||
|
||||
;; Remove built-in coloring of buffer list; we do our own
|
||||
(setq ivy-switch-buffer-faces-alist nil)
|
||||
(ivy-set-display-transformer 'internal-complete-buffer nil)
|
||||
|
||||
;; Highlight buffers differently based on whether they're in the same project
|
||||
;; as the current project or not.
|
||||
(let* ((plist (plist-get ivy-rich-display-transformers-list 'ivy-switch-buffer))
|
||||
|
|
Loading…
Reference in New Issue
Block a user