From 654eae72ff99343602bc898f980e70bfa18f8dba Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 24 Jun 2021 19:16:16 +0100 Subject: [PATCH] chore(editor): extract recentf, savehist and uniquify to seperate modules --- core/siren-core-editor.el | 39 -------------------------------- core/siren-core-modules.el | 3 +++ modules/editor/siren-recentf.el | 33 +++++++++++++++++++++++++++ modules/editor/siren-savehist.el | 21 +++++++++++++++++ modules/editor/siren-uniquify.el | 22 ++++++++++++++++++ 5 files changed, 79 insertions(+), 39 deletions(-) create mode 100644 modules/editor/siren-recentf.el create mode 100644 modules/editor/siren-savehist.el create mode 100644 modules/editor/siren-uniquify.el diff --git a/core/siren-core-editor.el b/core/siren-core-editor.el index c910495..b45e7da 100644 --- a/core/siren-core-editor.el +++ b/core/siren-core-editor.el @@ -86,45 +86,6 @@ ;; (global-set-key [mouse-5] 'scroll-up-line) ) -;; savehist keeps track of some history -(require 'savehist) -(setq savehist-additional-variables - ;; search entries - '(search-ring regexp-search-ring) - ;; save every minute - savehist-autosave-interval 60 - ;; keep the home clean - savehist-file (expand-file-name "savehist" siren-cache-dir)) -(savehist-mode +1) - -;; Recentf -(require 'recentf) -(setq recentf-save-file (expand-file-name "recentf" siren-cache-dir) - recentf-max-saved-items 5000 - recentf-max-menu-items 1000 - ;; disable recentf-cleanup on Emacs start, because it can cause - ;; problems with remote files - recentf-auto-cleanup 'never - recentf-exclude '("\\.git.*" "\\.hg.*" "\\.svn.*")) - -(defun siren-recentf-exclude-p (file) - "A predicate to decide whether to exclude FILE from recentf." - (let ((file-dir (file-truename (file-name-directory file)))) - (-any-p (lambda (dir) - (string-prefix-p dir file-dir)) - (mapcar 'file-truename (list siren-cache-dir package-user-dir))))) - -(add-to-list 'recentf-exclude 'siren-recentf-exclude-p) - -(recentf-mode +1) - -;; meaningful names for buffers with the same name -(require 'uniquify) -(setq uniquify-buffer-name-style 'post-forward-angle-brackets - uniquify-separator "/" - uniquify-after-kill-buffer-p t ; rename after killing uniquified - uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers - ;; Display whitespace characters globally (diminish 'whitespace-mode) (diminish 'global-whitespace-mode) diff --git a/core/siren-core-modules.el b/core/siren-core-modules.el index ea5f14d..c601958 100644 --- a/core/siren-core-modules.el +++ b/core/siren-core-modules.el @@ -37,8 +37,11 @@ (require 'siren-mwim) (require 'siren-rainbow) (require 'siren-selectrum) +(require 'siren-recentf) +(require 'siren-savehist) (require 'siren-undo-tree) (require 'siren-undohist) +(require 'siren-uniquify) (require 'siren-which-key) ;; Linting diff --git a/modules/editor/siren-recentf.el b/modules/editor/siren-recentf.el new file mode 100644 index 0000000..9b8ef11 --- /dev/null +++ b/modules/editor/siren-recentf.el @@ -0,0 +1,33 @@ +;;; siren-recentf.el --- jimeh's Emacs Siren: recentf configuration. + +;;; Commentary: + +;; Basic configuration for recentf. + +;;; Code: + +(use-package recentf + :straight (:type built-in) + :demand t + + :custom + (recentf-save-file (expand-file-name "recentf" siren-cache-dir)) + (recentf-max-saved-items 5000) + (recentf-max-menu-items 1000) + (recentf-auto-cleanup 'never) + (recentf-exclude '("\\.git.*" "\\.hg.*" "\\.svn.*")) + + :init + (defun siren-recentf-exclude-p (file) + "A predicate to decide whether to exclude FILE from recentf." + (let ((file-dir (file-truename (file-name-directory file)))) + (-any-p (lambda (dir) + (string-prefix-p dir file-dir)) + (mapcar 'file-truename (list siren-cache-dir package-user-dir))))) + + :config + (add-to-list 'recentf-exclude 'siren-recentf-exclude-p) + (recentf-mode +1)) + +(provide 'siren-recentf) +;;; siren-recentf.el ends here diff --git a/modules/editor/siren-savehist.el b/modules/editor/siren-savehist.el new file mode 100644 index 0000000..0a6d285 --- /dev/null +++ b/modules/editor/siren-savehist.el @@ -0,0 +1,21 @@ +;;; siren-savehist.el --- jimeh's Emacs Siren: savehist configuration. + +;;; Commentary: + +;; Basic configuration for savehist. + +;;; Code: + +(use-package savehist + :straight (:type built-in) + + :custom + (savehist-additional-variables '(search-ring regexp-search-ring)) + (savehist-autosave-interval 60) + (savehist-file (expand-file-name "savehist" siren-cache-dir)) + + :init + (savehist-mode +1)) + +(provide 'siren-savehist) +;;; siren-savehist.el ends here diff --git a/modules/editor/siren-uniquify.el b/modules/editor/siren-uniquify.el new file mode 100644 index 0000000..a9834db --- /dev/null +++ b/modules/editor/siren-uniquify.el @@ -0,0 +1,22 @@ +;;; siren-uniquify.el --- jimeh's Emacs Siren: uniquify configuration. + +;;; Commentary: + +;; Basic configuration for uniquify. + +;;; Code: + +(use-package uniquify + :straight (:type built-in) + :demand t + + :custom + (uniquify-buffer-name-style 'post-forward-angle-brackets) + (uniquify-separator "/") + ;; rename after killing uniquified + (uniquify-after-kill-buffer-p t) + ;; don't muck with special buffers + (uniquify-ignore-buffers-re "^\\*")) + +(provide 'siren-uniquify) +;;; siren-uniquify.el ends here