~mgmarlow/flymake-clippy

Flymake backend for Clippy
Add CHANGELOG
62c670c1 — Graham Marlow 8 months ago
Add support for custom clippy args
Clean up tests and remove fixture

refs

main
browse  log 

clone

read-only
https://git.sr.ht/~mgmarlow/flymake-clippy
read/write
git@git.sr.ht:~mgmarlow/flymake-clippy

You can also use your local clone with git send-email.

#flymake-clippy

MELPA

A Flymake backend for Clippy, the Rust linter.

#Instructions

You probably want to install rust-mode first.

Install from MELPA:

(use-package flymake-clippy
  :hook (rust-mode . flymake-clippy-setup-backend))

Alternatively, clone the repo and update your load path:

git clone https://git.sr.ht/~mgmarlow/flymake-clippy /path/to/flymake-clippy
(add-to-list 'load-path "/path/to/flymake-clippy")
(require 'flymake-clippy)

#Eglot users

Eglot users require a little extra setup to enable running multiple Flymake backends simultaneously. Add the following to your Emacs config:

;; Instruct Eglot to stop managing Flymake
(add-to-list 'eglot-stay-out-of 'flymake)

;; Manually re-enable Eglot's Flymake backend
(defun manually-activate-flymake ()
  (add-hook 'flymake-diagnostic-functions #'eglot-flymake-backend nil t)
  (flymake-mode 1))

(add-hook 'eglot-managed-mode-hook #'manually-activate-flymake nil t)

(Nb. prior to eglot 1.6, this hook was called `eglot--managed-mode-hook)

You can confirm that Flymake is running correctly by opening up a Rust buffer and examining `flymake-running-backends':

M-x flymake-running-backends

Running backends: flymake-clippy-backend, eglot-flymake-backend

#Complete eglot + rust-mode + use-package example

With Eglot 1.6+:

(use-package rust-mode
  :ensure t)

(use-package flymake-clippy
  :hook (rust-mode . flymake-clippy-setup-backend))

(defun manually-activate-flymake ()
  (add-hook 'flymake-diagnostic-functions #'eglot-flymake-backend nil t)
  (flymake-mode 1))

(use-package eglot
  :ensure t
  :hook ((rust-mode . eglot-ensure)
         (eglot-managed-mode . manually-activate-flymake))
  :config
  (add-to-list 'eglot-stay-out-of 'flymake))

#Contributing

Please direct bug reports or patches to the the mailing list.

#License

Licensed under GPL-3.0.