summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>2019-06-04 00:48:14 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-06-04 14:50:40 -0700
commitfc7e03aace379c3d6b00ac977447f115421324fe (patch)
tree8334940bf78fc225967048448f127b4b604288b3
parentGit 2.22-rc3 (diff)
downloadtgif-fc7e03aace379c3d6b00ac977447f115421324fe.tar.xz
clang-format: use git grep to generate the ForEachMacros list
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--.clang-format17
1 files 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