Refactor core config
This commit is contained in:
parent
b135b7bf53
commit
11a5e15e4e
6 changed files with 122 additions and 114 deletions
|
@ -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 ()
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
46
core/core.el
46
core/core.el
|
@ -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)
|
||||
|
||||
|
||||
;;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue