diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index cfa8b1c..8251a21 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -59,6 +59,8 @@ '("oni" . "https://ryuslash.org/elpa/")) (package-initialize)) +;;; Highlight the line the cursor is on in the Packages menu for +;;; better visibility. (add-hook 'package-menu-mode-hook 'hl-line-mode) (with-eval-after-load 'package (require 'oni-package-x)) @@ -71,20 +73,23 @@ (require 'diminish) (require 'ivy) (require 'ivy-hydra) -(require 'oni-helpers) (require 'projectile) (require 'shackle) ;;;; Settings +;;; Put backup and auto save files in their own directories so they +;;; don't clutter the rest of the filesystem. (setq backup-directory-alist - `((".*" . ,(oni:data-location "backup-files/")))) + `((".*" . ,(concat user-emacs-directory "data/backup-files")))) -(add-to-list 'auto-save-file-name-transforms - `(".*" ,(oni:data-location "auto-save-files/") t) :append) +(add-to-list + 'auto-save-file-name-transforms + `(".*" ,(concat user-emacs-directory "data/auto-save-files/") t) + :append) (setq auto-save-list-file-prefix - (oni:data-location "auto-save-list/.saves-")) + (concat user-emacs-directory "data/" "auto-save-list/.saves-")) (setq delete-old-versions t) (setq kept-new-versions 20) @@ -150,7 +155,8 @@ (diminish 'counsel-mode) (eval-when-compile (require 'bookmark)) -(setq bookmark-default-file (oni:data-location "bookmarks")) +(setq bookmark-default-file + (concat user-emacs-directory "data/bookmarks")) (setq user-full-name "Tom Willemse" user-mail-address "tom@ryuslash.org") @@ -199,7 +205,7 @@ ORIG-FUN is the function being wrapped, ARGS are the arguments specified" #'oni:with-diff-hl-p4-args)) (setq projectile-known-projects-file - (oni:data-location "projectile-bookmarks.eld")) + (concat user-emacs-directory "data/projectile-bookmarks.eld")) (with-eval-after-load 'projectile (setq projectile-mode-line @@ -212,7 +218,7 @@ ORIG-FUN is the function being wrapped, ARGS are the arguments specified" (format " P[%s]" name))))))) (setq projectile-cache-file - (oni:data-location "projectile.cache")) + (concat user-emacs-directory "data/projectile.cache")) (projectile-mode) diff --git a/emacs/.emacs.d/init/oni-cider-init.el b/emacs/.emacs.d/init/oni-cider-init.el index dcaeb76..3f37045 100644 --- a/emacs/.emacs.d/init/oni-cider-init.el +++ b/emacs/.emacs.d/init/oni-cider-init.el @@ -25,14 +25,14 @@ ;;; Code: (require 'cider) -(require 'oni-helpers) (setq cider-repl-pop-to-buffer-on-connect t) (setq cider-show-error-buffer t cider-auto-select-error-buffer t) -(setq cider-repl-history-file (oni:data-location "cider-history")) +(setq cider-repl-history-file + (concat user-emacs-directory "data/cider-history")) (setq cider-repl-wrap-history t) diff --git a/emacs/.emacs.d/site-lisp/oni-helpers.el b/emacs/.emacs.d/site-lisp/oni-helpers.el deleted file mode 100644 index 1807658..0000000 --- a/emacs/.emacs.d/site-lisp/oni-helpers.el +++ /dev/null @@ -1,67 +0,0 @@ -;;; oni-helpers.el --- Helper functions for Emacs init -*- lexical-binding: t; -*- - -;; Copyright (C) 2016 Tom Willemse - -;; Author: Tom Willemse -;; Keywords: convenience - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Commentary: - -;; Helpers for my Emacs init. - -;;; Code: - -(defmacro silently (title &rest body) - "Only output something when an error occurs. -Prefix with TITLE any output that occurs while executing BODY, -but only when an error occurs, otherwise discard it." - (declare (indent 1)) - (let ((buffer-var (cl-gensym)) - (error-var (cl-gensym))) - `(with-temp-buffer - (let ((,buffer-var (current-buffer))) - (cl-letf (((symbol-function 'message) - (lambda (msg &rest args) - (with-current-buffer ,buffer-var - (insert " " (apply 'format msg args) "\n"))))) - (condition-case ,error-var - (progn ,@body) - (error - (princ ,(concat title " output:\n")) - (princ (with-current-buffer ,buffer-var (buffer-string))) - (princ "Error:\n") - (princ " ") - (princ (cadr ,error-var)) - (princ "\n")))))))) - -(defun oni:data-location (file-name) - "Return the location of FILE-NAME within my data directory. -This is currently the data directory under the -`user-emacs-directory'." - (concat user-emacs-directory "data/" file-name)) - -(with-eval-after-load 'ert - (ert-deftest oni:data-location () - "Test that `oni:data-location' returns the correct locations." - (should (string= "~/.emacs.d/data/backup-files/" - (oni:data-location "backup-files/"))) - (should (string= "~/.emacs.d/data/auto-save-files/" - (oni:data-location "auto-save-files/"))) - (should (string= "~/.emacs.d/data/auto-save-list/.saves-" - (oni:data-location "auto-save-list/.saves-"))))) - -(provide 'oni-helpers) -;;; oni-helpers.el ends here