fulcro

2025-10-27T18:45:21.505349Z

It looks to me like the dom macros in code are trying to add {:style/indent :defn} to the macro defs. However, when I look at (meta #'com.fulcrologic.fulcro.dom/div) , I don't see :style/indent in the metadata:

{:ns com.fulcrologic.fulcro.dom,
 :name div,
 :file "com/fulcrologic/fulcro/dom.cljs",
 :top-fn
 {:variadic? true,
  :fixed-arity 0,
  :max-fixed-arity 0,
  :method-params [(args)],
  :arglists ([& args]),
  :arglists-meta (nil)},
 :column 1,
 :line 293,
 :arglists ([& args]),
 :doc
 "Returns a React DOM element. Can be invoked in several ways\n\nThese two are made equivalent at compile time\n(div \"hello\")\n(div nil \"hello\")\n\nThese two are made equivalent at compile time\n(div {:onClick f} \"hello\")\n(div #js {:onClick f} \"hello\")\n\nThere is also a shorthand for CSS id and class names\n(div :#the-id.klass.other-klass \"hello\")\n(div :#the-id.klass.other-klass {:onClick f} \"hello\")",
 :test nil}
I'm curious if anyone knows why. I'm assuming whatever is causing this is the reason cider doesn't indent these macros correctly for me. I manually set the formatting styles for all of these helpers when I started with fulcro and never came back to look what was wrong.

2025-10-29T16:24:47.683029Z

Hmmm - I wonder then if any emacs users are getting the benefit of them at all. I can't figure out if they should work but don't because of some quirk of the way I work or if they just don't work at all for us.

2025-10-27T22:02:40.583469Z

those are neither straight macros nor straight functions - they are a superposition of both so you can pass them like functions and call them at runtime as well as the macro part. I suspect that duality might be why the indentation params are getting dropped.