clojure-style-guide
clojure-style-guide copied to clipboard
Clarify `if` indentation
By my reading of https://github.com/bbatsov/clojure-style-guide#vertically-align-fn-args, we should indent if like so:
(if condition
(f1)
(f2))
...but that's contradicted by other examples in the guide, which use the common two-space indentation for if. Technically the rule might not cover if since it's a special form and not a macro, but there's also if-let and if-some and it would be very weird IMO to indent them differently. It would be good to mention this explicitly, even if just to call out if and friends as exceptions.
(I searched for existing issues covering this, but the closest I found was #87.)
All macros/special forms that take a body parameter are indented differently, so I don't think there's anything special about the handling of if, if-let and so on. Can you elaborate on what exactly is different for them from your perspective compared to other macros operating on a bunch of forms?
if doesn't have a body param, so it shouldn't be covered by the "Body Indentation" rule, right?
Yeah, I guess that's a valid point. Perhaps the bare if deserves some special treatment, or at least a disclaimer.