Fork me on GitHub
#clj-kondo
<
2023-05-11
>
stopa15:05:25

Hey team, noob question:

(defmacro test-macro [v & body]
  `(let [~v 1] ~@body))

(test-macro v (+ 1 v))
If I write a macro that "defines" a symbol, clj-kondo will give a warning like:
Unresolved symbol: v (clj-kondo unresolved-symbol)
Is there a way I could let clj-kondo know, that for this macro, v gets defined?

borkdude15:05:41

Hey @U0C5DE6RK yes, you can do:

{:lint-as {your.ns/test-macro clj-kondo.lint-as/def-catch-all}}
or clojure.core/def or clojure.core/defn is the syntax is more like that

borkdude15:05:02

in your .clj-kondo/config.edn

stopa15:05:32

So cool! Thanks @U04V15CAJ -- just noticed I can add it as metadata too -- nice!

👍 1