pinwheel: Configure flycheck for emacs
This commit is contained in:
@@ -479,7 +479,34 @@ Setup prefix for keybindings.
|
|||||||
|
|
||||||
* Flycheck
|
* Flycheck
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package flycheck)
|
(use-package flycheck
|
||||||
|
:preface
|
||||||
|
(defun mp-flycheck-eldoc (callback &rest _ignored)
|
||||||
|
"Print flycheck messages at point by calling CALLBACK."
|
||||||
|
(when-let ((flycheck-errors (and flycheck-mode (flycheck-overlay-errors-at (point)))))
|
||||||
|
(mapc
|
||||||
|
(lambda (err)
|
||||||
|
(funcall callback
|
||||||
|
(format "%s: %s"
|
||||||
|
(let ((level (flycheck-error-level err)))
|
||||||
|
(pcase level
|
||||||
|
('info (propertize "I" 'face 'flycheck-error-list-info))
|
||||||
|
('error (propertize "E" 'face 'flycheck-error-list-error))
|
||||||
|
('warning (propertize "W" 'face 'flycheck-error-list-warning))
|
||||||
|
(_ level)))
|
||||||
|
(flycheck-error-message err))
|
||||||
|
:thing (or (flycheck-error-id err)
|
||||||
|
(flycheck-error-group err))
|
||||||
|
:face 'font-lock-doc-face))
|
||||||
|
flycheck-errors)))
|
||||||
|
|
||||||
|
(defun mp-flycheck-prefer-eldoc ()
|
||||||
|
(add-hook 'eldoc-documentation-functions #'mp-flycheck-eldoc nil t)
|
||||||
|
(setq eldoc-documentation-strategy 'eldoc-documentation-compose-eagerly)
|
||||||
|
(setq flycheck-display-errors-function nil)
|
||||||
|
(setq flycheck-help-echo-function nil))
|
||||||
|
|
||||||
|
:hook ((flycheck-mode . mp-flycheck-prefer-eldoc)))
|
||||||
|
|
||||||
(use-package flycheck-eglot
|
(use-package flycheck-eglot
|
||||||
:after (flycheck eglot)
|
:after (flycheck eglot)
|
||||||
@@ -503,6 +530,12 @@ Setup prefix for keybindings.
|
|||||||
(add-hook 'before-save-hook #'eglot-format-buffer -10 t))))
|
(add-hook 'before-save-hook #'eglot-format-buffer -10 t))))
|
||||||
|
|
||||||
(use-package eglot
|
(use-package eglot
|
||||||
|
:preface
|
||||||
|
(defun mp-eglot-eldoc ()
|
||||||
|
(setq eldoc-echo-area-use-multiline-p nil)
|
||||||
|
(setq eldoc-documentation-strategy
|
||||||
|
'eldoc-documentation-compose-eagerly))
|
||||||
|
|
||||||
:config
|
:config
|
||||||
(add-to-list 'eglot-server-programs
|
(add-to-list 'eglot-server-programs
|
||||||
'(scala-mode .
|
'(scala-mode .
|
||||||
@@ -523,6 +556,7 @@ Setup prefix for keybindings.
|
|||||||
)
|
)
|
||||||
|
|
||||||
:hook (
|
:hook (
|
||||||
|
(eglot-managed-mode . mp-eglot-eldoc)
|
||||||
(go-mode . eglot-ensure)
|
(go-mode . eglot-ensure)
|
||||||
(go-mode . alex/organize-imports-on-save)
|
(go-mode . alex/organize-imports-on-save)
|
||||||
(go-mode . alex/format-on-save)
|
(go-mode . alex/format-on-save)
|
||||||
|
|||||||
Reference in New Issue
Block a user