Make recentf more aggressive

- Updates file order on window switch
- Adds dired directories to recentf list
- Reduce recentf-max-saved-items from 300 to 200 (reduce worst-case
  resorting costs)
This commit is contained in:
Henrik Lissner 2019-06-07 22:58:46 +02:00
parent d91888b432
commit 79941a4fd7
No known key found for this signature in database
GPG Key ID: 5F6C0EA160557395

View File

@ -104,7 +104,7 @@ detected.")
(setq recentf-save-file (concat doom-cache-dir "recentf")
recentf-auto-cleanup 'never
recentf-max-menu-items 0
recentf-max-saved-items 300
recentf-max-saved-items 200
recentf-filename-handlers '(file-truename abbreviate-file-name)
recentf-exclude
(list #'file-remote-p "\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\)$"
@ -112,6 +112,21 @@ detected.")
"^/var/folders/.+$"
;; ignore private DOOM temp files
(recentf-apply-filename-handlers doom-local-dir)))
(defun doom|recentf-touch-buffer ()
"Bump file in recent file list when it is switched or written to."
(when buffer-file-name
(recentf-add-file buffer-file-name))
;; Return nil to call from `write-file-functions'
nil)
(add-hook 'doom-switch-window-hook #'doom|recentf-touch-buffer)
(add-hook 'write-file-functions #'doom|recentf-touch-buffer)
(defun doom|recentf-add-dired-directory ()
"Add dired directory to recentf file list."
(recentf-add-file default-directory))
(add-hook 'dired-mode-hook #'doom|recentf-add-dired-directory)
(unless noninteractive
(add-hook 'kill-emacs-hook #'recentf-cleanup)
(quiet! (recentf-mode +1))))