Diplomat icon indicating copy to clipboard operation
Diplomat copied to clipboard

Static analyzer and linter for Clojure code that sparks joy

Results 116 Diplomat issues
Sort by recently updated
recently updated
newest added

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...

enhancement

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.

enhancement

**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...

PR welcome

**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 #_...

enhancement

**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...

enhancement

**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)

enhancement