completion/ivy: dim non-project entries in counsel-recentf

Added +ivy-recentf-transformer to counsel-recentf. Entries that aren't
in the same project as the buffer recentf was opened from will be
slightly dimmed.
This commit is contained in:
Henrik Lissner 2018-01-08 19:05:10 -05:00
parent 1f52669684
commit 4b4447d31e
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 11 additions and 1 deletions

View file

@ -24,6 +24,15 @@
;; Library
;;
;;;###autoload
(defun +ivy-recentf-transformer (str)
"Dim recentf entries that are not in the current project of the buffer you
started `counsel-recentf' from. Also uses `abbreviate-file-name'."
(let ((str (abbreviate-file-name str)))
(if (file-in-directory-p str (doom-project-root))
str
(propertize str 'face 'ivy-virtual))))
;;;###autoload
(defun +ivy-buffer-transformer (str)
"Dim special buffers, buffers whose file aren't in the current buffer, and

View file

@ -86,7 +86,8 @@ immediately runs it on the current candidate (ending the ivy session)."
(def-package! counsel
:requires ivy
:config
(ivy-set-display-transformer #'counsel-recentf #'abbreviate-file-name)
;; Dim recentf entries that are not in the current project.
(ivy-set-display-transformer 'counsel-recentf '+ivy-recentf-transformer)
(require 'counsel-projectile)
(setq counsel-find-file-ignore-regexp "\\(?:^[#.]\\)\\|\\(?:[#~]$\\)\\|\\(?:^Icon?\\)")