diff --git a/core/core-vcs.el b/core/core-vcs.el index e364890cf..d659bec7e 100644 --- a/core/core-vcs.el +++ b/core/core-vcs.el @@ -1,27 +1,27 @@ ;;; core-vcs.el --- version control awareness (use-package git-commit-mode ; - :mode ("/COMMIT_EDITMSG\\'" - "/NOTES_EDITMSG\\'" - "/MERGE_MSG\\'" - "/TAG_EDITMSG\\'" - "/PULLREQ_EDITMSG\\'") + :mode ("/COMMIT_EDITMSG$" + "/NOTES_EDITMSG$" + "/MERGE_MSG$" + "/TAG_EDITMSG$" + "/PULLREQ_EDITMSG$") :config (evil-set-initial-state 'git-commit-mode 'insert)) (use-package git-rebase-mode - :mode "/git-rebase-todo\\'" + :mode "/git-rebase-todo$" :config (evil-set-initial-state 'git-rebase-mode 'insert)) (use-package gitconfig-mode - :mode ("/\\.?git/?config\\'" "/\\.gitmodules\\'") + :mode ("/\\.?git/?config$" "/\\.gitmodules$") :init (add-hook 'gitconfig-mode-hook 'flyspell-mode)) (use-package gitignore-mode - :mode ("/\\.gitignore\\'" - "/\\.git/info/exclude\\'" - "/git/ignore\\'")) + :mode ("/\\.gitignore$" + "/\\.git/info/exclude$" + "/git/ignore$")) (use-package diff-hl :init (setq diff-hl-draw-borders nil) diff --git a/core/core.el b/core/core.el index 71c8077a4..0bb3b95b6 100644 --- a/core/core.el +++ b/core/core.el @@ -158,6 +158,9 @@ recentf-auto-cleanup 600) (recentf-mode 1) +(require 'popwin) +(popwin-mode 1) + ;; Save cursor location across sessions. Only save for files that exist. (use-package saveplace :defer t @@ -168,8 +171,6 @@ (require 'saveplace) (setq save-place t)))) -(use-package popwin :config (popwin-mode 1)) - (use-package help-fns+ ; Improved help commands :commands (describe-buffer describe-command describe-file describe-keymap describe-option describe-option-of-type)) diff --git a/modules/module-data.el b/modules/module-data.el index ff0c6e9eb..eb928bc3d 100644 --- a/modules/module-data.el +++ b/modules/module-data.el @@ -4,9 +4,7 @@ :mode "\\.ya?ml$" :init (add-hook! yaml-mode 'narf|enable-tab-width-2)) -(use-package json-mode - :mode (("\\.json$" . json-mode) - ("\\.jshintrc$" . json-mode))) +(use-package json-mode :mode "\\.js\\(on\\|hintrc\\)$") ;; TODO: Db client diff --git a/modules/module-elisp.el b/modules/module-elisp.el index 9bb1e8eda..f159b24e5 100644 --- a/modules/module-elisp.el +++ b/modules/module-elisp.el @@ -12,7 +12,7 @@ (narf:compile-el))) (add-hook! emacs-lisp-mode - (add-hook 'before-save-hook 'delete-trailing-whitespace nil t) + ;; (add-hook 'before-save-hook 'delete-trailing-whitespace nil t) (add-hook 'after-save-hook 'narf-elisp-auto-compile nil t)) ;; Real go-to-definition for elisp diff --git a/modules/module-java.el b/modules/module-java.el index 35da34809..990509d14 100644 --- a/modules/module-java.el +++ b/modules/module-java.el @@ -37,10 +37,10 @@ (use-package groovy-mode :functions (is-groovy-mode) - :mode "\\.\\(gradle\\|gvy\\|groovy\\)$") + :mode "\\.g\\(radle\\|vy\\|roovy\\)$") (use-package scala-mode2 - :mode ("\\.\\(scala\\|sbt\\)$" . scala-mode)) + :mode ("\\.s\\(cala\\|bt\\)$" . scala-mode)) (provide 'module-java) ;;; module-java.el ends here diff --git a/modules/module-lb6.el b/modules/module-lb6.el index 408e579cd..69abf026b 100644 --- a/modules/module-lb6.el +++ b/modules/module-lb6.el @@ -6,8 +6,8 @@ :lighter "lb6" :keymap (make-sparse-keymap) (add-yas-minor-mode! 'lb6-mode)) - (associate! lb6-mode :match "\\.lb\\(action\\|ext\\)/.*$") (provide 'module-lb6) ;;; module-lb6.el ends here + diff --git a/modules/module-lua.el b/modules/module-lua.el index 467705266..46085eb65 100644 --- a/modules/module-lua.el +++ b/modules/module-lua.el @@ -5,10 +5,8 @@ :interpreter "lua" :init (setq-default lua-indent-level tab-width) - ;; (after! company-dict ;; (add-to-list 'company-dict-minor-mode-alist 'love-mode)) - (add-hook! lua-mode (narf|enable-tab-width-2) (setq lua-indent-level 2))) @@ -17,8 +15,8 @@ "Buffer local minor mode for Love2D" :init-value nil :lighter " ♥" - :keymap (make-sparse-keymap)) -(add-yas-minor-mode! 'love-mode) + :keymap (make-sparse-keymap) + (add-yas-minor-mode! 'love-mode)) (associate! love-mode :files ("main.lua") :in (lua-mode)) (build-for! love-mode "open -a love.app '%s'" "main.lua") diff --git a/modules/module-python.el b/modules/module-python.el index 308788881..d709d1ccb 100644 --- a/modules/module-python.el +++ b/modules/module-python.el @@ -6,9 +6,9 @@ :commands python-mode :init (add-hook! python-mode '(narf|enable-tab-width-4 emr-initialize)) - (setq python-indent-offset 4) - (setq python-environment-directory narf-temp-dir) - (setq python-shell-interpreter "ipython") + (setq python-indent-offset 4 + python-environment-directory narf-temp-dir + python-shell-interpreter "ipython") :config (define-key python-mode-map (kbd "DEL") nil)) ; interferes with smartparens diff --git a/modules/module-regex.el b/modules/module-regex.el index 50aded273..354f23d34 100644 --- a/modules/module-regex.el +++ b/modules/module-regex.el @@ -12,12 +12,10 @@ :config (add-hook! reb-mode 'narf|reb-cleanup) (evil-set-initial-state 'reb-mode 'insert) - (bind! :map reb-mode-map :n "C-g" 'reb-quit :n [escape] 'reb-quit :n [backtab] 'reb-change-syntax)) - (provide 'module-regex) ;;; module-regex.el ends here diff --git a/modules/module-ruby.el b/modules/module-ruby.el index 3df3ab665..95e277a3c 100644 --- a/modules/module-ruby.el +++ b/modules/module-ruby.el @@ -15,96 +15,91 @@ (setq ruby-indent-level 2 ruby-deep-indent-paren t) - (associate! text-mode :match "/\\.rspec$") - ;; Don't interfere with my custom RET behavior (define-key ruby-mode-map [?\n] nil) - (use-package ruby-refactor - :init (add-hook! ruby-mode 'emr-initialize) - :config - (after! emr - (emr-declare-command 'ruby-toggle-block - :title "toggle block" - :modes 'ruby-mode - :predicate (lambda () (not (use-region-p)))) - (emr-declare-command 'ruby-refactor-extract-to-method - :title "extract method" - :modes 'ruby-mode - :predicate (lambda () (use-region-p))) - (emr-declare-command 'ruby-refactor-extract-local-variable - :title "extract local variable" - :modes 'ruby-mode - :predicate (lambda () (use-region-p))) - (emr-declare-command 'ruby-refactor-extract-constant - :title "extract constant" - :modes 'ruby-mode - :predicate (lambda () (use-region-p))) - (emr-declare-command 'ruby-refactor-add-parameter - :title "add parameter" - :modes 'ruby-mode) - (emr-declare-command 'ruby-refactor-extract-to-let - :title "extract to let" - :modes 'ruby-mode - :predicate (lambda () (use-region-p))))) - ;; Rakefiles ;;;;;;;;;;;;;;;;;;;;;;;;;;; (define-minor-mode rake-mode "Buffer local minor mode for rake files" :lighter " Rake" :keymap (make-sparse-keymap) (add-yas-minor-mode! 'rake-mode)) - (associate! rake-mode :match "/\\(Rakefile\\|\\.rake\\)$") - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (associate! rake-mode :match "\\(/Rakefile\\|\\.rake\\)$") ;; Vagrantfiles ;;;;;;;;;;;;;;;;;;;;;;;; (define-minor-mode vagrant-mode "Buffer local minor mode for vagrant files" :lighter " Va" :keymap (make-sparse-keymap) (add-yas-minor-mode! 'vagrant-mode)) - (associate! vagrant-mode :match "/Vagrantfile$") - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (associate! vagrant-mode :match "/Vagrantfile$")) - ;; Rspec files ;;;;;;;;;;;;;;;;;;;;;;;;; - (use-package rspec-mode - :defer t - :init - (associate! rspec-mode :match "\\(/spec_helper\\|_spec\\)\\.rb$") - (associate! rspec-mode :match "/\\.rspec$") +(use-package rspec-mode + :defer t + :mode ("/\\.rspec$" . text-mode) + :init + (associate! rspec-mode :match "\\(/spec_helper\\|_spec\\)\\.rb$") + (associate! rspec-mode :match "/\\.rspec$") - (defvar rspec-mode-verifiable-map (make-sparse-keymap)) - (defvar evilmi-ruby-match-tags - '((("unless" "if") ("elsif" "else") "end") - ("begin" ("rescue" "ensure") "end") - ("case" ("when" "else") "end") - (("class" "def" "while" "do" "module" "for" "until") () "end") - ;; Rake - (("task" "namespace") () "end"))) - :config - (bind! (:prefix "," - :n "tr" 'rspec-rerun - :n "ta" 'rspec-verify-all - :n "ts" 'rspec-verify-single - :n "tv" 'rspec-verify))) + (defvar rspec-mode-verifiable-map (make-sparse-keymap)) + (defvar evilmi-ruby-match-tags + '((("unless" "if") ("elsif" "else") "end") + ("begin" ("rescue" "ensure") "end") + ("case" ("when" "else") "end") + (("class" "def" "while" "do" "module" "for" "until") () "end") + ;; Rake + (("task" "namespace") () "end"))) + :config + (bind! (:prefix "," + :n "tr" 'rspec-rerun + :n "ta" 'rspec-verify-all + :n "ts" 'rspec-verify-single + :n "tv" 'rspec-verify))) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(use-package inf-ruby + :commands (inf-ruby inf-ruby-console-auto) + :config + (evil-set-initial-state 'inf-ruby-mode 'insert) + (after! company + (require 'company-inf-ruby) + (add-company-backend! inf-ruby-mode (inf-ruby)))) - (use-package inf-ruby - :commands (inf-ruby inf-ruby-console-auto) - :config - (evil-set-initial-state 'inf-ruby-mode 'insert) - (after! company - (require 'company-inf-ruby) - (add-company-backend! inf-ruby-mode (inf-ruby)))) +(use-package robe + :commands (robe-mode robe-start ruby-load-file) + :init + (add-hook! after-save 'narf|ruby-load-file) + (add-hook! ruby-mode 'narf|enable-robe-maybe) + :config + (after! company + (require 'company-robe) + (add-company-backend! ruby-mode (robe)))) - (use-package robe - :functions (robe-mode robe-start ruby-load-file) - :config - (add-hook! after-save 'narf|ruby-load-file) - (add-hook! ruby-mode 'narf|enable-robe-maybe) - - (after! company - (require 'company-robe) - (add-company-backend! ruby-mode (robe))))) +(use-package ruby-refactor + :after emr + :init (add-hook! ruby-mode 'emr-initialize) + :config + (emr-declare-command 'ruby-toggle-block + :title "toggle block" + :modes 'ruby-mode + :predicate (lambda () (not (use-region-p)))) + (emr-declare-command 'ruby-refactor-extract-to-method + :title "extract method" + :modes 'ruby-mode + :predicate (lambda () (use-region-p))) + (emr-declare-command 'ruby-refactor-extract-local-variable + :title "extract local variable" + :modes 'ruby-mode + :predicate (lambda () (use-region-p))) + (emr-declare-command 'ruby-refactor-extract-constant + :title "extract constant" + :modes 'ruby-mode + :predicate (lambda () (use-region-p))) + (emr-declare-command 'ruby-refactor-add-parameter + :title "add parameter" + :modes 'ruby-mode + :predicate (lambda () (not (use-region-p)))) + (emr-declare-command 'ruby-refactor-extract-to-let + :title "extract to let" + :modes 'ruby-mode + :predicate (lambda () (use-region-p)))) (provide 'module-ruby) ;;; module-ruby.el ends here diff --git a/modules/module-sass.el b/modules/module-sass.el index b01dce6a5..bf61dcdf2 100644 --- a/modules/module-sass.el +++ b/modules/module-sass.el @@ -8,8 +8,7 @@ (use-package scss-mode :mode "\\.scss$" :init - (add-hook! scss-mode 'narf|enable-tab-width-2) - (add-hook! scss-mode 'hs-minor-mode) + (add-hook! scss-mode '(narf|enable-tab-width-2 hs-minor-mode)) (setq-default css-indent-offset 2) (setq scss-compile-at-save nil) :config diff --git a/modules/module-swift.el b/modules/module-swift.el index 134a5cb41..47d5fe24d 100644 --- a/modules/module-swift.el +++ b/modules/module-swift.el @@ -4,7 +4,7 @@ :mode "\\.swift$" :config (after! flycheck (add-to-list 'flycheck-checkers 'swift)) - (after! company (add-company-backend! swift-mode (xcode)))) + (after! company (add-company-backend! swift-mode (xcode)))) ;; TODO Set up emacs task runners for fruitstrap diff --git a/private/my-commands.el b/private/my-commands.el index c8171cc92..5fca0e449 100644 --- a/private/my-commands.el +++ b/private/my-commands.el @@ -24,10 +24,10 @@ (exmap "m[sg]" 'popwin:messages) (exmap "ma[ke]" 'narf:build) (exmap "mv" 'narf:file-move) -;; (exmap "n[otes]" 'narf:org-search-files-or-headers) (exmap "na[rrow]" 'narf:narrow) ; Narrow buffer to selection (exmap "proj[ect]" 'helm-projectile-switch-project) (exmap "rec[ent]" 'narf:helm-recentf) +(exmap "re[gex]" 'narf:regex) (exmap "ref[actor]" 'emr-show-refactor-menu) (exmap "retab" 'narf:whitespace-retab) (exmap "rm" 'narf:file-delete) ; rm[!] @@ -36,13 +36,11 @@ (exmap "fi[nd]" 'narf:helm-swoop) (exmap "t" 'narf:tmux-run) (exmap "tcd" 'narf:tmux-chdir) -(exmap "tsnip[pets]" 'narf:yas-file-templates) ; temp[!] +(exmap "tsnip[pets]" 'narf:yas-file-templates) ; tsnip[!] ;; (exmap "term" 'narf:term-init) (exmap "x" 'narf:scratch-buffer) (after! flycheck (exmap "er[rors]" (λ (flycheck-buffer) (flycheck-list-errors)))) -(after! re-builder - (exmap "re[gex]" 'narf:regex)) ; TODO: Implement this (after! org (exmap "o[rg]edit" 'org-edit-special) (exmap "o[rg]refile" 'org-refile)