From 79941a4fd74a7d93c2105e3957f3bff9917a8e99 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 7 Jun 2019 22:58:46 +0200 Subject: [PATCH] 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) --- core/core-editor.el | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/core/core-editor.el b/core/core-editor.el index b46bbb6e8..655bb3fc7 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -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))))