Re: [PATCH] clang-format: use git grep to generate the ForEachMacros list
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 4, 2019, 16:07 UTC
- Message-ID
- <nycvar.QRO.7.76.6.1906041807140.1775@tvgsbejvaqbjf.bet>
- In-Reply-To
- <20190603224814.GA15851@gmail.com>
Hi Miguel,
On Tue, 4 Jun 2019, Miguel Ojeda wrote:
Show 9 quoted lines
> The ForEachMacros list can reasonably be generated grepping > the C source code for macros with 'for_each' in their name. > > Taken almost verbatim from the .clang-format file in the Linux kernel. > > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > --- > We wrote this for the Linux kernel a while ago, and it has been working > fine there, so I thought it would be nice to use the same approach here.
Makes sense to me!
Thanks, Johannes
Show 35 quoted lines
> .clang-format | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/.clang-format b/.clang-format
> index 41d4cd23fd..c592dda681 100644
> --- a/.clang-format
> +++ b/.clang-format
> @@ -148,8 +148,21 @@ SpacesInSquareBrackets: false
> Cpp11BracedListStyle: false
>
> # A list of macros that should be interpreted as foreach loops instead of as
> -# function calls.
> -ForEachMacros: ['for_each_string_list_item', 'for_each_wanted_builtin', 'for_each_builtin', 'for_each_ut']
> +# function calls. Taken from:
> +# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' \
> +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \
> +# | sort | uniq
> +ForEachMacros:
> + - 'for_each_abbrev'
> + - 'for_each_builtin'
> + - 'for_each_string_list_item'
> + - 'for_each_ut'
> + - 'for_each_wanted_builtin'
> + - 'list_for_each'
> + - 'list_for_each_dir'
> + - 'list_for_each_prev'
> + - 'list_for_each_prev_safe'
> + - 'list_for_each_safe'
>
> # The maximum number of consecutive empty lines to keep.
> MaxEmptyLinesToKeep: 1
> --
> 2.17.1
>
>