feat(lsp): use flymake when enabled

This commit is contained in:
Jeetaditya Chatterjee 2022-08-16 20:12:45 +01:00
parent 1cae082d66
commit b957142e3e
No known key found for this signature in database
GPG key ID: 4A1E5568BA34D124
3 changed files with 16 additions and 2 deletions

View file

@ -17,7 +17,9 @@
(package! clojure-mode :pin "3453cd229b412227aaffd1dc2870fa8fa213c5b1")
(package! clj-refactor :pin "b5abe655e572a6ecfed02bb8164b64716ef76b8e")
(package! cider :pin "1ed5163433c991c00ea83fdd4447e8daf4aeccbe")
(when (modulep! :checkers syntax)
(when (and (modulep! :checkers syntax)
(not (modulep! :checkers syntax +flymake)))
(package! flycheck-clj-kondo :pin "ff7bed2315755cfe02ef471edf522e27b78cd5ca"))
(package! jet :pin "f007660c568e924e32d486a02aa4cd18203313cc")
(package! neil

View file

@ -19,7 +19,8 @@
;; NOTE We disable eglot-auto-display-help-buffer because :select t in
;; its popup rule causes eglot to steal focus too often.
eglot-auto-display-help-buffer nil)
(when (modulep! :checkers syntax)
(when (and (modulep! :checkers syntax)
(not (modulep! :checkers syntax +flymake)))
(setq eglot-stay-out-of '(flymake)))
:config
@ -33,6 +34,11 @@
(add-to-list 'doom-debug-variables '(eglot-events-buffer-size . 0))
(when (and (modulep! :checkers syntax)
(not (modulep! :checkers syntax +flymake)))
(after! flycheck
(load! "autoload/flycheck-eglot")))
(defadvice! +lsp--defer-server-shutdown-a (fn &optional server)
"Defer server shutdown for a few seconds.
This gives the user a chance to open other project files before the server is

View file

@ -34,6 +34,11 @@ Can be a list of backends; accepts any value `company-backends' accepts.")
;; Make breadcrumbs opt-in; they're redundant with the modeline and imenu
(setq lsp-headerline-breadcrumb-enable nil)
;; Explicitly tell lsp to use flymake; Lsp will default to flycheck if found
;; even if its a dependency
(when (modulep! :checkers syntax +flymake)
(setq lsp-diagnostics-provider :flymake))
;; Let doom bind the lsp keymap.
(when (modulep! :config default +bindings)
(setq lsp-keymap-prefix nil))
@ -67,6 +72,7 @@ Can be a list of backends; accepts any value `company-backends' accepts.")
:implementations '(lsp-find-implementation :async t)
:type-definition #'lsp-find-type-definition)
(defadvice! +lsp--respect-user-defined-checkers-a (fn &rest args)
"Ensure user-defined `flycheck-checker' isn't overwritten by `lsp'."
:around #'lsp-diagnostics-flycheck-enable