Fork me on GitHub

@martinklepsch I looked at the README and found this snippet:

(ns foo
  (:require [rum.core :as rum]))

(rum/defcs stateful < (rum/local 0 ::key)
  [state label]
  (let [local-atom (::key state)]
    [:div { :on-click (fn [_] (swap! local-atom inc)) }
     label ": " @local-atom]))

(rum/mount (stateful "Click count") js/document.body)
I think I would config that as:
{:lint-as {rum.core/defcs clojure.core/def}
 :linters {:unresolved-symbol {:exclude [(rum.core/defcs)]}}}


so you will lint the macro as def because it defs a var, but you will ignore all unresolved symbols in the call to it


created a project board for clj-kondo here:


I see, thanks @borkdude! would it be in scope for clj-kondo to support custom macros like defc and friends more completely?


could implement support for it. is rum considered a widely used lib and does the author plan to support it long term? (I noticed he recently removed the patreon link for it)


I would consider it among the more popular libs for sure. I think there’s not much active development but people use it and its stable.


alright. could you make an issue for it and describe some variations of macros that you think should be supported?


it's not that hard probably. clj-kondo also supports other defn like macros like schema.core/defn