It's settled. I have a problem.

This commit is contained in:
Henrik Lissner 2014-12-12 15:35:58 -05:00
parent 7ddb52699d
commit 5d24a9b3f7
23 changed files with 217 additions and 45 deletions

View file

@ -0,0 +1,131 @@
;;;; Modes 'n hooks ;;;;;;;;;;;;;;;;;
(associate-mode "/LICENSE[^/]*$" 'text-mode)
(associate-mode "zsh\\(env\\|rc\\)?$" 'sh-mode)
(associate-mode "z\\(profile\\|login\\|logout\\)?$" 'sh-mode)
(associate-mode "zsh/" 'sh-mode)
(associate-mode "\\.applescript$" 'applescript-mode)
(associate-mode "Cask$" 'emacs-lisp-mode)
(associate-mode "\\.el\\.gz$" 'emacs-lisp-mode)
(associate-mode "/Makefile$" 'makefile-gmake-mode)
(associate-mode "\\.plist$" 'nxml-mode)
;; (setenv "SHELL" (s-trim (shell-command-to-string "which zsh")))
(setenv "SHELL" "/usr/local/bin/zsh")
(setenv "EMACS" "1")
;; show-paren faces
(set-face-background 'show-paren-match nil)
(set-face-foreground 'show-paren-match "orange")
(set-face-attribute 'show-paren-match nil :weight 'extra-bold)
(set-register ?. "~/.dotfiles/")
(set-register ?d "~/Dropbox/Projects/")
(set-register ?@ "~/.emacs.d/init.el")
(add-hook 'help-mode-hook 'visual-line-mode)
(add-hook! 'before-save-hook
(unless (eq major-mode 'org-mode)
(delete-trailing-whitespace)))
;; Performance checks
(add-hook! 'find-file-hook
;; If file is oversized...
(when (> (buffer-size) (* 1024 1024))
(setq buffer-read-only t)
(buffer-disable-undo)
(fundamental-mode)
(visual-line-mode)))
;;;; Keymap Fixes ;;;;;;;;;;;;;;;;;;;;;;
;; This section is dedicated to keymaps that "fix" certain keys so
;; that they behave more like vim (or how I like it).
;; Restores "dumb" indentation to the tab key. This rustles a lot of
;; peoples' jimmies, apparently, but it's how I like it.
(bind 'insert (kbd "TAB") 'my.dumb-indent)
;; Except for lisp
(bind 'insert lisp-mode-map [remap my.dumb-indent] 'indent-for-tab-command)
(bind 'insert emacs-lisp-mode-map [remap my.dumb-indent] 'indent-for-tab-command)
;; Highjacks backspace and space to:
;; a) expand spaces between delimiters intelligently: (|) -> ( | )
;; b) the reverse of A: ( | ) -> (|)
;; c) allow backspace to delete indented blocks intelligently
;; d) and not do any of this magic when inside a string
(bind 'insert
(kbd "SPC") 'my.inflate-space-maybe
[remap backward-delete-char-untabify] 'my.deflate-space-maybe
[remap newline] 'my.newline-and-indent
;; Smarter move-to-beginning-of-line
[remap move-beginning-of-line] 'my.move-to-bol
;; Restore bash-esque keymaps in insert mode; C-w and C-a already exist
"\C-e" 'my.move-to-eol
"\C-u" 'my.backward-kill-to-bol-and-indent
;; Fixes delete
(kbd "<kp-delete>") 'delete-char
;; Textmate-esque insert-line before/after
(kbd "<s-return>") 'evil-open-below
(kbd "<S-s-return>") 'evil-open-above)
;; Fix osx keymappings and then some
(bind 'insert
(kbd "<s-left>") 'my.move-to-bol
(kbd "<s-right>") 'my.move-to-eol
(kbd "<s-up>") 'beginning-of-buffer
(kbd "<s-down>") 'end-of-buffer
(kbd "<s-backspace>") 'my.backward-kill-to-bol-and-indent)
(add-hook! 'ido-setup-hook
(bind ido-completion-map
(kbd "<backspace>") 'ido-delete-backward-updir
"\C-w" 'ido-delete-backward-word-updir))
;; Make ESC quit all the things
(bind (list minibuffer-local-map
minibuffer-local-ns-map
minibuffer-local-completion-map
minibuffer-local-must-match-map
minibuffer-local-isearch-map) [escape] 'my--minibuffer-quit)
(bind 'emacs [escape] 'my--minibuffer-quit)
(bind 'god [escape] 'evil-god-state-bail)
(bind 'normal evil-command-window-mode-map [escape] 'kill-buffer-and-window)
(bind evil-ex-map [escape] 'my--minibuffer-quit)
(bind (list evil-ex-search-keymap minibuffer-local-map)
"\C-w" 'evil-delete-backward-word)
(bind minibuffer-local-map
"\C-u" 'evil-delete-whole-line)
;; Close help/compilation windows with escape
;; Redefine to get rid of that silly delete-other-windows nonsense
(defun keyboard-escape-quit ()
(interactive)
(cond ((eq last-command 'mode-exited) nil)
((region-active-p)
(deactivate-mark))
((> (minibuffer-depth) 0)
(abort-recursive-edit))
(current-prefix-arg
nil)
((> (recursion-depth) 0)
(exit-recursive-edit))
(buffer-quit-function
(funcall buffer-quit-function))
((string-match "^ \\*" (buffer-name (current-buffer)))
(bury-buffer))))
(defun my-emacs-is-not-kill ()
(interactive)
(message "Gee, I dunno Brain..."))
(if is-mac (global-set-key (kbd "s-q") 'my-emacs-is-not-kill))
(provide 'my-settings)
;;; my-settings.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-company)
(use-package company (use-package company
:init :init
(global-company-mode 1) (global-company-mode 1)
@ -128,3 +126,7 @@
(after "helm-company" (after "helm-company"
(bind company-mode-map "<C-return>" 'helm-company) (bind company-mode-map "<C-return>" 'helm-company)
(bind company-active-map "<C-return>" 'helm-company)))))) (bind company-active-map "<C-return>" 'helm-company))))))
(provide 'init-company)
;;; init-company.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-csharp)
(use-package omnisharp :defer t (use-package omnisharp :defer t
:config :config
(progn (progn
@ -26,3 +24,6 @@
(use-package shaderlab-mode :mode "\\.shader$") (use-package shaderlab-mode :mode "\\.shader$")
;; TODO Make more Unity-friendly ;; TODO Make more Unity-friendly
(provide 'init-csharp)
;;; init-csharp.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-elisp)
(defun remove-elc-on-save () (defun remove-elc-on-save ()
"If you're saving an elisp file, likely the .elc is no longer valid." "If you're saving an elisp file, likely the .elc is no longer valid."
(make-local-variable 'after-save-hook) (make-local-variable 'after-save-hook)
@ -29,3 +27,7 @@
(if func (find-function-other-window func))))) (if func (find-function-other-window func)))))
(bind 'motion emacs-lisp-mode-map "g r" 'my:elisp-eval) (bind 'motion emacs-lisp-mode-map "g r" 'my:elisp-eval)
(provide 'init-elisp)
;;; init-elisp.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-eshell)
;; (evil-set-initial-state 'eshell-mode 'emacs) ;; (evil-set-initial-state 'eshell-mode 'emacs)
;; (push '("*eshell*" :position left :width 80 :stick t) popwin:special-display-config) ;; (push '("*eshell*" :position left :width 80 :stick t) popwin:special-display-config)
@ -46,3 +44,7 @@
;; ;; em-prompt ;; ;; em-prompt
;; (setq eshell-prompt-function 'my-eshell-prompt) ;; (setq eshell-prompt-function 'my-eshell-prompt)
(provide 'init-eshell)
;;; init-eshell.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-fly)
(use-package flycheck (use-package flycheck
:defer t :defer t
:init (add-hook 'prog-mode-hook 'flycheck-mode) :init (add-hook 'prog-mode-hook 'flycheck-mode)
@ -34,3 +32,7 @@
popwin:special-display-config))) popwin:special-display-config)))
(use-package flyspell :commands flyspell-mode) (use-package flyspell :commands flyspell-mode)
(provide 'init-fly)
;;; init-fly.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-git)
(use-package git-commit-mode ; (use-package git-commit-mode ;
:mode (("/COMMIT_EDITMSG\\'" . git-commit-mode) :mode (("/COMMIT_EDITMSG\\'" . git-commit-mode)
("/NOTES_EDITMSG\\'" . git-commit-mode) ("/NOTES_EDITMSG\\'" . git-commit-mode)
@ -111,3 +109,7 @@
(evil-set-initial-state 'git-commit-mode 'insert) (evil-set-initial-state 'git-commit-mode 'insert)
(evil-set-initial-state 'git-rebase-mode 'insert) (evil-set-initial-state 'git-rebase-mode 'insert)
(provide 'init-git)
;;; init-git.el ends here

View file

@ -1,7 +1,9 @@
(provide 'init-go)
;; (use-package go-mode ;; (use-package go-mode
;; :mode "\\.go\\'" ;; :mode "\\.go\\'"
;; :interpreter "go" ;; :interpreter "go"
;; :init ;; :init
;; (require 'go-autocomplete)) ;; (require 'go-autocomplete))
(provide 'init-go)
;;; init-go.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-helm)
(use-package helm (use-package helm
:config :config
(progn ; helm settings (progn ; helm settings
@ -210,3 +208,7 @@
"C-u" 'helm-delete-minibuffer-contents "C-u" 'helm-delete-minibuffer-contents
"C-r" 'evil-ex-paste-from-register ; Evil registers in helm! Glorious! "C-r" 'evil-ex-paste-from-register ; Evil registers in helm! Glorious!
[escape] 'helm-keyboard-quit))) [escape] 'helm-keyboard-quit)))
(provide 'init-helm)
;;; init-helm.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-ido)
;; ido remaps its keys every time it's invoked, this screws with ;; ido remaps its keys every time it's invoked, this screws with
;; custom mappings. So we've gotta neuter ido. ;; custom mappings. So we've gotta neuter ido.
;; (defun ido-init-completion-maps ()) ;; (defun ido-init-completion-maps ())
@ -38,3 +36,7 @@
'("\\` " "^\\*ESS\\*" "^\\*Messages\\*" "^\\*Help\\*" "^\\*Buffer" '("\\` " "^\\*ESS\\*" "^\\*Messages\\*" "^\\*Help\\*" "^\\*Buffer"
"^\\*.*Completions\\*$" "^\\*Ediff" "^\\*tramp" "^\\*cvs-" "^\\*.*Completions\\*$" "^\\*Ediff" "^\\*tramp" "^\\*cvs-"
"_region_" " output\\*$" "^TAGS$" "^\*Ido")) "_region_" " output\\*$" "^TAGS$" "^\*Ido"))
(provide 'init-ido)
;;; init-ido.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-lua)
(use-package lua-mode (use-package lua-mode
:mode "\\.lua$" :mode "\\.lua$"
:interpreter "lua" :interpreter "lua"
@ -19,3 +17,7 @@
(defun my--build-love () (defun my--build-love ()
(shell-command (format "open -a love.app %s" (my--project-root)))) (shell-command (format "open -a love.app %s" (my--project-root))))
)) ))
(provide 'init-lua)
;;; init-lua.el ends here

View file

@ -1,6 +1,4 @@
;; Project nav+search tools (projectile, helm, ag) ;; Project nav+search tools (projectile, helm, ag)
(provide 'init-project)
(use-package neotree (use-package neotree
:commands (neotree-show neotree-hide neotree-toggle) :commands (neotree-show neotree-hide neotree-toggle)
:config :config
@ -39,3 +37,7 @@
(add-hook! 'dired-mode-hook (add-hook! 'dired-mode-hook
(use-package 'dired+ :config (toggle-diredp-find-file-reuse-dir 1))))) (use-package 'dired+ :config (toggle-diredp-find-file-reuse-dir 1)))))
(provide 'init-project)
;;; init-project.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-projectile)
(use-package projectile (use-package projectile
:pre-load :pre-load
(setq-default projectile-cache-file (concat my-tmp-dir "projectile.cache") (setq-default projectile-cache-file (concat my-tmp-dir "projectile.cache")
@ -27,3 +25,7 @@
(after "perspective" (after "perspective"
(defvar persp-modestring-dividers '("" " |" ",")) (defvar persp-modestring-dividers '("" " |" ","))
(use-package persp-projectile)))) (use-package persp-projectile))))
(provide 'init-projectile)
;;; init-projectile.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-python)
(use-package python (use-package python
:mode ("\\.py\\'" . python-mode) :mode ("\\.py\\'" . python-mode)
:interpreter ("python" . python-mode) :interpreter ("python" . python-mode)
@ -96,3 +94,7 @@
",tA" 'nosetests-pdb-all ",tA" 'nosetests-pdb-all
",tO" 'nosetests-pdb-one ",tO" 'nosetests-pdb-one
",tV" 'nosetests-pdb-module)))) ",tV" 'nosetests-pdb-module))))
(provide 'init-python)
;;; init-python.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-regex)
(use-package re-builder (use-package re-builder
:defer t :defer t
:config :config
@ -27,3 +25,7 @@
(after "re-builder" (setq reb-re-syntax 'pcre)) (after "re-builder" (setq reb-re-syntax 'pcre))
(after "popwin" (after "popwin"
(push '("* Regexp Explain *" :position top :height 0.35) popwin:special-display-config)))) (push '("* Regexp Explain *" :position top :height 0.35) popwin:special-display-config))))
(provide 'init-regex)
;;; init-regex.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-ruby)
(use-package enh-ruby-mode (use-package enh-ruby-mode
:mode (("\\.rb$" . enh-ruby-mode) :mode (("\\.rb$" . enh-ruby-mode)
("\\.ru$" . enh-ruby-mode) ("\\.ru$" . enh-ruby-mode)
@ -111,3 +109,7 @@
(unless robe-running (robe-start 1)) (unless robe-running (robe-start 1))
(when robe-running (ruby-load-file file))))) (when robe-running (ruby-load-file file)))))
(add-hook 'after-save-hook 'my--ruby-load-file))))) (add-hook 'after-save-hook 'my--ruby-load-file)))))
(provide 'init-ruby)
;;; init-ruby.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-sh)
(after "popwin" (after "popwin"
(push '("*ansi-term*" :position bottom :height 0.45 :stick t) popwin:special-display-config) (push '("*ansi-term*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
(push '("*terminal*" :position bottom :height 0.45 :stick t) popwin:special-display-config) (push '("*terminal*" :position bottom :height 0.45 :stick t) popwin:special-display-config)
@ -20,3 +18,7 @@
(string= (buffer-name buf) "*Shell Command Output*") (string= (buffer-name buf) "*Shell Command Output*")
(with-current-buffer buf (with-current-buffer buf
(ansi-color-apply-on-region (point-min) (point-max)))))) (ansi-color-apply-on-region (point-min) (point-max))))))
(provide 'init-sh)
;;; init-sh.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-swift)
(use-package swift-mode (use-package swift-mode
:mode "\\.swift$" :mode "\\.swift$"
:config :config
@ -7,4 +5,7 @@
(after "flycheck" (add-to-list 'flycheck-cehckers 'swift)) (after "flycheck" (add-to-list 'flycheck-cehckers 'swift))
(after "company" (company--backend-on 'swift-mode-hook 'company-xcode)))) (after "company" (company--backend-on 'swift-mode-hook 'company-xcode))))
;; TODO: Set up emacs task runners for fruitstrap ;; TODO Set up emacs task runners for fruitstrap
(provide 'init-swift)
;;; init-swift.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-text)
(add-hook 'text-mode-hook 'turn-on-auto-fill) (add-hook 'text-mode-hook 'turn-on-auto-fill)
(add-hook 'prog-mode-hook 'enable-comment-hard-wrap) (add-hook 'prog-mode-hook 'enable-comment-hard-wrap)
@ -50,3 +48,7 @@
(kbd "s-b") 'markdown-insert-bold (kbd "s-b") 'markdown-insert-bold
(kbd "s-i") 'markdown-insert-italic (kbd "s-i") 'markdown-insert-italic
(kbd "s-`") 'markdown-insert-del)))) (kbd "s-`") 'markdown-insert-del))))
(provide 'init-text)
;;; init-text.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-tmux)
(defun my--tmux-send (command) (defun my--tmux-send (command)
(shell-command (format "tmux send-keys %s" command))) (shell-command (format "tmux send-keys %s" command)))
@ -32,3 +30,6 @@
(when (evil-ex-p) (when (evil-ex-p)
(message "[Tmux] cd %s" dir))))) (message "[Tmux] cd %s" dir)))))
(provide 'init-tmux)
;;; init-tmux.el ends here

View file

@ -1,5 +1,3 @@
(provide 'init-yasnippet)
(use-package yasnippet (use-package yasnippet
:mode (("emacs\\.d/snippets/.+$" . snippet-mode)) :mode (("emacs\\.d/snippets/.+$" . snippet-mode))
:pre-load :pre-load
@ -133,3 +131,7 @@
"<s-right>" 'my/yas-goto-end-of-field "<s-right>" 'my/yas-goto-end-of-field
"<s-left>" 'my/yas-goto-start-of-field "<s-left>" 'my/yas-goto-start-of-field
[backspace] 'my/yas-clear-field))) [backspace] 'my/yas-clear-field)))
(provide 'init-yasnippet)
;;; init-yasnippet.el ends here

View file

@ -1,5 +1,3 @@
(provide 'my-bindings)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Global keymaps ;; ;; Global keymaps ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -172,3 +170,7 @@
"[[" 'help-go-back)) "[[" 'help-go-back))
(evil-make-overriding-map my-mode-map nil) (evil-make-overriding-map my-mode-map nil)
(provide 'my-bindings)
;;; my-bindings.el ends here

View file

@ -1,5 +1,3 @@
(provide 'my-settings)
;;;; Modes 'n hooks ;;;;;;;;;;;;;;;;; ;;;; Modes 'n hooks ;;;;;;;;;;;;;;;;;
(associate-mode "/LICENSE[^/]*$" 'text-mode) (associate-mode "/LICENSE[^/]*$" 'text-mode)
(associate-mode "zsh\\(env\\|rc\\)?$" 'sh-mode) (associate-mode "zsh\\(env\\|rc\\)?$" 'sh-mode)
@ -126,3 +124,7 @@
(message "Gee, I dunno Brain...")) (message "Gee, I dunno Brain..."))
(if is-mac (global-set-key (kbd "s-q") 'my-emacs-is-not-kill)) (if is-mac (global-set-key (kbd "s-q") 'my-emacs-is-not-kill))
(provide 'my-settings)
;;; my-settings.el ends here