Change flycheck initialization strategy
Initialize it globally and turn it off where needed, instead of enabling it on demand. Also fixes void-function: flycheck-mode errors when :feature syntax-checker is disabled. This is experimental. Indirectly fixes #710
This commit is contained in:
parent
dbc7b667cf
commit
e05d7cfee0
24 changed files with 26 additions and 49 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
(def-package! flycheck
|
(def-package! flycheck
|
||||||
:commands (flycheck-list-errors flycheck-buffer)
|
:commands (flycheck-list-errors flycheck-buffer)
|
||||||
|
:after-call (after-find-file doom-before-switch-buffer)
|
||||||
:config
|
:config
|
||||||
;; Emacs feels snappier without checks on newline
|
;; Emacs feels snappier without checks on newline
|
||||||
(setq flycheck-check-syntax-automatically '(save idle-change mode-enabled))
|
(setq flycheck-check-syntax-automatically '(save idle-change mode-enabled))
|
||||||
|
@ -13,7 +14,9 @@
|
||||||
(ignore-errors (flycheck-buffer))
|
(ignore-errors (flycheck-buffer))
|
||||||
nil))
|
nil))
|
||||||
(add-hook 'doom-escape-hook #'+syntax-checkers|flycheck-buffer t)
|
(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
|
(def-package! flycheck-popup-tip
|
||||||
|
|
|
@ -165,9 +165,7 @@ compilation database is present in the project.")
|
||||||
|
|
||||||
(def-package! flycheck-irony
|
(def-package! flycheck-irony
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:config
|
:config (flycheck-irony-setup))
|
||||||
(add-hook 'irony-mode-hook #'flycheck-mode)
|
|
||||||
(flycheck-irony-setup))
|
|
||||||
|
|
||||||
(def-package! company-irony
|
(def-package! company-irony
|
||||||
:when (featurep! :completion company)
|
:when (featurep! :completion company)
|
||||||
|
|
|
@ -14,8 +14,7 @@
|
||||||
|
|
||||||
(def-package! flycheck-crystal
|
(def-package! flycheck-crystal
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after crystal-mode
|
:after crystal-mode)
|
||||||
:config (add-hook 'crystal-mode-hook #'flycheck-mode))
|
|
||||||
|
|
||||||
|
|
||||||
(def-package! inf-crystal :commands crystal-switch-to-inf)
|
(def-package! inf-crystal :commands crystal-switch-to-inf)
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
(setq omnisharp-auto-complete-want-documentation nil
|
(setq omnisharp-auto-complete-want-documentation nil
|
||||||
omnisharp-cache-directory (concat doom-cache-dir "omnisharp"))
|
omnisharp-cache-directory (concat doom-cache-dir "omnisharp"))
|
||||||
:config
|
:config
|
||||||
(add-hook 'csharp-mode-hook #'flycheck-mode)
|
|
||||||
|
|
||||||
(defun +csharp|cleanup-omnisharp-server ()
|
(defun +csharp|cleanup-omnisharp-server ()
|
||||||
"Clean up the omnisharp server once you kill the last csharp-mode buffer."
|
"Clean up the omnisharp server once you kill the last csharp-mode buffer."
|
||||||
(unless (doom-buffers-in-mode 'csharp-mode (buffer-list))
|
(unless (doom-buffers-in-mode 'csharp-mode (buffer-list))
|
||||||
|
|
|
@ -31,8 +31,6 @@
|
||||||
(def-package! json-mode
|
(def-package! json-mode
|
||||||
:mode "\\.js\\(?:on\\|[hl]int\\(rc\\)?\\)\\'"
|
:mode "\\.js\\(?:on\\|[hl]int\\(rc\\)?\\)\\'"
|
||||||
:config
|
:config
|
||||||
(when (featurep! :feature syntax-checker)
|
|
||||||
(add-hook 'json-mode-hook #'flycheck-mode))
|
|
||||||
(set-electric! 'json-mode :chars '(?\n ?: ?{ ?})))
|
(set-electric! 'json-mode :chars '(?\n ?: ?{ ?})))
|
||||||
|
|
||||||
(def-package! vimrc-mode
|
(def-package! vimrc-mode
|
||||||
|
|
|
@ -21,6 +21,5 @@
|
||||||
(def-package! flycheck-elm
|
(def-package! flycheck-elm
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after elm-mode
|
:after elm-mode
|
||||||
:init (add-hook 'elm-mode-hook #'flycheck-mode)
|
|
||||||
:config (add-to-list 'flycheck-checkers 'elm nil #'eq))
|
:config (add-to-list 'flycheck-checkers 'elm nil #'eq))
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
;; fontification
|
;; fontification
|
||||||
rainbow-delimiters-mode highlight-quoted-mode highlight-numbers-mode +emacs-lisp|extra-fontification
|
rainbow-delimiters-mode highlight-quoted-mode highlight-numbers-mode +emacs-lisp|extra-fontification
|
||||||
;; initialization
|
;; initialization
|
||||||
+emacs-lisp|init-imenu +emacs-lisp|init-flycheck))
|
+emacs-lisp|init-imenu +emacs-lisp|disable-flycheck-maybe))
|
||||||
|
|
||||||
;;
|
;;
|
||||||
(defun +emacs-lisp|extra-fontification ()
|
(defun +emacs-lisp|extra-fontification ()
|
||||||
|
@ -53,13 +53,13 @@
|
||||||
("Variables" "^\\s-*(defvar\\(?:-local\\)?\\s-+\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)[[:space:]\n]+[^)]" 1)
|
("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))))
|
("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 ()
|
(defun +emacs-lisp|disable-flycheck-maybe ()
|
||||||
"Initialize flycheck-mode if not in emacs.d."
|
"Disable flycheck-mode if in emacs.d."
|
||||||
(when (and buffer-file-name
|
(when (or (not buffer-file-name)
|
||||||
(not (cl-loop for dir in (list doom-emacs-dir doom-private-dir)
|
(cl-loop for dir in (list doom-emacs-dir doom-private-dir)
|
||||||
if (file-in-directory-p buffer-file-name dir)
|
if (file-in-directory-p buffer-file-name dir)
|
||||||
return t)))
|
return t))
|
||||||
(flycheck-mode +1))))
|
(flycheck-mode -1))))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -16,8 +16,7 @@
|
||||||
(setq gofmt-command goimports))
|
(setq gofmt-command goimports))
|
||||||
|
|
||||||
(when (featurep! :feature syntax-checker)
|
(when (featurep! :feature syntax-checker)
|
||||||
(setq gofmt-show-errors nil) ; Leave it to flycheck
|
(setq gofmt-show-errors nil)) ; Leave it to flycheck
|
||||||
(add-hook 'go-mode-hook #'flycheck-mode))
|
|
||||||
|
|
||||||
(add-hook 'go-mode-hook #'go-eldoc-setup)
|
(add-hook 'go-mode-hook #'go-eldoc-setup)
|
||||||
(add-hook! go-mode
|
(add-hook! go-mode
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
:after haskell-mode
|
:after haskell-mode
|
||||||
:hook (haskell-mode . dante-mode)
|
:hook (haskell-mode . dante-mode)
|
||||||
:config
|
:config
|
||||||
(add-hook 'haskell-mode-hook #'interactive-haskell-mode)
|
(add-hook 'haskell-mode-hook #'interactive-haskell-mode))
|
||||||
(add-hook 'dante-mode-hook #'flycheck-mode))
|
|
||||||
|
|
||||||
|
|
||||||
(def-package! company-ghc
|
(def-package! company-ghc
|
||||||
|
|
|
@ -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."))))
|
(message "Couldn't find stack. Refusing to enable intero-mode."))))
|
||||||
(add-hook 'haskell-mode-hook #'+haskell|init-intero)
|
(add-hook 'haskell-mode-hook #'+haskell|init-intero)
|
||||||
:config
|
:config
|
||||||
(add-hook 'intero-mode-hook #'flycheck-mode)
|
|
||||||
(set-lookup-handlers! 'intero-mode :definition #'intero-goto-definition))
|
(set-lookup-handlers! 'intero-mode :definition #'intero-goto-definition))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@
|
||||||
:definition #'meghanada-jump-declaration
|
:definition #'meghanada-jump-declaration
|
||||||
:references #'meghanada-reference)
|
:references #'meghanada-reference)
|
||||||
|
|
||||||
(add-hook 'meghanada-mode-hook #'flycheck-mode)
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
(def-menu! +java/refactor-menu
|
(def-menu! +java/refactor-menu
|
||||||
"Refactoring commands for `java-mode' buffers."
|
"Refactoring commands for `java-mode' buffers."
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
js2-strict-trailing-comma-warning nil
|
js2-strict-trailing-comma-warning nil
|
||||||
js2-strict-missing-semi-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
|
;; Indent switch-case another step
|
||||||
(setq-hook! 'js2-mode-hook js-switch-indent-offset js2-basic-offset)
|
(setq-hook! 'js2-mode-hook js-switch-indent-offset js2-basic-offset)
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@
|
||||||
|
|
||||||
|
|
||||||
(after! typescript-mode
|
(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
|
(setq-hook! 'typescript-mode-hook
|
||||||
comment-line-break-function #'js2-line-break)
|
comment-line-break-function #'js2-line-break)
|
||||||
(set-electric! 'typescript-mode
|
(set-electric! 'typescript-mode
|
||||||
|
|
|
@ -11,5 +11,4 @@
|
||||||
|
|
||||||
(def-package! flycheck-ledger
|
(def-package! flycheck-ledger
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after ledger-mode
|
:after ledger-mode)
|
||||||
:config (add-hook 'ledger-mode-hook #'flycheck-mode))
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
;;; lang/lua/config.el -*- lexical-binding: t; -*-
|
;;; lang/lua/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
(after! lua-mode
|
(after! lua-mode
|
||||||
(add-hook 'lua-mode-hook #'flycheck-mode)
|
|
||||||
|
|
||||||
(set-lookup-handlers! 'lua-mode :documentation 'lua-search-documentation)
|
(set-lookup-handlers! 'lua-mode :documentation 'lua-search-documentation)
|
||||||
(set-electric! 'lua-mode :words '("else" "end"))
|
(set-electric! 'lua-mode :words '("else" "end"))
|
||||||
(set-repl-handler! 'lua-mode #'+lua/repl)
|
(set-repl-handler! 'lua-mode #'+lua/repl)
|
||||||
|
|
|
@ -15,6 +15,5 @@ nimsuggest isn't installed."
|
||||||
|
|
||||||
(def-package! flycheck-nim
|
(def-package! flycheck-nim
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after nim-mode
|
:after nim-mode)
|
||||||
:config (add-hook 'nimsuggest-mode-hook #'flycheck-mode))
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
;;; lang/perl/config.el -*- lexical-binding: t; -*-
|
;;; lang/perl/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; There's also `perl-mode' for perl < 6, which is already set up.
|
;; 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! perl6-detect)
|
||||||
|
|
||||||
|
|
||||||
(def-package! flycheck-perl6
|
(def-package! flycheck-perl6
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after perl6-mode
|
:after perl6-mode)
|
||||||
:config (add-hook 'perl6-mode-hook #'flycheck-mode))
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
:mode "\\.inc$"
|
:mode "\\.inc$"
|
||||||
:interpreter "php"
|
:interpreter "php"
|
||||||
:config
|
: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
|
;; Disable HTML compatibility in php-mode. `web-mode' has superior support for
|
||||||
;; php+html. Use the .phtml
|
;; php+html. Use the .phtml
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
(after! purescript-mode
|
(after! purescript-mode
|
||||||
(add-hook! 'purescript-mode-hook
|
(add-hook! 'purescript-mode-hook
|
||||||
#'(flycheck-mode
|
#'(purescript-indentation-mode
|
||||||
purescript-indentation-mode
|
|
||||||
rainbow-delimiters-mode)))
|
rainbow-delimiters-mode)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ is loaded.")
|
||||||
python-indent-guess-indent-offset-verbose nil
|
python-indent-guess-indent-offset-verbose nil
|
||||||
python-shell-interpreter "python")
|
python-shell-interpreter "python")
|
||||||
:config
|
: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-env! "PYTHONPATH" "PYENV_ROOT")
|
||||||
(set-electric! 'python-mode :chars '(?:))
|
(set-electric! 'python-mode :chars '(?:))
|
||||||
|
|
|
@ -22,8 +22,6 @@
|
||||||
;; 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."
|
||||||
|
|
|
@ -35,5 +35,5 @@
|
||||||
(def-package! flycheck-rust
|
(def-package! flycheck-rust
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after rust-mode
|
:after rust-mode
|
||||||
:config (add-hook! 'rust-mode-hook #'(flycheck-mode flycheck-rust-setup)))
|
:config (add-hook 'rust-mode-hook #'flycheck-rust-setup))
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
:mode ("\\.zunit\\'" . sh-mode)
|
:mode ("\\.zunit\\'" . sh-mode)
|
||||||
:mode ("/bspwmrc\\'" . sh-mode)
|
:mode ("/bspwmrc\\'" . sh-mode)
|
||||||
:config
|
: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-electric! 'sh-mode :words '("else" "elif" "fi" "done" "then" "do" "esac" ";;"))
|
||||||
(set-repl-handler! 'sh-mode #'+sh/repl)
|
(set-repl-handler! 'sh-mode #'+sh/repl)
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
(def-package! solidity-flycheck ; included with solidity-mode
|
(def-package! solidity-flycheck ; included with solidity-mode
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after solidity-mode
|
:after solidity-mode
|
||||||
:init (add-hook 'solidity-mode-hook #'flycheck-mode)
|
|
||||||
:config
|
:config
|
||||||
(setq flycheck-solidity-solc-addstd-contracts t)
|
(setq flycheck-solidity-solc-addstd-contracts t)
|
||||||
(when (funcall flycheck-executable-find solidity-solc-path)
|
(when (funcall flycheck-executable-find solidity-solc-path)
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
(def-package! flycheck-swift
|
(def-package! flycheck-swift
|
||||||
:when (featurep! :feature syntax-checker)
|
:when (featurep! :feature syntax-checker)
|
||||||
:after swift-mode
|
:after swift-mode
|
||||||
:init (add-hook 'swift-mode-hook #'flycheck-mode)
|
|
||||||
:config (flycheck-swift-setup))
|
:config (flycheck-swift-setup))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue