diff --git a/modules/feature/syntax-checker/config.el b/modules/feature/syntax-checker/config.el index e1995dc44..21238960b 100644 --- a/modules/feature/syntax-checker/config.el +++ b/modules/feature/syntax-checker/config.el @@ -2,6 +2,7 @@ (def-package! flycheck :commands (flycheck-list-errors flycheck-buffer) + :after-call (after-find-file doom-before-switch-buffer) :config ;; Emacs feels snappier without checks on newline (setq flycheck-check-syntax-automatically '(save idle-change mode-enabled)) @@ -13,7 +14,9 @@ (ignore-errors (flycheck-buffer)) nil)) (add-hook 'doom-escape-hook #'+syntax-checkers|flycheck-buffer t) - (add-hook 'evil-insert-state-exit-hook #'+syntax-checkers|flycheck-buffer))) + (add-hook 'evil-insert-state-exit-hook #'+syntax-checkers|flycheck-buffer)) + + (global-flycheck-mode +1)) (def-package! flycheck-popup-tip diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 058564ae8..e05acbec6 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -165,9 +165,7 @@ compilation database is present in the project.") (def-package! flycheck-irony :when (featurep! :feature syntax-checker) - :config - (add-hook 'irony-mode-hook #'flycheck-mode) - (flycheck-irony-setup)) + :config (flycheck-irony-setup)) (def-package! company-irony :when (featurep! :completion company) diff --git a/modules/lang/crystal/config.el b/modules/lang/crystal/config.el index d6f5c9753..c740414f6 100644 --- a/modules/lang/crystal/config.el +++ b/modules/lang/crystal/config.el @@ -14,8 +14,7 @@ (def-package! flycheck-crystal :when (featurep! :feature syntax-checker) - :after crystal-mode - :config (add-hook 'crystal-mode-hook #'flycheck-mode)) + :after crystal-mode) (def-package! inf-crystal :commands crystal-switch-to-inf) diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index 5acd23383..760db1493 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -10,8 +10,6 @@ (setq omnisharp-auto-complete-want-documentation nil omnisharp-cache-directory (concat doom-cache-dir "omnisharp")) :config - (add-hook 'csharp-mode-hook #'flycheck-mode) - (defun +csharp|cleanup-omnisharp-server () "Clean up the omnisharp server once you kill the last csharp-mode buffer." (unless (doom-buffers-in-mode 'csharp-mode (buffer-list)) diff --git a/modules/lang/data/config.el b/modules/lang/data/config.el index a1829fdc0..9786197f2 100644 --- a/modules/lang/data/config.el +++ b/modules/lang/data/config.el @@ -31,8 +31,6 @@ (def-package! json-mode :mode "\\.js\\(?:on\\|[hl]int\\(rc\\)?\\)\\'" :config - (when (featurep! :feature syntax-checker) - (add-hook 'json-mode-hook #'flycheck-mode)) (set-electric! 'json-mode :chars '(?\n ?: ?{ ?}))) (def-package! vimrc-mode diff --git a/modules/lang/elm/config.el b/modules/lang/elm/config.el index 500d28d61..572d97cc0 100644 --- a/modules/lang/elm/config.el +++ b/modules/lang/elm/config.el @@ -21,6 +21,5 @@ (def-package! flycheck-elm :when (featurep! :feature syntax-checker) :after elm-mode - :init (add-hook 'elm-mode-hook #'flycheck-mode) :config (add-to-list 'flycheck-checkers 'elm nil #'eq)) diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 6c43eda49..8863099c0 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -23,7 +23,7 @@ ;; fontification rainbow-delimiters-mode highlight-quoted-mode highlight-numbers-mode +emacs-lisp|extra-fontification ;; initialization - +emacs-lisp|init-imenu +emacs-lisp|init-flycheck)) + +emacs-lisp|init-imenu +emacs-lisp|disable-flycheck-maybe)) ;; (defun +emacs-lisp|extra-fontification () @@ -53,13 +53,13 @@ ("Variables" "^\\s-*(defvar\\(?:-local\\)?\\s-+\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)[[:space:]\n]+[^)]" 1) ("Types" "^\\s-*(\\(cl-def\\(?:struct\\|type\\)\\|def\\(?:class\\|face\\|group\\|ine-\\(?:condition\\|error\\|widget\\)\\|package\\|struct\\|t\\(?:\\(?:hem\\|yp\\)e\\)\\)\\)\\s-+'?\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)" 2)))) - (defun +emacs-lisp|init-flycheck () - "Initialize flycheck-mode if not in emacs.d." - (when (and buffer-file-name - (not (cl-loop for dir in (list doom-emacs-dir doom-private-dir) - if (file-in-directory-p buffer-file-name dir) - return t))) - (flycheck-mode +1)))) + (defun +emacs-lisp|disable-flycheck-maybe () + "Disable flycheck-mode if in emacs.d." + (when (or (not buffer-file-name) + (cl-loop for dir in (list doom-emacs-dir doom-private-dir) + if (file-in-directory-p buffer-file-name dir) + return t)) + (flycheck-mode -1)))) ;; diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 62670b88a..ec26c9a38 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -16,8 +16,7 @@ (setq gofmt-command goimports)) (when (featurep! :feature syntax-checker) - (setq gofmt-show-errors nil) ; Leave it to flycheck - (add-hook 'go-mode-hook #'flycheck-mode)) + (setq gofmt-show-errors nil)) ; Leave it to flycheck (add-hook 'go-mode-hook #'go-eldoc-setup) (add-hook! go-mode diff --git a/modules/lang/haskell/+dante.el b/modules/lang/haskell/+dante.el index c388d0150..e3687fd2b 100644 --- a/modules/lang/haskell/+dante.el +++ b/modules/lang/haskell/+dante.el @@ -5,8 +5,7 @@ :after haskell-mode :hook (haskell-mode . dante-mode) :config - (add-hook 'haskell-mode-hook #'interactive-haskell-mode) - (add-hook 'dante-mode-hook #'flycheck-mode)) + (add-hook 'haskell-mode-hook #'interactive-haskell-mode)) (def-package! company-ghc diff --git a/modules/lang/haskell/+intero.el b/modules/lang/haskell/+intero.el index 5eeb71046..3ddbc5ef8 100644 --- a/modules/lang/haskell/+intero.el +++ b/modules/lang/haskell/+intero.el @@ -13,7 +13,6 @@ This is necessary because `intero-mode' doesn't do its own error checks." (message "Couldn't find stack. Refusing to enable intero-mode.")))) (add-hook 'haskell-mode-hook #'+haskell|init-intero) :config - (add-hook 'intero-mode-hook #'flycheck-mode) (set-lookup-handlers! 'intero-mode :definition #'intero-goto-definition)) diff --git a/modules/lang/java/+meghanada.el b/modules/lang/java/+meghanada.el index 4eaa530e1..b2905e188 100644 --- a/modules/lang/java/+meghanada.el +++ b/modules/lang/java/+meghanada.el @@ -14,8 +14,6 @@ :definition #'meghanada-jump-declaration :references #'meghanada-reference) - (add-hook 'meghanada-mode-hook #'flycheck-mode) - ;; (def-menu! +java/refactor-menu "Refactoring commands for `java-mode' buffers." diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 52b5efe8f..eda3a2268 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -43,7 +43,7 @@ js2-strict-trailing-comma-warning nil js2-strict-missing-semi-warning nil) - (add-hook! 'js2-mode-hook #'(flycheck-mode rainbow-delimiters-mode)) + (add-hook 'js2-mode-hook #'rainbow-delimiters-mode) ;; Indent switch-case another step (setq-hook! 'js2-mode-hook js-switch-indent-offset js2-basic-offset) @@ -84,7 +84,7 @@ (after! typescript-mode - (add-hook! 'typescript-mode-hook #'(flycheck-mode rainbow-delimiters-mode)) + (add-hook 'typescript-mode-hook #'rainbow-delimiters-mode) (setq-hook! 'typescript-mode-hook comment-line-break-function #'js2-line-break) (set-electric! 'typescript-mode diff --git a/modules/lang/ledger/config.el b/modules/lang/ledger/config.el index 0df0dbc5f..0eb2c6339 100644 --- a/modules/lang/ledger/config.el +++ b/modules/lang/ledger/config.el @@ -11,5 +11,4 @@ (def-package! flycheck-ledger :when (featurep! :feature syntax-checker) - :after ledger-mode - :config (add-hook 'ledger-mode-hook #'flycheck-mode)) + :after ledger-mode) diff --git a/modules/lang/lua/config.el b/modules/lang/lua/config.el index b0eaf1f66..db48750f7 100644 --- a/modules/lang/lua/config.el +++ b/modules/lang/lua/config.el @@ -1,8 +1,6 @@ ;;; lang/lua/config.el -*- lexical-binding: t; -*- (after! lua-mode - (add-hook 'lua-mode-hook #'flycheck-mode) - (set-lookup-handlers! 'lua-mode :documentation 'lua-search-documentation) (set-electric! 'lua-mode :words '("else" "end")) (set-repl-handler! 'lua-mode #'+lua/repl) diff --git a/modules/lang/nim/config.el b/modules/lang/nim/config.el index c43aab0aa..728780223 100644 --- a/modules/lang/nim/config.el +++ b/modules/lang/nim/config.el @@ -15,6 +15,5 @@ nimsuggest isn't installed." (def-package! flycheck-nim :when (featurep! :feature syntax-checker) - :after nim-mode - :config (add-hook 'nimsuggest-mode-hook #'flycheck-mode)) + :after nim-mode) diff --git a/modules/lang/perl/config.el b/modules/lang/perl/config.el index b0b7dec3c..9a7f4ad1b 100644 --- a/modules/lang/perl/config.el +++ b/modules/lang/perl/config.el @@ -1,14 +1,10 @@ ;;; lang/perl/config.el -*- lexical-binding: t; -*- ;; There's also `perl-mode' for perl < 6, which is already set up. -(when (featurep! :feature syntax-checker) - (add-hook 'perl-mode-hook #'flycheck-mode)) - (def-package! perl6-detect) (def-package! flycheck-perl6 :when (featurep! :feature syntax-checker) - :after perl6-mode - :config (add-hook 'perl6-mode-hook #'flycheck-mode)) + :after perl6-mode) diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index c8b9cecff..e435067de 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -11,7 +11,7 @@ :mode "\\.inc$" :interpreter "php" :config - (add-hook! php-mode #'(ac-php-core-eldoc-setup flycheck-mode)) + (add-hook 'php-mode-hook #'ac-php-core-eldoc-setup) ;; Disable HTML compatibility in php-mode. `web-mode' has superior support for ;; php+html. Use the .phtml diff --git a/modules/lang/purescript/config.el b/modules/lang/purescript/config.el index 579391e8e..686ec691b 100644 --- a/modules/lang/purescript/config.el +++ b/modules/lang/purescript/config.el @@ -2,8 +2,7 @@ (after! purescript-mode (add-hook! 'purescript-mode-hook - #'(flycheck-mode - purescript-indentation-mode + #'(purescript-indentation-mode rainbow-delimiters-mode))) diff --git a/modules/lang/python/config.el b/modules/lang/python/config.el index 2ae760085..10630b08e 100644 --- a/modules/lang/python/config.el +++ b/modules/lang/python/config.el @@ -22,7 +22,7 @@ is loaded.") python-indent-guess-indent-offset-verbose nil python-shell-interpreter "python") :config - (add-hook! 'python-mode-hook #'(flycheck-mode highlight-numbers-mode)) + (add-hook 'python-mode-hook #'highlight-numbers-mode) (set-env! "PYTHONPATH" "PYENV_ROOT") (set-electric! 'python-mode :chars '(?:)) diff --git a/modules/lang/ruby/config.el b/modules/lang/ruby/config.el index 168cfec9f..5c5e3b713 100644 --- a/modules/lang/ruby/config.el +++ b/modules/lang/ruby/config.el @@ -22,8 +22,6 @@ ;; 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." diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 3ebab3937..d2502c7b1 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -35,5 +35,5 @@ (def-package! flycheck-rust :when (featurep! :feature syntax-checker) :after rust-mode - :config (add-hook! 'rust-mode-hook #'(flycheck-mode flycheck-rust-setup))) + :config (add-hook 'rust-mode-hook #'flycheck-rust-setup)) diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 2b4c8ad01..9e1f09dd3 100644 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -15,7 +15,7 @@ :mode ("\\.zunit\\'" . sh-mode) :mode ("/bspwmrc\\'" . sh-mode) :config - (add-hook! sh-mode #'(flycheck-mode highlight-numbers-mode)) + (add-hook 'sh-mode-hook #'highlight-numbers-mode) (set-electric! 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;")) (set-repl-handler! 'sh-mode #'+sh/repl) diff --git a/modules/lang/solidity/config.el b/modules/lang/solidity/config.el index b7b130b8f..0795e40b8 100644 --- a/modules/lang/solidity/config.el +++ b/modules/lang/solidity/config.el @@ -11,7 +11,6 @@ (def-package! solidity-flycheck ; included with solidity-mode :when (featurep! :feature syntax-checker) :after solidity-mode - :init (add-hook 'solidity-mode-hook #'flycheck-mode) :config (setq flycheck-solidity-solc-addstd-contracts t) (when (funcall flycheck-executable-find solidity-solc-path) diff --git a/modules/lang/swift/config.el b/modules/lang/swift/config.el index 2c9dc359c..d099d8677 100644 --- a/modules/lang/swift/config.el +++ b/modules/lang/swift/config.el @@ -7,7 +7,6 @@ (def-package! flycheck-swift :when (featurep! :feature syntax-checker) :after swift-mode - :init (add-hook 'swift-mode-hook #'flycheck-mode) :config (flycheck-swift-setup))