58dcd6320b
The variable clojure-enable-linters can now be set to a list of linters: '(clj-kondo joker) or '(joker squiggly) or any other combination of the available linters. In which case, all linters in the list will be active if they are available to be. In that flycheck is configured so that each linter in the list has as next-checker the next linter in the list. The variable can also now be set to: 'joker If only the newly added joker linter should be used. This will pull down flycheck-joker and add Joker as a checker for Clojure modes. -- Implementation Details The way it works is that for each Clojure linting mode, clj, cljc, cljs and edn, a primary linter is chosen based on the order the user specifies in clojure-enable-linters which support that mode. It is made the primary linter for flycheck to use by being promoted to the front of the flycheck-checkers list. All other linters specified by the user which the mode also supports get added to it as a next-checker. Tested with clj-kondo, joker and squiggly. The only issue I saw was that the way flycheck-clojure works, and the way I currently have setup the logic for multiple checkers mean that we can't add to a mode multiple checkers for the same linter. flycheck-clojure has eastwood, kibit and core.typed. If you have it configured to use eastwood linter, then it will all work, as eastwood gets added as the next-checker. But if you have it disabled in flycheck-clojure, there won't be any flycheck-clojure linters to activate. I'm not sure as of now how to best support that. Ideally, we would not clubber linters into a single packge like that, and so the layer would have instead of squiggly: eastwood, kibit, core.typed. But that's not how flycheck-clojure works. Future commit might be able to do something smarter about this. |
||
---|---|---|
.. | ||
agda | ||
alda | ||
asciidoc | ||
asm | ||
autohotkey | ||
bibtex | ||
c-c++ | ||
clojure | ||
coffeescript | ||
common-lisp | ||
conda | ||
coq | ||
crystal | ||
csharp | ||
csv | ||
d | ||
dart | ||
dhall | ||
elixir | ||
elm | ||
emacs-lisp | ||
erlang | ||
ess | ||
factor | ||
faust | ||
forth | ||
fsharp | ||
go | ||
gpu | ||
graphviz | ||
groovy | ||
haskell | ||
html | ||
hy | ||
idris | ||
ipython-notebook | ||
java | ||
javascript | ||
jr | ||
json | ||
jsonnet | ||
julia | ||
kivy | ||
kotlin | ||
latex | ||
lua | ||
major-modes | ||
markdown | ||
mercury-layer | ||
nim | ||
ocaml | ||
octave | ||
pact | ||
perl5 | ||
perl6 | ||
php | ||
plantuml | ||
prolog | ||
protobuf | ||
purescript | ||
python | ||
racket | ||
reasonml | ||
restructuredtext | ||
ruby | ||
rust | ||
scala | ||
scheme | ||
semantic-web | ||
shell-scripts | ||
sml | ||
sql | ||
swift | ||
typescript | ||
vimscript | ||
windows-scripts | ||
yaml | ||
yang | ||
zig |