How indentation types (Default, Inner, Block) work
mastercljfmt uses three types of indentation rules:
Default
Used when no other rule applies. For lists:
- If there is one or fewer elements on the first line, it indents by one space.
- If there are more than one element on the first line, it indents to the level of the second element.
Inner
Always indents by exactly two spaces on every line after the first, regardless of how many elements are on the first line.
Block
A hybrid approach. It follows Default rules up to a specific index. If the argument at that index is the first element in a line, it switches to Inner indentation.
Example of Block behavior with do [[:block 0]]:
(do (println "A") (println "B"))-> Uses Default (indents to second element).(do\n (println "A")\n (println "B"))-> Uses Inner (constant 2-space indent because argument 0 starts the line).