Massive refactor. Refactor all the things

This commit is contained in:
Henrik Lissner 2016-04-23 22:08:46 -04:00
parent 03514fc09d
commit f234be68a4
56 changed files with 792 additions and 831 deletions

View file

@ -71,6 +71,10 @@
recentf-auto-cleanup 600)
(recentf-mode 1)
;; Let editorconfig handle global whitespace settings
(require 'editorconfig)
(editorconfig-mode +1)
;;
;; Automatic minor modes
@ -105,12 +109,9 @@ enable multiple minor modes for the same regexp.")
;; Modes 'n hooks
;;
(associate! emacs-lisp-mode :match "\\(/Cask\\|\\.\\(el\\|gz\\)\\)$")
(associate! makefile-gmake-mode :match "/Makefile$")
(associate! nxml-mode :match "\\.plist$")
(associate! conf-mode :match "/\\.?editorconfig$")
(add-hook! special-mode (setq truncate-lines nil))
(add-hook! special-mode (setq truncate-lines nil))
(add-hook! change-major-mode-hook
(when indent-tabs-mode (whitespace-mode +1)))
@ -135,11 +136,11 @@ enable multiple minor modes for the same regexp.")
(visual-line-mode)))
;; Smarter electric-indent
(electric-indent-mode -1) ; on by default
(electric-indent-mode -1) ; on by default
(defvar narf-electric-indent-p nil)
(defvar narf-electric-indent-words '())
(make-variable-buffer-local 'narf-electric-indent-words)
(setq electric-indent-chars '(?\n ?\^?))
(defvar narf-electric-indent-p nil)
(push (lambda (c)
(when (eolp)
(save-excursion
@ -162,43 +163,10 @@ enable multiple minor modes for the same regexp.")
(setq winner-boring-buffers narf-ignore-buffers))
;;
;; Extra modes
;;
(use-package vimrc-mode :mode ("/\\.?g?vimrc$" "\\.vim$" "/\\.vim/rc/.+$"))
;; Data formats
(use-package toml-mode :mode "\\.toml$")
(use-package yaml-mode :mode "\\.ya?ml$"
:config
(add-hook! yaml-mode (setq electric-indent-chars '(?\n ?: ?-))))
(use-package json-mode :mode "\\.js\\(on\\|hintrc\\)$"
:config
(add-hook! json-mode (setq electric-indent-chars '(?\n ?: ?}))))
(add-hook! (yaml-mode json-mode) 'electric-indent-local-mode)
;; Configuration formats
(use-package dockerfile-mode :mode "/Dockerfile$"
:config
(define-docset! dockerfile-mode "docker")
(define-builder! dockerfile-mode dockerfile-build-buffer "Dockerfile"))
;;
;; Plugins
;;
(use-package editorconfig
:config
;; Don't affect lisp indentation (only `tab-width')
(setq editorconfig-indentation-alist
(delq (assq 'emacs-lisp-mode editorconfig-indentation-alist)
editorconfig-indentation-alist))
(editorconfig-mode +1))
(use-package ace-window
:commands ace-window
:config (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
@ -217,8 +185,18 @@ enable multiple minor modes for the same regexp.")
(use-package expand-region
:commands (er/expand-region er/contract-region er/mark-symbol er/mark-word))
(use-package dumb-jump
:commands (dumb-jump-go dumb-jump-quick-look dumb-jump-back)
:config
(setq dumb-jump-default-project narf-emacs-dir)
(dumb-jump-mode +1))
(use-package goto-last-change :commands goto-last-change)
(use-package help-fns+ ; Improved help commands
:commands (describe-buffer describe-command describe-file
describe-keymap describe-option describe-option-of-type))
(use-package hideshow
:commands (hs-minor-mode hs-toggle-hiding hs-already-hidden-p)
:config (setq hs-isearch-open t)
@ -247,6 +225,33 @@ enable multiple minor modes for the same regexp.")
(overlay-put ov 'before-string marker-string)
(overlay-put ov 'display display-string))))))
(use-package imenu-list
:commands imenu-list-minor-mode
:config
(setq imenu-list-mode-line-format nil
imenu-list-position 'right
imenu-list-size 32)
(map! :map imenu-list-major-mode-map
:n [escape] 'narf/imenu-list-quit
:n "RET" 'imenu-list-goto-entry
:n "SPC" 'imenu-list-display-entry
:n [tab] 'hs-toggle-hiding))
(use-package re-builder
:commands (re-builder reb-mode-buffer-p)
:init
(add-hook 'reb-mode-hook 'narf|reb-cleanup)
(evil-set-initial-state 'reb-mode 'insert)
:config
(setq reb-re-syntax 'string)
(map! :map rxt-help-mode-map
:n [escape] 'kill-buffer-and-window
:map reb-mode-map
:n "C-g" 'reb-quit
:n [escape] 'reb-quit
:n [backtab] 'reb-change-syntax))
(use-package rotate-text
:commands (rotate-text rotate-text-backward)
:init
@ -259,7 +264,7 @@ enable multiple minor modes for the same regexp.")
("advice-add" "advice-remove")
("add-hook" "add-hook!" "remove-hook"))))
:config
(add-to-list 'rotate-text-words '("true" "false")))
(push '("true" "false") rotate-text-words))
(use-package smart-forward :commands (smart-up smart-down smart-left smart-right))
@ -295,23 +300,5 @@ enable multiple minor modes for the same regexp.")
(sp-with-modes '(xml-mode nxml-mode php-mode)
(sp-local-pair "<!--" "-->" :post-handlers '(("| " "SPC")))))
(use-package help-fns+ ; Improved help commands
:commands (describe-buffer describe-command describe-file
describe-keymap describe-option describe-option-of-type))
(use-package re-builder
:commands (re-builder reb-mode-buffer-p)
:init
(add-hook 'reb-mode-hook 'narf|reb-cleanup)
(evil-set-initial-state 'reb-mode 'insert)
:config
(setq reb-re-syntax 'string)
(map! :map rxt-help-mode-map
:n [escape] 'kill-buffer-and-window
:map reb-mode-map
:n "C-g" 'reb-quit
:n [escape] 'reb-quit
:n [backtab] 'reb-change-syntax))
(provide 'core-editor)
;;; core-editor.el ends here