Refactor core config

This commit is contained in:
Henrik Lissner 2017-02-19 18:11:28 -05:00
parent b135b7bf53
commit 11a5e15e4e
6 changed files with 122 additions and 114 deletions

View file

@ -30,7 +30,7 @@ executed when called with `@set'. FORMS are not evaluated until `@set' calls it.
(if (functionp fn)
(apply fn (eval `(list ,@values)))
(when doom-debug-mode
(warn "No setting found for %s" keyword)))))
(message "No setting found for %s" keyword)))))
;; (defun describe-setting ()

View file

@ -1,42 +1,38 @@
;;; core-editor.el --- filling the editor shaped hole in the Emacs OS
(setq shift-select-mode t ; activate mark on shift-click
;; Save clipboard contents into kill-ring before replacing them
save-interprogram-paste-before-kill t
;; Bookmarks
bookmark-default-file (concat doom-cache-dir "/bookmarks")
bookmark-save-flag t
;; Formatting
delete-trailing-lines nil
fill-column 80
sentence-end-double-space nil
;; Scrolling
hscroll-margin 1
hscroll-step 1
scroll-conservatively 1001
scroll-margin 0
scroll-preserve-screen-position t
;; Whitespace (see `editorconfig')
indent-tabs-mode nil
require-final-newline t
tab-always-indent t
tab-width 4
tabify-regexp "^\t* [ \t]+" ; for :retab
whitespace-line-column fill-column
whitespace-style
'(face tabs tab-mark trailing lines-tail)
whitespace-display-mappings
'((tab-mark ?\t [? ?\t]) (newline-mark 10 [36 10]))
;; Wrapping
truncate-lines t
truncate-partial-width-windows 50
visual-fill-column-center-text nil
word-wrap t
;; clipboard
x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)
;; Use a shared clipboard
select-enable-clipboard t
select-enable-primary t)
(setq-default
shift-select-mode t ; activate mark on shift-click
;; Save clipboard contents into kill-ring before replacing them
save-interprogram-paste-before-kill t
;; Bookmarks
bookmark-default-file (concat doom-cache-dir "/bookmarks")
bookmark-save-flag t
;; Formatting
delete-trailing-lines nil
fill-column 80
sentence-end-double-space nil
;; Scrolling
hscroll-margin 1
hscroll-step 1
scroll-conservatively 1001
scroll-margin 0
scroll-preserve-screen-position t
;; Whitespace (see `editorconfig')
indent-tabs-mode nil
require-final-newline t
tab-always-indent t
tab-width 4
tabify-regexp "^\t* [ \t]+" ; for :retab
whitespace-line-column fill-column
whitespace-style
'(face tabs tab-mark trailing lines-tail)
whitespace-display-mappings
'((tab-mark ?\t [? ?\t]) (newline-mark 10 [36 10]))
;; Wrapping
truncate-lines t
truncate-partial-width-windows 50
visual-fill-column-center-text nil
word-wrap t)
;; Save point across sessions
(require 'saveplace)
@ -71,7 +67,6 @@
"^/var/folders/.+$" "^/tmp/.+")
recentf-max-menu-items 0
recentf-max-saved-items 250
recentf-auto-cleanup 600
recentf-filename-handlers '(abbreviate-file-name))
(@quiet (recentf-mode 1))
@ -136,18 +131,21 @@
;; Autoloaded Plugins
;;
(@def-package ace-link :commands (ace-link-help ace-link-org))
(@def-package ace-link
:commands (ace-link-help ace-link-org))
(@def-package ace-window
:commands ace-window
:config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
aw-scope 'frame
aw-background t))
:config
(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
aw-scope 'frame
aw-background t))
(@def-package avy
:commands (avy-goto-char-2 avy-goto-line)
:config (setq avy-all-windows nil
avy-background t))
:config
(setq avy-all-windows nil
avy-background t))
(@def-package command-log-mode
:commands (command-log-mode global-command-log-mode)
@ -161,7 +159,8 @@
:config (emr-initialize)
(define-key popup-menu-keymap [escape] 'keyboard-quit))
(@def-package expand-region :commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
(@def-package expand-region
:commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
(@def-package goto-last-change :commands goto-last-change)
@ -178,7 +177,8 @@
(@def-package rotate-text
:commands (rotate-text rotate-text-backward)
:config (push '("true" "false") rotate-text-words))
:config
(push '("true" "false") rotate-text-words))
(@def-package smart-forward
:commands (smart-up smart-down smart-backward smart-forward))

View file

@ -58,7 +58,8 @@ compilation."
((symbol-function 'write-region)
(lambda (start end filename &optional append visit lockname mustbenew)
(unless visit (setq visit 'no-message))
(doom--old-write-region-fn start end filename append visit lockname mustbenew)))
(doom--old-write-region-fn
start end filename append visit lockname mustbenew)))
(inhibit-message t)
(save-silently t))
,@forms)))
@ -109,7 +110,9 @@ Examples:
(files (plist-get plist :files))
(pred (plist-get plist :when)))
(cond ((or files in pred)
(when (and files (not (or (listp files) (stringp files))))
(when (and files
(not (or (listp files)
(stringp files))))
(user-error "@associate :files expects a string or list of strings"))
(let ((hook-name (intern (format "doom--init-mode-%s" mode))))
(macroexp-progn

View file

@ -1,8 +1,8 @@
;;; core-projects.el --- tools for getting around your project
;; I want Emacs to be nominally aware of the projects. `projectile' provides
;; tools for digging through project files and exposing an API I can use to make
;; other plugins/features project-aware.
;; I want Emacs to be aware of the projects. `projectile' provides tools for
;; digging through project files and exposing an API I can use to make other
;; plugins/features project-aware.
(@def-package projectile :demand t
:init

View file

@ -2,40 +2,39 @@
(defvar doom-ui-fringe-size '3 "Default fringe width")
(defvar doom-ui-default-background "#333333"
"The default frame background color.")
(defvar doom-ui-default-foreground "#CCCCCC"
"The default frame foreground color.")
(setq bidi-display-reordering nil ; disable bidirectional text for tiny performance boost
blink-matching-paren nil ; don't blink--too distracting
cursor-in-non-selected-windows nil ; hide cursors in other windows
frame-inhibit-implied-resize t
;; remove continuation arrow on right fringe
fringe-indicator-alist (delq (assq 'continuation fringe-indicator-alist)
fringe-indicator-alist)
highlight-nonselected-window nil
image-animate-loop t
indicate-buffer-boundaries nil
indicate-empty-lines nil
max-mini-window-height 0.3
mode-line-default-help-echo nil ; disable mode-line mouseovers
resize-mini-windows 'grow-only ; Minibuffer resizing
show-help-function nil ; hide :help-echo text
show-paren-delay 0.075
show-paren-highlight-openparen t
show-paren-when-point-inside-paren t
split-width-threshold nil ; favor horizontal splits
uniquify-buffer-name-style nil
use-dialog-box nil ; always avoid GUI
visible-cursor nil
x-stretch-cursor t
;; no beeping or blinking please
ring-bell-function 'ignore
visible-bell nil
;; Ask for confirmation on quit only if real buffers exist
confirm-kill-emacs (lambda (_) (if (doom-real-buffers-list) (y-or-n-p " Quit?") t)))
(setq-default
bidi-display-reordering nil ; disable bidirectional text for tiny performance boost
blink-matching-paren nil ; don't blink--too distracting
cursor-in-non-selected-windows nil ; hide cursors in other windows
frame-inhibit-implied-resize t
;; remove continuation arrow on right fringe
fringe-indicator-alist (delq (assq 'continuation fringe-indicator-alist)
fringe-indicator-alist)
highlight-nonselected-window nil
image-animate-loop t
indicate-buffer-boundaries nil
indicate-empty-lines nil
jit-lock-defer-time nil
jit-lock-stealth-nice 0.1
jit-lock-stealth-time 0.2
jit-lock-stealth-verbose nil
max-mini-window-height 0.3
mode-line-default-help-echo nil ; disable mode-line mouseovers
resize-mini-windows 'grow-only ; Minibuffer resizing
show-help-function nil ; hide :help-echo text
show-paren-delay 0.075
show-paren-highlight-openparen t
show-paren-when-point-inside-paren t
split-width-threshold nil ; favor horizontal splits
uniquify-buffer-name-style nil
use-dialog-box nil ; always avoid GUI
visible-cursor nil
x-stretch-cursor t
;; no beeping or blinking please
ring-bell-function 'ignore
visible-bell nil
;; Ask for confirmation on quit only if real buffers exist
confirm-kill-emacs (lambda (_) (if (doom-real-buffers-list) (y-or-n-p " Quit?") t)))
(fset 'yes-or-no-p 'y-or-n-p) ; y/n instead of yes/no
@ -66,7 +65,7 @@ disabled.")
doom--mode-line nil))
(force-mode-line-update))
;; Ensure major-mode or theme changes don't overwrite these variables
(put 'doom--old-modeline 'permanent-local t)
(put 'doom--old-modeline-format 'permanent-local t)
(put 'doom-hide-modeline-mode 'permanent-local t)
@ -80,14 +79,12 @@ disabled.")
(scroll-bar-mode -1)
(tool-bar-mode -1)
;; buffer name in frame title
(setq-default frame-title-format '("%b"))
(setq-default frame-title-format '("DOOM Emacs"))
;; standardize fringe width
(fringe-mode doom-ui-fringe-size)
(setq default-frame-alist
(append `((left-fringe . ,doom-ui-fringe-size)
(right-fringe . ,doom-ui-fringe-size)
(background-color . ,doom-ui-default-background)
(foreground-color . ,doom-ui-default-foreground))
(right-fringe . ,doom-ui-fringe-size))
default-frame-alist))
;; no fringe in the minibuffer
(@add-hook (emacs-startup minibuffer-setup)
@ -160,12 +157,12 @@ file."
(remove-hook 'after-save-hook 'doom|adjust-indent-guides t)
(delete-trailing-whitespace))))
;; Some modes don't adequately highlight numbers, therefore...
;; For modes that don't adequately highlight numbers
(@def-package highlight-numbers :commands highlight-numbers-mode)
;; Line highlighting
(@def-package hl-line ; built-in
:init
:config
;; stickiness doesn't play nice with emacs 25+
(setq hl-line-sticky-flag nil
global-hl-line-sticky-flag nil))
@ -174,7 +171,9 @@ file."
;; plugin than the built-in `linum'.
(@def-package nlinum
:commands nlinum-mode
:preface (defvar nlinum-format "%4d ")
:preface
(defvar linum-format "%3d ")
(defvar nlinum-format "%4d ")
:init
(@add-hook
(markdown-mode prog-mode scss-mode web-mode conf-mode groovy-mode

View file

@ -69,30 +69,36 @@ and `doom-initialize-autoloads'.")
(setq-default buffer-file-coding-system 'utf-8) ; with sugar on top
;; Configuration
(setq ad-redefinition-accept 'accept ; silence advised function warnings
apropos-do-all t ; make `apropos' more useful
compilation-always-kill t ; kill compilation process before starting another
compilation-ask-about-save nil ; save all buffers on `compile'
compilation-scroll-output t
confirm-nonexistent-file-or-buffer t
enable-recursive-minibuffers nil
debug-on-error (and (not noninteractive) doom-debug-mode)
idle-update-delay 1 ; update ui less often
;; keep the point out of the minibuffer
minibuffer-prompt-properties '(read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt)
;; History & backup settings
auto-save-default nil
auto-save-list-file-name (concat doom-cache-dir "/autosave")
backup-directory-alist (list (cons ".*" (concat doom-cache-dir "/backup/")))
create-lockfiles nil
history-length 1000
make-backup-files nil
vc-make-backup-files nil)
(setq-default
ad-redefinition-action 'accept ; silence advised function warnings
apropos-do-all t ; make `apropos' more useful
compilation-always-kill t ; kill compilation process before starting another
compilation-ask-about-save nil ; save all buffers on `compile'
compilation-scroll-output t
confirm-nonexistent-file-or-buffer t
custom-file (concat doom-cache-dir "custom.el")
enable-recursive-minibuffers nil
debug-on-error (and (not noninteractive) doom-debug-mode)
idle-update-delay 1 ; update ui less often
;; keep the point out of the minibuffer
minibuffer-prompt-properties '(read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt)
;; History & backup settings
auto-save-default nil
auto-save-list-file-name (concat doom-cache-dir "/autosave")
backup-directory-alist (list (cons ".*" (concat doom-cache-dir "/backup/")))
create-lockfiles nil
history-length 1000
make-backup-files nil
vc-make-backup-files nil
;; in case of `persistent-soft'
pcache-directory (concat doom-cache-dir "pcache/"))
;; be quiet at startup
(advice-add 'display-startup-echo-area-message :override 'ignore)
(setq inhibit-startup-message t
inhibit-startup-echo-area-message user-login-name)
inhibit-startup-echo-area-message user-login-name
initial-major-mode 'fundamental-mode
initial-scratch-message nil)
;;;