tools/lsp: minor refactor & doc revision

This commit is contained in:
Henrik Lissner 2020-08-22 15:31:38 -04:00
parent f83e6fe1cc
commit ffb21b18e5
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
4 changed files with 21 additions and 17 deletions

View file

@ -1,7 +1,7 @@
;;; flycheck-eglot --- Hacky eglot support in flycheck -*- lexical-binding: t; -*-
;;; Code:
(defun flycheck-eglot--start (checker callback)
(defun +lsp--flycheck-eglot-init (checker callback)
"Clean up errors when done.
CHECKER is the checker (eglot).
@ -31,26 +31,25 @@ CALLBACK is the function that we need to call when we are done, on all the error
;; NOTE: Forcefully trigger a check in the buffer (function name is confusing)
(flycheck-buffer)))
(defun flycheck-eglot--available-p ()
(defun +lsp--flycheck-eglot-available-p ()
(bound-and-true-p eglot--managed-mode))
(flycheck-define-generic-checker 'eglot
"Report `eglot' diagnostics using `flycheck'."
:start #'flycheck-eglot--start
:predicate #'flycheck-eglot--available-p
:start #'+lsp--flycheck-eglot-init
:predicate #'+lsp--flycheck-eglot-available-p
:modes '(prog-mode text-mode))
(push 'eglot flycheck-checkers)
(defun +doom-eglot-prefer-flycheck-h ()
(when eglot--managed-mode
(when-let ((current-checker (flycheck-get-checker-for-buffer)))
(unless (equal current-checker 'eglot)
(flycheck-add-next-checker 'eglot current-checker)))
(flycheck-add-mode 'eglot major-mode)
(flycheck-mode 1)
(flymake-mode -1)))
(add-hook 'eglot--managed-mode-hook #'+doom-eglot-prefer-flycheck-h)
(add-hook! 'eglot--managed-mode-hook
(defun +lsp-eglot-prefer-flycheck-h ()
(when eglot--managed-mode
(when-let ((current-checker (flycheck-get-checker-for-buffer)))
(unless (equal current-checker 'eglot)
(flycheck-add-next-checker 'eglot current-checker)))
(flycheck-add-mode 'eglot major-mode)
(flycheck-mode 1)
(flymake-mode -1))))
;;; flycheck-eglot.el ends here