From 9cfd4835d3936392963a49ad2af5e642e66697f2 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Thu, 11 Mar 2021 08:24:54 -0600 Subject: Change up filenames --- init.el | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 168 insertions(+), 6 deletions(-) diff --git a/init.el b/init.el index d458f96..00a1707 100644 --- a/init.el +++ b/init.el @@ -101,35 +101,197 @@ (auto-save-list-file-prefix ,(acdw/in-dir "auto-save-list/.saves-" t)))) (auto-save-visited-mode +1) + +(defun hook--auto-save-when-unfocused () + "Save all buffers when out of focus." + (acdw/when-unfocused #'save-some-buffers t)) +(add-function :after after-focus-change-function + #'hook--auto-save-when-unfocused) + ;; Auto-revert (when (require 'autorevert) (global-auto-revert-mode +1)) ;; Save place (when (require 'saveplace) (acdw/set - `((save-place-file ,(acdw/in-dir "places")) + `((save-place-file ,(acdw/in-dir "places.el")) (save-place-forget-unreadable-files ,(eq acdw/system :home)))) (save-place-mode +1)) ;; Recent files (when (require 'recentf) (acdw/set - `((recentf-save-file ,(acdw/in-dir "recentf")) + `((recentf-save-file ,(acdw/in-dir "recentf.el")) (recentf-max-menu-items 100) (recentf-max-saved-items nil) - (recentf-auto-cleanup 10 "Cleanup the recentf list when idle for 10s.")) + (recentf-auto-cleanup 10 "Cleanup the recentf list when idle for 10s."))) (add-to-list 'recentf-exclude acdw/dir) - (recentf-mode +1))) + (recentf-mode +1)) ;; Move the custom file (acdw/set `((custom-file ,(acdw/in-dir "custom.el")))) ;; Cursor (acdw/set '((cursor-type bar) - (cursor-in-non-selected-windows 'box))) + (cursor-in-non-selected-windows hollow))) (defun hook--overwrite-mode-change-cursor () (setq cursor-type (if overwrite-mode t 'bar))) (add-hook 'overwrite-mode-hook #'hook--overwrite-mode-change-cursor) +;; Scrolling +(acdw/set '((auto-window-vscroll nil) + (fast-but-imprecise-scrolling t) + (scroll-margin 0) + (scroll-conservatively 101) + (scroll-preserve-screen-position 1))) + ;; Bindings -(acdw/bind "C-h" 'ehelp-command :after ("ehelp" nil nil 'keymap)) +(acdw/bind "C-h" ehelp-command :after ("ehelp" nil nil 'keymap)) + +;;; Startup +(acdw/set `((inhibit-startup-screen t) + (initial-buffer-choice t) + (initial-scratch-message ,(concat + ";; Howdy, " + (nth 0 (split-string user-full-name)) "!" + " Welcome to GNU Emacs.\n\n")))) + +;;; Minibuffer + +;; Save history +(when (require 'savehist) + (acdw/set `((savehist-additional-variables + (kill-ring search-ring regexp-search-ring)) + (history-length t) + (history-delete-duplicates t) + (savehist-autosave-interval 6) + (savehist-file ,(acdw/in-dir "savehist.el")))) + (savehist-mode +1)) + +;; Icomplete (-vertical) +(when (require 'icomplete) + (acdw/set '((completion-ignore-case t) + (read-buffer-completion-ignore-case t) + (completion-styles (substring flex)) + (completion-category-overrides ((file + (styles basic substring flex)))) + (icomplete-delay-completions-threshold 0) + (icomplete-max-delay-chars 0) + (icomplete-compute-delay 0) + (icomplete-show-matches-on-no-input t) + (icomplete-with-buffer-completion-tables t) + (icomplete-in-buffer t))) + (acdw/pkg icomplete-vertical + :binds (("" icomplete-forward-completions + :map icomplete-minibuffer-map) + ("C-n" icomplete-forward-completions + :map icomplete-minibuffer-map) + ("" icomplete-backward-completions + :map icomplete-minibuffer-map) + ("C-p" icomplete-backward-completions + :map icomplete-minibuffer-map) + ("C-v" icomplete-vertical-toggle + :map icomplete-minibuffer-map)) + :now ((fido-mode -1) + (icomplete-mode +1) + (icomplete-vertical-mode +1)))) + +;; Consult +(acdw/pkg consult + :binds (;; C-c bindings (`mode-specific-map') + ("C-c h" consult-history) + ("C-c m" consult-mode-command) + ;; C-x bindings (`ctl-x-map') + ("C-x M-:" consult-complex-command) + ("C-x b" consult-buffer) + ("C-x 4 b" consult-buffer-other-window) + ("C-x 5 b" consult-buffer-other-frame) + ("C-x r x" consult-register) + ("C-x r b" consult-bookmark) + ;; M-g bindings (`goto-map') + ("M-g g" consult-line) + ("M-g M-g" consult-line) + ("M-g o" consult-outline) + ("M-g m" consult-mark) + ("M-g k" consult-global-mark) + ("M-g i" consult-imenu) + ("M-g e" consult-error) + ;; M-s bindings (`search-map') + ("M-s g" consult-grep) ; alts: + ; consult-git-grep, + ; consult-ripgrep + ("M-s f" consult-find) ; alts: + ; consult-locate + ("M-s l" consult-line) + ("M-s m" consult-multi-occur) + ("M-s k" consult-keep-lines) + ("M-s u" consult-focus-lines) + ;; Other bindings + ("M-y" consult-yank-pop) + (" a" consult-apropos) + ("C-h a" consult-apropos)) + :now ((autoload 'consult-register-preview "consult") + (acdw/set '((register-preview-delay 0) + (register-preview-function #'consult-register-preview))))) + +;; Marginalia +(acdw/pkg marginalia + :now ((acdw/set '((marginalia-annotators (marginalia-annotators-heavy + marginalia-annotators-light)))) + (marginalia-mode +1))) + +;; Imenu +(when (require 'imenu) + (acdw/set '((imenu-auto-rescan t)))) + +;;; Packages + +;; Undo-fu +(acdw/pkg undo-fu + :binds (("C-/" undo-fu-only-undo) + ("C-?" undo-fu-only-redo))) +(acdw/pkg undo-fu-session + :now ((acdw/set `((undo-fu-session-incompatible-files ("/COMMIT_EDITMSG\\'" + "/git-rebase-todo\\'")) + (undo-fu-session-directory ,(acdw/in-dir "undo/" t))))) + :then ((global-undo-fu-session-mode +1))) + +;; Modus themes +(acdw/pkg (modus-themes + :host gitlab + :repo "protesilaos/modus-themes") + :now ((acdw/set `((modus-themes-slanted-constructs t) + (modus-themes-bold-constructs t) + (modus-themes-region 'bg-only) + (modus-themes-org-blocks 'grayscale) + (modus-themes-headings ((1 . section) + (t . no-color))) + (modus-themes-scale-headings nil) + (modus-themes-mode-line nil))) + (acdw/sunrise-sunset #'modus-themes-load-operandi + #'modus-themes-load-vivendi)) + :then + ((dolist (face '(modus-theme-heading-1 + modus-theme-heading-2 + modus-theme-heading-3 + modus-theme-heading-4 + modus-theme-heading-5 + modus-theme-heading-6 + modus-theme-heading-7 + modus-theme-heading-8)) + (acdw/set-face face + `((t (:inherit (fixed-pitch bold)))))))) + +;;; Magit + +(acdw/pkg magit + :binds (("g" magit-status :map acdw/leader))) + +;;; Miscellaneous + +(acdw/set '((disabled-command-function nil) + (load-prefer-newer t) + (comp-async-report-warnings-errors nil))) +(fset 'yes-or-no-p #'y-or-n-p) + +;;; init.el ends here -- cgit 1.4.1-21-gabe81