Diplomat
Diplomat copied to clipboard
Static analyzer and linter for Clojure code that sparks joy
Transient functions like `assoc!` do not necessarily return the same object every time. Hence the return value should be used and if it isn't, clj-kondo should warn about it. We...
Clj-kondo could warn on things like `(try (map ...))` (laziness) inside try, with-redefs, with-open and binding. We already have information about laziness in https://github.com/jonase/eastwood/blob/fa22247fa976d03fd37cdfbb4554d26e61b3842b/resource/var-info.edn#L373.
**Problem** Clojure's `defprotocol` does not support variadic functions. For example, this is allowed but does not work: ``` (defprotocol MyProtocol (my-fn [this is bad & troublesome])) ``` **Describe the solution...
**Is your feature request related to a problem? Please describe.** The Clojure reader requires map and set literals to be syntatically correct even when they are ignored with the #_...
**Is your feature request related to a problem? Please describe.** I'd like be warned when I am using a 3rd party library's internal undocumented var(s). I'd also like to be...
**Is your feature request related to a problem? Please describe.** If I require a namespace that's marked deprecated (e.g. clojure.parallel would be after CLJ-706) then it would be nice to...
Warn about unsorted imports. Rename `:unsorted-required-namespaces` to `:unsorted-requires` for consistency.
**Is your feature request related to a problem? Please describe.** Clj-kondo does not resolve vars in syntax-quoted forms. If the vars are qualified, they might refer to unresolved namespaces (not...
See https://github.com/candid82/joker/issues/455
``` clojure (deftest foo-test #?(:clj (testing "foo" (prn :x)) (testing "bar" (prn :y)))) lein test sci.reify-test :x ``` (note: no :y)