On Saturday, 14 March 2015 at 23:15:35 UTC, Brian Schott wrote:
First, a disclaimer: I am an idiot for starting this thread.
Moving on...
I'm working on a list of configuration options for dfmt - a
formatter for D source code.
So far I have the following:
* Insert spaces between if, while, for, foreach, etc loops and
the "("
* Allman vs One True Brace Style (Already supported by
commant-line switch)
* Operators at the end of the old line vs beginning of the new
line when wrapping long expressions.
* Insert space after the ")" of a cast expression
* Make "case" and "default" match the indent level of the
enclosing "switch"
* Labels for loops always on their own line vs the same line as
the loop
* Labels outdented one level
* Label indentation matches the most recent "switch"
* Hard limit for line length
* Soft limit for line length
What am I missing?
Maybe nobody else does this, but I prefer to write switch cases
in an indented block style.
switch (expr)
{
case 0:
//Do stuff
end;
case 1 .. case 9:
//Do other stuff
end;
default:
//Do default stuff
}
In the same way, I indent attribute labels in classes/structs.
I'm positive almost nobody else does that, however, so it's
probably not an option you want to enable.
class Test
{
private:
//Methods, members
public:
//etc.
}