Major refactor: use-package-always-defer = nil & use :hook

Possibly breaking change: packages are no longer deferred by default.

Addresses #286
This commit is contained in:
Henrik Lissner 2017-12-08 22:33:12 -05:00
parent 2cbd1b9107
commit 9d81bc5a8b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
45 changed files with 90 additions and 151 deletions

View file

@ -105,28 +105,24 @@ compilation database is present in the project.")
(def-package! modern-cpp-font-lock
:commands modern-c++-font-lock-mode
:init (add-hook 'c++-mode-hook #'modern-c++-font-lock-mode))
:hook (c++-mode . modern-c++-font-lock-mode))
(def-package! irony
:after cc-mode
:commands irony-install-server
:preface
(setq irony-server-install-prefix (concat doom-etc-dir "irony-server/"))
:init
(add-hook! (c-mode c++-mode objc-mode) #'irony-mode)
:preface (setq irony-server-install-prefix (concat doom-etc-dir "irony-server/"))
:hook ((c-mode c++-mode objc-mode) . irony-mode)
:config
(unless (file-directory-p irony-server-install-prefix)
(warn "irony-mode: server isn't installed; run M-x irony-install-server"))
;; Initialize compilation database, if present. Otherwise, fall back on
;; `+cc-compiler-options'.
(add-hook 'irony-mode-hook #'+cc|irony-init-compile-options))
(def-package! irony-eldoc
:after irony
:config (add-hook 'irony-mode-hook #'irony-eldoc))
:hook (irony-mode . irony-eldoc))
(def-package! flycheck-irony
:when (featurep! :feature syntax-checker)
@ -157,8 +153,7 @@ compilation database is present in the project.")
(def-package! opencl-mode :mode "\\.cl$")
(def-package! demangle-mode
:commands demangle-mode
:init (add-hook 'llvm-mode-hook #'demangle-mode))
:hook llvm-mode)
(def-package! glsl-mode
:mode "\\.glsl$"

View file

@ -9,7 +9,6 @@
(def-package! flycheck-elm
:after elm-mode
:config
(add-hook 'flycheck-mode-hook #'flycheck-elm-setup))
:after (:all flycheck elm-mode)
:hook (flycheck-mode . flycheck-elm-setup))

View file

@ -72,6 +72,7 @@
(def-package! slime
:defer t
:config
(setq inferior-lisp-program "clisp")
(require 'slime-fuzzy))

View file

@ -65,9 +65,7 @@
(def-package! go-eldoc
:after go-mode
:commands go-eldoc-setup
:config (add-hook 'go-mode-hook #'go-eldoc-setup))
:hook (go-mode . go-eldoc-setup))
(def-package! go-guru

View file

@ -1,9 +1,7 @@
;;; lang/haskell/+intero.el -*- lexical-binding: t; -*-
(def-package! intero
:commands intero-mode
:init
(add-hook 'haskell-mode-hook #'intero-mode)
:hook (haskell-mode . intero-mode)
:config
(unless (executable-find "stack")
(warn "haskell-mode: couldn't find stack, disabling intero")
@ -16,6 +14,4 @@
(def-package! hindent
:commands hindent-mode
:init
(add-hook 'haskell-mode-hook #'hindent-mode))
:hook (haskell-mode . hindent-mode))

View file

@ -3,8 +3,7 @@
;; NOTE This submodule is incomplete
(def-package! eclim
:init
(add-hook 'java-mode-hook #'eclim-mode)
:hook (java-mode . eclim-mode)
:config
(set! :jump 'java-mode
:definition #'eclim-java-find-declaration
@ -53,6 +52,6 @@
(def-package! company-emacs-eclim
:when (featurep! :completion company)
:after java
:after java-mode
:config
(set! :company-backend 'java-mode '(company-emacs-eclim)))

View file

@ -1,9 +1,7 @@
;;; lang/java/+meghanada.el -*- lexical-binding: t; -*-
(def-package! meghanada
:commands meghanada-mode
:init
(add-hook! 'java-mode-hook #'(meghanada-mode rainbow-delimiters-mode))
:hook (java-mode . meghanada-mode)
:config
(setq meghanada-server-install-dir (concat doom-etc-dir "meghanada-server/")
meghanada-use-company (featurep! :completion company)
@ -11,6 +9,8 @@
meghanada-use-eldoc t
meghanada-use-auto-start t)
(add-hook 'java-mode-hook #'rainbow-delimiters-mode)
;; Setup on first use
(meghanada-install-server)
(if (file-exists-p (meghanada--locate-server-jar))

View file

@ -93,8 +93,7 @@
(def-package! tern
:commands tern-mode
:init (add-hook 'js2-mode-hook #'tern-mode)
:hook (js2-mode . tern-mode)
:config
(advice-add #'tern-project-dir :override #'doom-project-root))

View file

@ -67,6 +67,7 @@
(def-package! bibtex ; built-in
:defer t
:config
(setq bibtex-dialect 'biblatex
bibtex-align-at-equal-sign t

View file

@ -2,14 +2,12 @@
(def-package! ledger-mode
:mode "\\.ledger$"
:commands ledger-mode
:config (setq ledger-clear-whole-transactions 1))
(def-package! evil-ledger
:when (featurep! :feature evil)
:after ledger-mode
:config (add-hook 'ledger-mode-hook #'evil-ledger-mode))
:hook (ledger-mode . evil-ledger-mode))
(def-package! flycheck-ledger

View file

@ -3,12 +3,11 @@
(def-package! lua-mode
:mode "\\.lua$"
:interpreter "lua"
:init
(add-hook 'lua-mode-hook #'flycheck-mode)
:config
(add-hook 'lua-mode-hook #'flycheck-mode)
(set! :electric 'lua-mode :words '("else" "end"))
(set! :repl 'lua-mode #'+lua/repl)
;; sp's lua-specific rules are obnoxious, so we disable them
(setq sp-pairs (delete (assq 'lua-mode sp-pairs) sp-pairs))
@ -23,8 +22,7 @@
(def-package! company-lua
:when (featurep! :completion company)
:after lua-mode
:after (:all company lua-mode)
:config
(set! :company-backend 'lua-mode '(company-lua company-yasnippet)))

View file

@ -6,5 +6,4 @@
(def-package! merlin
:after tuareg
:config
(add-hook 'tuareg-mode-hook #'merlin-mode))
:hook (tuareg-mode . merlin-mode))

View file

@ -5,11 +5,10 @@
(add-hook 'perl-mode-hook #'flycheck-mode))
(def-package! perl6-mode
:init (require 'perl6-detect))
(def-package! perl6-detect)
(def-package! flycheck-perl6
:after perl6-mode
:when (featurep! :feature syntax-checker)
:after perl6-mode
:config (add-hook 'perl6-mode-hook #'flycheck-mode))

View file

@ -7,11 +7,11 @@
(def-package! php-mode
:mode ("\\.php[s345]?$" "\\.inc$")
:mode "\\.php[s345]?$"
:mode "\\.inc$"
:interpreter "php"
:config
(add-hook! 'php-mode-hook
#'(ac-php-core-eldoc-setup flycheck-mode))
(add-hook! php-mode #'(ac-php-core-eldoc-setup flycheck-mode))
(setq php-template-compatibility nil)
@ -68,8 +68,7 @@
(def-package! php-refactor-mode
:commands php-refactor-mode
:init (add-hook 'php-mode-hook #'php-refactor-mode))
:hook php-mode)
(def-package! phpunit

View file

@ -14,7 +14,5 @@
;; (add-hook 'flycheck-mode-hook #'flycheck-purescript-setup))
(def-package! psc-ide
:after purescript-mode
:config
(add-hook 'purescript-mode-hook #'psc-ide-mode))
:hook (purescript-mode . psc-ide-mode))

View file

@ -73,17 +73,14 @@ environment variables."
(def-package! anaconda-mode
:after python
:hook python-mode
:init
(add-hook 'python-mode-hook #'anaconda-mode)
(add-hook 'anaconda-mode-hook #'anaconda-eldoc-mode)
(setq anaconda-mode-installation-directory (concat doom-etc-dir "anaconda/")
anaconda-mode-eldoc-as-single-line t)
:config
(add-hook 'anaconda-mode-hook #'anaconda-eldoc-mode)
(set! :popup "*anaconda-mode*" :size 10 :noselect t :autoclose t :autokill t)
(map! :map anaconda-mode-map :m "gd" #'anaconda-mode-find-definitions)
(advice-add #'anaconda-mode-doc-buffer :after #'doom*anaconda-mode-doc-buffer))

View file

@ -12,11 +12,12 @@
;;
(def-package! ruby-mode
:mode ("\\.rb$" "\\.rake$" "\\.gemspec$" "\\.?pryrc$"
"/\\(Gem\\|Cap\\|Vagrant\\|Rake\\|Pod\\|Puppet\\|Berks\\)file$")
:mode "\\.rb$"
:mode "\\.rake$"
:mode "\\.gemspec$"
:mode "\\.\\(pry\\|irb\\)rc$"
:mode "/\\(Gem\\|Cap\\|Vagrant\\|Rake\\|Pod\\|Puppet\\|Berks\\)file$"
:interpreter "ruby"
:init
(add-hook 'ruby-mode-hook #'flycheck-mode)
:config
(set! :company-backend 'ruby-mode '(company-dabbrev-code))
(set! :electric 'ruby-mode :words '("else" "end" "elseif"))
@ -24,6 +25,8 @@
;; Don't interfere with my custom RET behavior
(define-key ruby-mode-map [?\n] nil)
(add-hook 'ruby-mode-hook #'flycheck-mode)
;; Version management with rbenv
(defun +ruby|add-version-to-modeline ()
"Add version string to the major mode in the modeline."
@ -67,9 +70,7 @@ environment variables."
;; Highlight doc comments
(def-package! yard-mode
:commands yard-mode
:init (add-hook 'ruby-mode-hook #'yard-mode))
(def-package! yard-mode :hook ruby-mode)
(def-package! rspec-mode

View file

@ -20,10 +20,10 @@
(def-package! racer
:after rust-mode
:preface
:init
(add-hook! 'rust-mode-hook #'(racer-mode eldoc-mode flycheck-rust-setup))
:hook (rust-mode . racer-mode)
:config
(add-hook 'rust-mode-hook #'eldoc-mode)
(setq racer-cmd (or (executable-find "racer")
(expand-file-name "racer/target/release/racer" +rust-src-dir))
racer-rust-src-path (or (getenv "RUST_SRC_PATH")
@ -44,5 +44,6 @@
(def-package! flycheck-rust
:when (featurep! :feature syntax-checker)
:after rust-mode
:hook (flycheck-mode . flycheck-rust-setup)
:config (add-hook 'rust-mode-hook #'flycheck-mode))

View file

@ -2,17 +2,18 @@
(def-package! scala-mode
:mode "\\.s\\(cala\\|bt\\)$"
:config
(setq scala-indent:align-parameters t))
:config (setq scala-indent:align-parameters t))
(def-package! sbt-mode :after scala-mode)
(def-package! ensime
:after scala-mode
:commands (ensime ensime-mode ensime-scala-mode-hook)
:commands (ensime ensime-scala-mode-hook)
:hook (scala-mode . ensime-mode)
:config
(add-hook 'ensime-mode-hook #'eldoc-mode)
(set! :company-backend 'scala-mode '(ensime-company company-yasnippet))
(setq ensime-startup-snapshot-notification nil
@ -21,9 +22,6 @@
;; let DOOM handle company setup
ensime-completion-style nil)
(add-hook 'scala-mode-hook #'ensime-mode)
(add-hook 'ensime-mode-hook #'eldoc-mode)
;; Fix void-variable imenu-auto-rescan error caused by `ensime--setup-imenu'
;; trying to make imenu variables buffer local before imenu is loaded.
(require 'imenu))

View file

@ -4,9 +4,8 @@
(def-package! swift-mode
:mode "\\.swift$"
:init
(add-hook 'swift-mode-hook #'flycheck-mode)
:config
(add-hook 'swift-mode-hook #'flycheck-mode)
(set! :repl 'swift-mode #'swift-mode-run-repl) ; TODO test this
(push 'swift flycheck-checkers))

View file

@ -2,9 +2,9 @@
(def-package! typescript-mode
:mode "\\.ts$"
:init
(add-hook 'typescript-mode-hook #'rainbow-delimiters-mode)
:config
(add-hook 'typescript-mode-hook #'rainbow-delimiters-mode)
(set! :electric 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&"))
;; TODO tide-jump-back

View file

@ -21,15 +21,14 @@
(def-package! counsel-css
:when (featurep! :completion ivy)
:commands (counsel-css counsel-css-imenu-setup)
:hook (css-mode . counsel-css-imenu-setup)
:init
(add-hook 'css-mode-hook #'counsel-css-imenu-setup)
(map! :map* (css-mode-map scss-mode-map less-css-mode-map)
:localleader :n ";" #'counsel-css))
(def-package! rainbow-mode
:commands rainbow-mode
:init (add-hook! (css-mode sass-mode) #'rainbow-mode))
:hook (css-mode sass-mode))
(def-package! css-mode

View file

@ -9,9 +9,8 @@
:mode "\\.mustache$"
:mode "\\.tsx$"
:mode "wp-content/themes/.+/.+\\.php$"
:init
(add-hook 'web-mode-hook #'turn-off-smartparens-mode)
:config
(add-hook 'web-mode-hook #'turn-off-smartparens-mode)
(set! :company-backend 'web-mode '(company-web-html company-yasnippet))
(setq web-mode-enable-html-entities-fontification t)

View file

@ -16,9 +16,7 @@
(def-package! emmet-mode
:commands emmet-mode
:preface (defvar emmet-mode-keymap (make-sparse-keymap))
:init
(add-hook! (css-mode web-mode html-mode haml-mode nxml-mode rjsx-mode)
'emmet-mode)
:hook (css-mode web-mode html-mode haml-mode nxml-mode rjsx-mode)
:config
(setq emmet-move-cursor-between-quotes t)
(map! :map emmet-mode-keymap