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.
}

Reply via email to