From 2c72fd14cd1bdab0cd5bead7aad6b87e6f721dcd Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 8 Mar 2021 16:58:18 -0600 Subject: Add functions --- init.el | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 76 insertions(+), 4 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 7f6da30..4998f47 100644 --- a/init.el +++ b/init.el @@ -19,9 +19,81 @@ ;;; Code: ;; Add `acdw.el' -(add-to-list 'load-path (expand-file-name "lisp/" - user-emacs-directory)) +(push (expand-file-name "lisp/" + user-emacs-directory) + load-path) + (require 'acdw) -(autoload 'ehelp-command "ehelp") -(define-key acdw/map (kbd "C-h") #'ehelp-command) +;;; Good defaults + +;; Lines +(acdw/set '((fill-column 80))) +(global-display-fill-column-indicator-mode +1) +(add-hook 'text-mode-hook #'turn-on-auto-fill) +(add-hook 'prog-mode-hook #'turn-on-auto-fill) +(global-so-long-mode +1) +;; Whitespace +(acdw/set `((whitespace-style + (empty indentation space-before-tab space-after-tab)) + (indent-tabs-mode t) + (tab-width 8))) +(add-hook 'before-save-hook #'whitespace-cleanup) + +;; Pairs +(add-hook 'prog-mode-hook #'electric-pair-local-mode) +(acdw/set '((show-paren-delay 0) + (show-paren-style mixed) + (show-paren-when-point-inside-paren t) + (show-paren-when-point-in-periphery t))) +(show-paren-mode +1) + +;; Killing & Yanking +(delete-selection-mode +1) +(acdw/set `((save-interprogram-paste-before-kill t) + (yank-pop-change-selection t) + (x-select-enable-clipboard t) + (x-select-enable-primary t) + (mouse-drag-copy-region t) + (kill-do-not-save-duplicates t))) + +;; Encoding +(set-charset-priority 'unicode) +(set-language-environment "UTF-8") +(prefer-coding-system 'utf-8-unix) +(set-default-coding-systems 'utf-8-unix) +(set-terminal-coding-system 'utf-8-unix) +(set-keyboard-coding-system 'utf-8-unix) +(set-selection-coding-system 'utf-8-unix) +(acdw/set '((locale-coding-system utf-8-unix) + (coding-system-for-read utf-8-unix) + (coding-system-for-write utf-8-unix) + (buffer-file-coding-system utf-8-unix) + (org-export-coding-system utf-8-unix) + (org-html-coding-system utf-8-unix) + (default-process-coding-system (utf-8-unix . utf-8-unix)) + (x-select-request-type (UTF8_STRING COMPOUND_TEXT TEXT STRING)))) + +;; Backups +(acdw/set `((backup-by-copying t) + (delete-old-versions -1) + (version-control t) + (vc-make-backup-files t) + (backup-directory-alist ((".*" . ,(acdw/in-dir "backup/" t)))))) +;; Autosaves +(acdw/set `((auto-save-file-name-transforms + ((".*" ,(acdw/in-dir "auto-save/" t) t))) + (auto-save-list-file-prefix + ,(acdw/in-dir "auto-save-list/.saves-" t)))) +(auto-save-visited-mode +1) + +;; Cursor +(acdw/set '((cursor-type bar) + (cursor-in-non-selected-windows 'box))) + +(defun hook--overwrite-mode-change-cursor () + (setq cursor-type (if overwrite-mode t 'bar))) +(add-hook 'overwrite-mode-hook #'hook--overwrite-mode-change-cursor) + +;; Bindings +(acdw/bind "C-h" 'ehelp-command :autoload ("ehelp" nil nil 'keymap)) -- cgit 1.4.1-21-gabe81