Rewrote core initfiles: add mod-ac, mod-fly & mod-git

* mod-ac: fuzzy and unintrusive auto-complete
* mod-fly: on-the-fly syntax and spell checking
* mod-git: git-gutter and git-related modes
This commit is contained in:
Henrik Lissner 2014-07-17 02:59:23 -04:00
parent b53dfd6369
commit 30845199b5
12 changed files with 224 additions and 191 deletions

View file

@ -11,21 +11,16 @@
evil-space ; mimics ; and , for f, F, t, T w/ space
evil-visualstar ; visual-based * and #
evil-ex-registers ; paste from registers in ex commands
auto-complete ; self-explanity
auto-complete-config ; its default config
fuzzy ; fuzzy search engine for auto-complete
autopair ; delimiter auto-closing
yasnippet ; snippets: expand with tab
rainbow-delimiters ; colored matching parenthesis
rainbow-mode ; highlight color codes
highlight-indentation ; visual indentation guides
diminish ; shrinks/removes modeline elements
saveplace ; restore cursor position on buffer load
volatile-highlights ; temporarily highlight changes on undo/yank
anzu ; display current + total matches searching
smex ; less M-x cruft
rotate-text ; like vim-switch
uniquify ; unique buffer names for identical filenames
recentf ; access to list of recent files
key-chord ; for mapping key chords in insert mode
ediff
@ -34,10 +29,6 @@
;;;; Editor behavior ;;;;;;;;;;;;;;;;
;;;#key-chord
(key-chord-mode 1)
(setq key-chord-two-keys-delay 0.5)
(electric-indent-mode +1)
(global-hl-line-mode +1) ; highlight the line
(setq blink-matching-paren nil) ; disable blink-matching-paren
@ -51,13 +42,19 @@
(setq truncate-partial-width-windows nil)
;; Prettify code-related major modes
(add-hook 'prog-mode-hook 'linum-on)
(add-hook 'prog-mode-hook 'rainbow-delimiters-mode)
(add-hook 'prog-mode-hook #'highlight-indentation-mode)
;; Remove trailing whitespace
(add-hook 'before-save-hook 'delete-trailing-whitespace)
;;;; Init plugins ;;;;;;;;;;;;;;;;;;;
;;;#key-chord
(key-chord-mode 1)
(setq key-chord-two-keys-delay 0.5)
;;;#smex
(smex-initialize)
;; Hook up smex to auto-update, rather than update on every run
@ -65,12 +62,10 @@
(when (boundp 'smex-cache) (smex-update)))
(add-hook 'after-load-functions 'smex-update-after-load)
;;;; Init plugins ;;;;;;;;;;;;;;;;;;;
;;;#evil
(setq evil-want-C-i-jump t)
(setq evil-want-C-u-scroll t)
(setq evil-leader/in-all-states t)
(global-evil-leader-mode)
(global-evil-matchit-mode 1)
@ -88,31 +83,27 @@
;; Enable registers in ex-mode
(define-key evil-ex-completion-map (kbd "C-r") #'evil-ex-paste-from-register)
;;;#autopair
(autopair-global-mode)
(diminish 'autopair-mode)
(setq autopair-blink nil)
;;;#smartparens
; (require 'smartparens-config)
; (smartparens-global-mode t)
;;;#anzu
(global-anzu-mode)
(diminish 'anzu-mode)
;;;#ediff
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
;;;#volatile-highlights
(volatile-highlights-mode t)
(diminish 'volatile-highlights-mode)
;;;#saveplace
(setq-default save-place t)
(setq save-place-file (expand-file-name "saveplace" my-tmp-dir))
;;;#savehist
(setq savehist-additional-variables
;; search entries
@ -123,77 +114,13 @@
savehist-file (expand-file-name "savehist" my-tmp-dir))
(savehist-mode 1)
;;;#diminish
(diminish 'undo-tree-mode)
(diminish 'highlight-indentation-mode)
;;;#uniquify
(setq uniquify-buffer-name-style 'forward)
(setq uniquify-separator "/")
(setq uniquify-after-kill-buffer-p t) ; rename after killing uniquified
(setq uniquify-ignore-buffers-re "^\\*") ; don't muck with special buffers
;;;#recentf
(recentf-mode 1)
(setq recentf-max-menu-items 25)
;;;#yasnippet
(yas-global-mode -1)
;;;; Auto-completion ;;;;;;;;;;;;;;
(ac-config-default)
(ac-linum-workaround) ; Fix line number flux bug
(diminish 'auto-complete-mode)
(add-hook 'prog-mode-hook 'enable-path-completion)
(setq ac-auto-show-menu nil ; Suggestions box must be invoked manually (see core-keymaps.el)
ac-use-menu-map t ; Enable ac-menu-map map when menu is open
ac-us-quick-help nil) ; Don't show tooltips unless invoked (see core-keymaps.el)
(defun enable-path-completion ()
(add-to-list 'ac-sources 'ac-source-filename)
(add-to-list 'ac-sources 'ac-source-files-in-current-dir))
;; Tell ido not to care about case
(setq completion-ignore-case t)
;;; Filters ido-matches setting acronynm matches in front of the results
(defadvice ido-set-matches-1 (after ido-smex-acronym-matches activate)
(if (and (fboundp 'smex-already-running) (smex-already-running)
(> (length ido-text) 1))
(let ((regex (concat "^" (mapconcat 'char-to-string ido-text "[^-]*-")))
(acronym-matches (list))
(remove-regexes '("-menu-")))
;; Creating the list of the results to be set as first
(dolist (item items)
(if (string-match (concat regex "[^-]*$") item) ;; strict match
(add-to-list 'acronym-matches item)
(if (string-match regex item) ;; appending relaxed match
(add-to-list 'acronym-matches item t))))
;; Filtering ad-return-value
(dolist (to_remove remove-regexes)
(setq ad-return-value
(delete-if (lambda (item)
(string-match to_remove item))
ad-return-value)))
;; Creating resulting list
(setq ad-return-value
(append acronym-matches
ad-return-value))
(delete-dups ad-return-value)
(reverse ad-return-value))))
;;
(provide 'core-editor)