dfmt options
Idan Arye via Digitalmars-d
digitalmars-d at puremagic.com
Mon Mar 16 03:17:28 PDT 2015
On Monday, 16 March 2015 at 02:16:18 UTC, Brad Anderson wrote:
> 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?
>
> clang-format has a pretty extensive set:
> http://clang.llvm.org/docs/ClangFormatStyleOptions.html
>
> I don't think all of that is necessary however. When I started
> using clang-format I just looked at the predefined styles
> (LLVM, Google, Chromium, Mozilla, Webkit) and picked the one I
> liked the most and didn't stress the details. I guess what I'm
> saying is I'd like a bunch of predefined styles. I don't want
> to wade through 50 options to make my own style.
>
> dfmt would, of course, need to support expressing all the
> predefined styles and all of those differences should have
> options.
That's why dfmt should be able to read the configuration from a
file(clang-format has that option). That way, all these
predefined styles can simply be style files you can download - no
need to make separate paths for predefined styles and custom
styles.
That being said - I'm against having predefined styles bundled
with dfmt(either as separate style files or embedded into the
executable). The only build-in style should be the one true
style. While there are enough D projects out there to require
dfmt to be configurable, we don't have multiple commonly accepted
styles like C or C++, and I see no point in encouraging such a
thing...
More information about the Digitalmars-d
mailing list