can analyze-call hooks shadow each other if they share the same namespace? for context, I installed the https://github.com/tonsky/clojure-plus/blob/9e65180900ab467edcf8e2696f9ccc90e2946cd7/src/clj-kondo.exports/io.github.tonsky/clojure-plus/hooks/core.clj#L1 to my project and they worked fine in my local dev but not in CI. I tried changing the namespace to plushooks.core and it ran fine then
you never should call hooks namespaces hooks.core. they can conflict
always use the name of the library to avoid conflicts
I'll open a PR in clojure+ then
fyi @tonsky
thanks!
I know it's confusing but you need two levels of uniqueness. one for the filesystem and one for the namespaces. If clj-kondo read these things directly from the classpath it would've been easier. I definitely want to work towards that
nice! this is kind of called out for :macroexpand but not (directly) for analyze-call: https://github.com/clj-kondo/clj-kondo/blob/dd45054e3eb8d9aa76a7da0e42826144dbd957c6/doc/hooks.md#subtleties-of-macroexpand
Definitely worth a PR
thinking about where it should go. new top-level section # Namespaces for hooks? I'll read the whole hook markdown file to get a better sense of the structure
Maybe with exporting configs?
It can't hurt to repeat it. We could add it to one section under guidelines or so and the link to it.
Calva uses clojure-lsp, clojure-lsp uses clj-kondo and clj-kondo uses Clojure. So naturally we also had to include Rich in this photo!