Clang format config for Weston

Simon Ser contact at emersion.fr
Thu Mar 14 11:37:43 UTC 2019


On Thursday, March 14, 2019 12:20 PM, Harish Krupo <harish.krupo.kps at intel.com> wrote:

> Hi Pekka,
>
> Pekka Paalanen ppaalanen at gmail.com writes:
>
> > On Thu, 14 Mar 2019 16:01:08 +0530
> > Harish Krupo harish.krupo.kps at intel.com wrote:
> >
> > > Hi,
> > > I have written a clang format file based on this example [1], to
> > > match the coding style here [2]. Does the below config look okay or
> > > should something be changed?
> > > If people are interested, I can open a MR for this. This could also be
> > > used in the CI to warn/abort if a patch isn't according to the coding
> > > style.
> > > The config:
> > > BasedOnStyle: LLVM
> > > IndentWidth: 8
> > > TabWidth: 8
> > > UseTab: Always
> > > BreakBeforeBraces: Linux
> > > AllowShortIfStatementsOnASingleLine: false
> > > IndentCaseLabels: false
> > > AlwaysBreakAfterReturnType: TopLevel
> > > [1] https://clang.llvm.org/docs/ClangFormatStyleOptions.html#examples
> > > [2] https://gitlab.freedesktop.org/wayland/weston/blob/master/CONTRIBUTING.md#coding-style
> >
> > Hi Harish,
> > I guess that depends on how different that is from the existing code
> > base style. Seeing the warning list generated for the existing code
> > would tell a lot, I doubt it would be empty.
>
> Okay, I see what you mean. Running clang format on
> libweston/gl-renderer.c does generate a few false positives. Some of
> them could be corrected by setting other config options.

An issue with clang-format is that getting a perfect config file is
really tedious (and sometimes impossible).

I'll try improving it a little.

> > Is the LLVM style something guaranteed to not change?
>
> I am not sure about this :(

We can always copy-pasta the LLVM style.

> > Using it in CI might be an attractive idea, but I wonder if it would
> > result in many false warnings. Some aspects of coding style are always
> > somewhat vague and need to adapt to the code at hand to look nice to a
> > human rather than follow some rigorous rules. If it leaves such things
> > as is and checks only those that should follow rigorous rules, that
> > would be nice.
>
> All the config options that Clang-format uses to format code is given in
> [1]. It leaves the rest to the user. We would have to define all (at
> least most) of those options for weston if we want to use this with the
> CI. Consequence of doing this would make the BasedOnStyle: LLVM option
> unneeded.
>
> Thank you
> Regards
> Harish Krupo
>
> [1] https://clang.llvm.org/docs/ClangFormatStyleOptions.html


More information about the wayland-devel mailing list