core-editor: refactor

This commit is contained in:
Henrik Lissner 2017-01-31 19:50:46 -05:00
parent 58bdc997a2
commit d2c701287a

View file

@ -1,52 +1,54 @@
;;; core-editor.el --- filling the editor shaped hole in the Emacs OS ;;; 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 ;; Bookmarks
(setq bookmark-default-file (concat doom-temp-dir "/bookmarks") bookmark-default-file (concat doom-cache-dir "/bookmarks")
bookmark-save-flag t) bookmark-save-flag t
;; Formatting ;; Formatting
(setq delete-trailing-lines nil delete-trailing-lines nil
fill-column 80 fill-column 80
sentence-end-double-space nil) sentence-end-double-space nil
;; Scrolling ;; Scrolling
(setq hscroll-margin 1 hscroll-margin 1
hscroll-step 1 hscroll-step 1
scroll-conservatively 1001 scroll-conservatively 1001
scroll-margin 0 scroll-margin 0
scroll-preserve-screen-position t) scroll-preserve-screen-position t
;; Whitespace (see `editorconfig') ;; Whitespace (see `editorconfig')
(setq indent-tabs-mode nil indent-tabs-mode nil
require-final-newline t require-final-newline t
tab-always-indent t tab-always-indent t
tab-width 4 tab-width 4
tabify-regexp "^\t* [ \t]+" ; for :retab tabify-regexp "^\t* [ \t]+" ; for :retab
whitespace-line-column fill-column whitespace-line-column fill-column
whitespace-style whitespace-style
'(face tabs tab-mark trailing indentation lines-tail) '(face tabs tab-mark trailing lines-tail)
whitespace-display-mappings whitespace-display-mappings
'((tab-mark ?\t [? ?\t]) (newline-mark 10 [36 10]))) '((tab-mark ?\t [? ?\t]) (newline-mark 10 [36 10]))
;; Wrapping ;; Wrapping
(setq truncate-lines t truncate-lines t
truncate-partial-width-windows 50 truncate-partial-width-windows 50
visual-fill-column-center-text nil visual-fill-column-center-text nil
word-wrap t) word-wrap t
;; clipboard
;; Regions x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)
(setq shift-select-mode t) ;; Use a shared clipboard
select-enable-clipboard t
select-enable-primary t)
(unless noninteractive
;; Save point across sessions ;; Save point across sessions
(require 'saveplace) (require 'saveplace)
(setq save-place-file (concat doom-temp-dir "saveplace") (setq save-place-file (concat doom-cache-dir "saveplace")
save-place t) save-place t)
(when (>= emacs-major-version 25) (when (>= emacs-major-version 25)
(save-place-mode +1)) (save-place-mode +1))
;; Save history across sessions ;; Save history across sessions
(require 'savehist) (require 'savehist)
(setq savehist-file (concat doom-temp-dir "savehist") (setq savehist-file (concat doom-cache-dir "savehist")
savehist-save-minibuffer-history t savehist-save-minibuffer-history t
savehist-additional-variables savehist-additional-variables
'(kill-ring search-ring regexp-search-ring)) '(kill-ring search-ring regexp-search-ring))
@ -65,7 +67,7 @@
;; Keep track of recently opened files ;; Keep track of recently opened files
(require 'recentf) (require 'recentf)
(setq recentf-save-file (concat doom-temp-dir "recentf") (setq recentf-save-file (concat doom-cache-dir "recentf")
recentf-exclude '("/tmp/" "/ssh:" "\\.?ido\\.last$" "\\.revive$" "/TAGS$" recentf-exclude '("/tmp/" "/ssh:" "\\.?ido\\.last$" "\\.revive$" "/TAGS$"
"emacs\\.d/private/cache/.+" "emacs\\.d/workgroups/.+$" "emacs\\.d/private/cache/.+" "emacs\\.d/workgroups/.+$"
"wg-default" "/company-statistics-cache.el$" "wg-default" "/company-statistics-cache.el$"
@ -83,21 +85,24 @@
ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames ediff-window-setup-function 'ediff-setup-windows-plain)) ; no extra frames
;; revert buffers for changed files ;; revert buffers for changed files
(global-auto-revert-mode +1) (global-auto-revert-mode 1)
(setq auto-revert-verbose nil))
;; ;;
;; Plugins ;; Core Plugins
;; ;;
;; Handles whitespace (tabs/spaces) settings externally. This way projects can
;; specify their own formatting rules.
(package! editorconfig :demand t (package! editorconfig :demand t
:mode ("\\.?editorconfig$" . editorconfig-conf-mode) :mode ("\\.?editorconfig$" . editorconfig-conf-mode)
:config (editorconfig-mode +1) :config (editorconfig-mode +1)
(push 'doom-mode editorconfig-exclude-modes)
;; Show whitespace in tabs indentation mode ;; Show whitespace in tabs indentation mode
(add-hook! 'editorconfig-custom-hooks (add-hook! 'editorconfig-custom-hooks
(if indent-tabs-mode (whitespace-mode +1)))) (if indent-tabs-mode (whitespace-mode +1))))
;; Auto-close delimiters and blocks as you type
(package! smartparens :demand t (package! smartparens :demand t
:init :init
(setq sp-autowrap-region nil ; let evil-surround handle this (setq sp-autowrap-region nil ; let evil-surround handle this
@ -153,8 +158,7 @@
(package! emr (package! emr
:commands (emr-show-refactor-menu emr-declare-command) :commands (emr-show-refactor-menu emr-declare-command)
:config :config (emr-initialize)
(emr-initialize)
(define-key popup-menu-keymap [escape] 'keyboard-quit)) (define-key popup-menu-keymap [escape] 'keyboard-quit))
(package! expand-region :commands (er/expand-region er/contract-region er/mark-symbol er/mark-word)) (package! expand-region :commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
@ -187,7 +191,7 @@
) )
(package! rotate-text (package! rotate-text
:quelpa (rotate-text :fetcher github :repo "debug-ito/rotate-text.el") :quelpa (:fetcher github :repo "debug-ito/rotate-text.el")
:commands (rotate-text rotate-text-backward) :commands (rotate-text rotate-text-backward)
:config (push '("true" "false") rotate-text-words)) :config (push '("true" "false") rotate-text-words))
@ -199,7 +203,7 @@
(package! wgrep (package! wgrep
:commands (wgrep-setup wgrep-change-to-wgrep-mode) :commands (wgrep-setup wgrep-change-to-wgrep-mode)
:config :config
(def-popup! "^\\*ivy-occur counsel-ag" :align below :size 25 :select t :regexp t) (defpopup! ("^\\*ivy-occur counsel-ag" :size 25 :select t :regexp t))
(setq wgrep-auto-save-buffer t) (setq wgrep-auto-save-buffer t)
(advice-add 'wgrep-abort-changes :after 'doom/popup-close) (advice-add 'wgrep-abort-changes :after 'doom/popup-close)
(advice-add 'wgrep-finish-edit :after 'doom/popup-close)) (advice-add 'wgrep-finish-edit :after 'doom/popup-close))