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

@ -150,7 +150,7 @@ with functions that require it (like modeline segments)."
;; Keep track of recently opened files ;; Keep track of recently opened files
(def-package! recentf (def-package! recentf
:init (add-hook 'doom-init-hook #'recentf-mode) :hook (doom-init . recentf-mode)
:config :config
(setq recentf-save-file (concat doom-etc-dir "recentf") (setq recentf-save-file (concat doom-etc-dir "recentf")
recentf-max-menu-items 0 recentf-max-menu-items 0
@ -171,7 +171,6 @@ with functions that require it (like modeline segments)."
;; Handles whitespace (tabs/spaces) settings externally. This way projects can ;; Handles whitespace (tabs/spaces) settings externally. This way projects can
;; specify their own formatting rules. ;; specify their own formatting rules.
(def-package! editorconfig (def-package! editorconfig
:demand t
:init :init
(def-setting! :editorconfig (action value) (def-setting! :editorconfig (action value)
":add or :remove an entry in `editorconfig-indentation-alist'." ":add or :remove an entry in `editorconfig-indentation-alist'."
@ -230,17 +229,16 @@ extension, try to guess one."
;; Auto-close delimiters and blocks as you type ;; Auto-close delimiters and blocks as you type
(def-package! smartparens (def-package! smartparens
:demand t
:config :config
(add-hook 'doom-init-hook #'smartparens-global-mode)
(require 'smartparens-config)
(setq sp-autowrap-region nil ; let evil-surround handle this (setq sp-autowrap-region nil ; let evil-surround handle this
sp-highlight-pair-overlay nil sp-highlight-pair-overlay nil
sp-cancel-autoskip-on-backward-movement nil sp-cancel-autoskip-on-backward-movement nil
sp-show-pair-delay 0 sp-show-pair-delay 0
sp-max-pair-length 3) sp-max-pair-length 3)
(add-hook 'doom-init-hook #'smartparens-global-mode)
(require 'smartparens-config)
;; disable smartparens in evil-mode's replace state (they conflict) ;; disable smartparens in evil-mode's replace state (they conflict)
(add-hook 'evil-replace-state-entry-hook #'turn-off-smartparens-mode) (add-hook 'evil-replace-state-entry-hook #'turn-off-smartparens-mode)
(add-hook 'evil-replace-state-exit-hook #'turn-on-smartparens-mode) (add-hook 'evil-replace-state-exit-hook #'turn-on-smartparens-mode)
@ -250,10 +248,8 @@ extension, try to guess one."
;; Branching undo ;; Branching undo
(def-package! undo-tree (def-package! undo-tree
:demand t
:config :config
(global-undo-tree-mode +1) (add-hook 'doom-init-hook #'global-undo-tree-mode)
;; persistent undo history is known to cause undo history corruption, which ;; persistent undo history is known to cause undo history corruption, which
;; can be very destructive! So disable it! ;; can be very destructive! So disable it!
(setq undo-tree-auto-save-history nil (setq undo-tree-auto-save-history nil

View file

@ -24,7 +24,6 @@
;; ;;
(def-package! which-key (def-package! which-key
:demand t
:config :config
(setq which-key-sort-order #'which-key-prefix-then-key-order (setq which-key-sort-order #'which-key-prefix-then-key-order
which-key-sort-uppercase-first nil which-key-sort-uppercase-first nil
@ -38,7 +37,6 @@
(def-package! hydra (def-package! hydra
:demand t
:init :init
;; In case I later need to wrap defhydra in any special functionality. ;; In case I later need to wrap defhydra in any special functionality.
(defalias 'def-hydra! 'defhydra) (defalias 'def-hydra! 'defhydra)

View file

@ -109,8 +109,6 @@ base by `doom!' and for calculating how many packages exist.")
"gnutls-cli -p %p %h" "gnutls-cli -p %p %h"
"openssl s_client -connect %h:%p -no_ssl2 -no_ssl3 -ign_eof") "openssl s_client -connect %h:%p -no_ssl2 -no_ssl3 -ign_eof")
use-package-always-defer t
use-package-always-ensure nil
use-package-verbose doom-debug-mode use-package-verbose doom-debug-mode
use-package-minimum-reported-time (if doom-debug-mode 0 0.1) use-package-minimum-reported-time (if doom-debug-mode 0 0.1)

View file

@ -88,7 +88,6 @@ recognized by DOOM's popup system. They are:
;; ;;
(def-package! shackle (def-package! shackle
:demand t
:init :init
(setq shackle-default-alignment 'below (setq shackle-default-alignment 'below
shackle-default-size 8 shackle-default-size 8

View file

@ -5,7 +5,6 @@
state are passed in.") state are passed in.")
(def-package! projectile (def-package! projectile
:demand t
:init :init
(setq projectile-cache-file (concat doom-cache-dir "projectile.cache") (setq projectile-cache-file (concat doom-cache-dir "projectile.cache")
projectile-enable-caching (not noninteractive) projectile-enable-caching (not noninteractive)

View file

@ -296,7 +296,7 @@ local value, whether or not it's permanent-local. Therefore, we cycle
;; Highlights the current line ;; Highlights the current line
(def-package! hl-line ; built-in (def-package! hl-line ; built-in
:init (add-hook! (prog-mode text-mode conf-mode) #'hl-line-mode) :hook ((prog-mode text-mode conf-mode) . hl-line-mode)
:config :config
;; I don't need hl-line showing in other windows. This also offers a small ;; I don't need hl-line showing in other windows. This also offers a small
;; speed boost when buffer is displayed in multiple windows. ;; speed boost when buffer is displayed in multiple windows.

View file

@ -263,8 +263,7 @@ default/fallback account."
(def-package! org-mu4e (def-package! org-mu4e
:commands org-mu4e-compose-org-mode :hook (mu4e-compose-mode . org-mu4e-compose-org-mode)
:init (add-hook 'mu4e-compose-mode-hook #'org-mu4e-compose-org-mode)
:config :config
(setq org-mu4e-link-query-in-headers-mode nil (setq org-mu4e-link-query-in-headers-mode nil
org-mu4e-convert-to-html t) org-mu4e-convert-to-html t)

View file

@ -110,8 +110,7 @@ playback.")
(def-package! circe-color-nicks (def-package! circe-color-nicks
:commands enable-circe-color-nicks :hook (circe-channel-mode . enable-circe-color-nicks)
:init (add-hook 'circe-channel-mode-hook 'enable-circe-color-nicks)
:config :config
(setq circe-color-nicks-min-constrast-ratio 4.5 (setq circe-color-nicks-min-constrast-ratio 4.5
circe-color-nicks-everywhere t)) circe-color-nicks-everywhere t))
@ -202,5 +201,4 @@ Courtesy of esh-mode.el"
(def-package! lui-autopaste (def-package! lui-autopaste
:commands enable-lui-autopaste :hook (circe-channel-mode . enable-lui-autopaste))
:init (add-hook 'circe-channel-mode-hook 'enable-lui-autopaste))

View file

@ -11,7 +11,6 @@
;; ;;
(def-package! helm (def-package! helm
:demand t
:init :init
(setq helm-quick-update t (setq helm-quick-update t
;; Speedier without fuzzy matching ;; Speedier without fuzzy matching
@ -77,15 +76,18 @@
(def-package! helm-locate (def-package! helm-locate
:defer t
:init (defvar helm-generic-files-map (make-sparse-keymap)) :init (defvar helm-generic-files-map (make-sparse-keymap))
:config (set-keymap-parent helm-generic-files-map helm-map)) :config (set-keymap-parent helm-generic-files-map helm-map))
(def-package! helm-bookmark (def-package! helm-bookmark
:commands helm-bookmark
:config (setq-default helm-bookmark-show-location t)) :config (setq-default helm-bookmark-show-location t))
(def-package! helm-files (def-package! helm-files
:defer t
:config :config
(setq helm-boring-file-regexp-list (setq helm-boring-file-regexp-list
(append (list "\\.projects$" "\\.DS_Store$") (append (list "\\.projects$" "\\.DS_Store$")
@ -93,6 +95,7 @@
(def-package! helm-ag (def-package! helm-ag
:defer t
:config :config
(map! :map helm-ag-edit-map (map! :map helm-ag-edit-map
[remap doom/kill-this-buffer] #'helm-ag--edit-abort [remap doom/kill-this-buffer] #'helm-ag--edit-abort

View file

@ -22,11 +22,18 @@
(ido-mode 1) (ido-mode 1)
(ido-everywhere 1) (ido-everywhere 1)
(require 'ido-ubiquitous) (require 'ido-ubiquitous)
(ido-ubiquitous-mode 1)
(defun +ido|init () (defun +ido|init ()
(require 'ido-vertical-mode) (require 'ido-vertical-mode)
(ido-vertical-mode 1)
(require 'flx-ido) (require 'flx-ido)
(flx-ido-mode +1)
(require 'crm-custom) (require 'crm-custom)
(crm-custom-mode +1)
(map! :map (ido-common-completion-map ido-completion-map ido-file-completion-map) (map! :map (ido-common-completion-map ido-completion-map ido-file-completion-map)
"C-n" #'ido-next-match "C-n" #'ido-next-match
"C-p" #'ido-prev-match "C-p" #'ido-prev-match
@ -55,12 +62,3 @@
(insert "~/") (insert "~/")
(call-interactively #'self-insert-command))))) (call-interactively #'self-insert-command)))))
(add-hook 'ido-setup-hook #'+ido|setup-home-keybind)) (add-hook 'ido-setup-hook #'+ido|setup-home-keybind))
(def-package! ido-ubiquitous :config (ido-ubiquitous-mode 1))
(def-package! ido-vertical-mode :config (ido-vertical-mode 1))
(def-package! flx-ido :config (flx-ido-mode +1))
(def-package! crm-custom :config (crm-custom-mode +1))

View file

@ -24,7 +24,6 @@ immediately runs it on the current candidate (ending the ivy session)."
;; ;;
(def-package! ivy (def-package! ivy
:demand t
:init :init
(add-hook 'doom-post-init-hook #'ivy-mode) (add-hook 'doom-post-init-hook #'ivy-mode)
:config :config
@ -83,7 +82,7 @@ immediately runs it on the current candidate (ending the ivy session)."
(def-package! counsel (def-package! counsel
:after ivy :requires ivy
:config :config
(require 'counsel-projectile) (require 'counsel-projectile)
(setq counsel-find-file-ignore-regexp "\\(?:^[#.]\\)\\|\\(?:[#~]$\\)\\|\\(?:^Icon?\\)") (setq counsel-find-file-ignore-regexp "\\(?:^[#.]\\)\\|\\(?:[#~]$\\)\\|\\(?:^Icon?\\)")

View file

@ -21,7 +21,6 @@
(autoload 'goto-last-change-reverse "goto-chg") (autoload 'goto-last-change-reverse "goto-chg")
(def-package! evil (def-package! evil
:demand t
:init :init
(setq evil-want-C-u-scroll t (setq evil-want-C-u-scroll t
evil-want-visual-char-semi-exclusive t evil-want-visual-char-semi-exclusive t

View file

@ -20,8 +20,7 @@
(set! :evil-state 'vc-git-log-view-mode 'normal)) (set! :evil-state 'vc-git-log-view-mode 'normal))
(def-package! smerge-mode (def-package! smerge-mode
:init :hook (find-file . +vcs|enable-smerge-mode-maybe)
(add-hook 'find-file-hook #'+vcs|enable-smerge-mode-maybe)
:config :config
(when (version< emacs-version "26") (when (version< emacs-version "26")
(defalias #'smerge-keep-upper #'smerge-keep-mine) (defalias #'smerge-keep-upper #'smerge-keep-mine)

View file

@ -22,7 +22,6 @@ renamed.")
;; ;;
(def-package! persp-mode (def-package! persp-mode
:demand t
:config :config
(setq persp-autokill-buffer-on-remove 'kill-weak (setq persp-autokill-buffer-on-remove 'kill-weak
persp-nil-name "nil" persp-nil-name "nil"

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -12,6 +12,7 @@
;; ;;
(def-package! password-store (def-package! password-store
:defer t
:config :config
(setq password-store-password-length 12)) (setq password-store-password-length 12))
@ -38,5 +39,4 @@
(if (require 'auth-store-pass nil t) (if (require 'auth-store-pass nil t)
(auth-source-pass-enable) (auth-source-pass-enable)
(def-package! auth-password-store (def-package! auth-password-store
:demand t
:config (auth-pass-enable))) :config (auth-pass-enable)))

View file

@ -1,7 +1,6 @@
;;; ui/doom-modeline/config.el -*- lexical-binding: t; -*- ;;; ui/doom-modeline/config.el -*- lexical-binding: t; -*-
(def-package! eldoc-eval (def-package! eldoc-eval
:demand t
:config :config
(defun +doom-modeline-eldoc (text) (defun +doom-modeline-eldoc (text)
(concat (when (display-graphic-p) (concat (when (display-graphic-p)
@ -28,7 +27,7 @@
;; anzu and evil-anzu expose current/total state that can be displayed in the ;; anzu and evil-anzu expose current/total state that can be displayed in the
;; mode-line. ;; mode-line.
(def-package! evil-anzu (def-package! evil-anzu
:when (featurep 'evil) :requires evil
:init :init
(add-transient-hook! #'evil-ex-start-search (require 'evil-anzu)) (add-transient-hook! #'evil-ex-start-search (require 'evil-anzu))
(add-transient-hook! #'evil-ex-start-word-search (require 'evil-anzu)) (add-transient-hook! #'evil-ex-start-word-search (require 'evil-anzu))

View file

@ -2,7 +2,6 @@
;; <https://github.com/hlissner/emacs-doom-theme> ;; <https://github.com/hlissner/emacs-doom-theme>
(def-package! doom-themes (def-package! doom-themes
:demand t
:config :config
(set! :theme 'doom-one) (set! :theme 'doom-one)
@ -32,26 +31,15 @@
(def-package! solaire-mode (def-package! solaire-mode
:commands (solaire-mode turn-on-solaire-mode turn-off-solaire-mode) :hook (gist-mode twittering-mode mu4e-view-mode org-tree-slide-mode +regex-mode)
:init :hook (after-change-major-mode . turn-on-solaire-mode)
(add-hook 'after-change-major-mode-hook #'turn-on-solaire-mode) :hook (doom-popup-mode . turn-off-solaire-mode)
(add-hook 'doom-popup-mode-hook #'turn-off-solaire-mode) :hook (doom-init-ui . solaire-mode-swap-bg)
:config :config
(setq solaire-mode-real-buffer-fn #'doom-real-buffer-p) (setq solaire-mode-real-buffer-fn #'doom-real-buffer-p)
(add-hook 'doom-init-ui-hook #'solaire-mode-swap-bg t)
;; Prevent color glitches when reloading either DOOM or the theme ;; Prevent color glitches when reloading either DOOM or the theme
(defun +doom|reset-solaire-mode (&rest _) (solaire-mode-reset)) (advice-add #'load-theme :after #'solaire-mode-reset)
(advice-add #'load-theme :after #'+doom|reset-solaire-mode) (add-hook! '(doom-init-ui-hook doom-reload-hook) #'solaire-mode-reset))
(add-hook! '(doom-init-ui-hook doom-reload-hook) #'solaire-mode-reset)
;; Extra modes to activate doom-buffer-mode in
(add-hook! (gist-mode
twittering-mode
mu4e-view-mode
org-tree-slide-mode
+regex-mode)
#'solaire-mode))
(after! hideshow (after! hideshow

View file

@ -2,8 +2,7 @@
(def-package! evil-goggles (def-package! evil-goggles
:when (featurep! :feature evil) :when (featurep! :feature evil)
:commands evil-goggles-mode :hook (doom-post-init . evil-goggles-mode)
:init :init
(setq evil-goggles-duration 0.1 (setq evil-goggles-duration 0.1
evil-goggles-enable-delete nil) evil-goggles-enable-delete nil))
(add-hook 'doom-post-init-hook #'evil-goggles-mode t))

View file

@ -1,8 +1,7 @@
;;; ui/hl-todo/packages.el -*- lexical-binding: t; -*- ;;; ui/hl-todo/packages.el -*- lexical-binding: t; -*-
(def-package! hl-todo (def-package! hl-todo
:commands hl-todo-mode :hook (prog-mode . hl-todo-mode)
:init (add-hook 'prog-mode-hook #'hl-todo-mode)
:config :config
(setq hl-todo-keyword-faces (setq hl-todo-keyword-faces
`(("TODO" . ,(face-foreground 'warning)) `(("TODO" . ,(face-foreground 'warning))

View file

@ -5,7 +5,6 @@
;; find ivy (or helm) or even `buffer-menu' is better suited for this purpose. ;; find ivy (or helm) or even `buffer-menu' is better suited for this purpose.
(def-package! tabbar (def-package! tabbar
:demand t
:config :config
(setq tabbar-use-images nil) (setq tabbar-use-images nil)
(tabbar-mode) (tabbar-mode)

View file

@ -3,8 +3,8 @@
;; indicators for empty lines past EOF ;; indicators for empty lines past EOF
(def-package! vi-tilde-fringe (def-package! vi-tilde-fringe
:commands (global-vi-tilde-fringe-mode vi-tilde-fringe-mode) :commands (global-vi-tilde-fringe-mode vi-tilde-fringe-mode)
:hook (doom-init-ui . global-vi-tilde-fringe-mode)
:init :init
(add-hook 'doom-init-ui-hook #'global-vi-tilde-fringe-mode)
:config :config
(defun +vi-tilde-fringe|disable () (defun +vi-tilde-fringe|disable ()
(vi-tilde-fringe-mode -1))) (vi-tilde-fringe-mode -1)))