forked from OSchip/llvm-project
[clang-format] Regroup #includes into blocks for Google style
Summary: Regrouping #includes in blocks separated by blank lines when sorting C++ #include headers was implemented recently, and it has been preferred in Google's C++ style guide: https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes Reviewers: sammccall, klimek Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D60116 llvm-svn: 357567
This commit is contained in:
parent
acab05feee
commit
0f4d5f8519
|
@ -784,6 +784,7 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind Language) {
|
||||||
GoogleStyle.IncludeStyle.IncludeCategories = {
|
GoogleStyle.IncludeStyle.IncludeCategories = {
|
||||||
{"^<ext/.*\\.h>", 2}, {"^<.*\\.h>", 1}, {"^<.*", 2}, {".*", 3}};
|
{"^<ext/.*\\.h>", 2}, {"^<.*\\.h>", 1}, {"^<.*", 2}, {".*", 3}};
|
||||||
GoogleStyle.IncludeStyle.IncludeIsMainRegex = "([-_](test|unittest))?$";
|
GoogleStyle.IncludeStyle.IncludeIsMainRegex = "([-_](test|unittest))?$";
|
||||||
|
GoogleStyle.IncludeStyle.IncludeBlocks = tooling::IncludeStyle::IBS_Regroup;
|
||||||
GoogleStyle.IndentCaseLabels = true;
|
GoogleStyle.IndentCaseLabels = true;
|
||||||
GoogleStyle.KeepEmptyLinesAtTheStartOfBlocks = false;
|
GoogleStyle.KeepEmptyLinesAtTheStartOfBlocks = false;
|
||||||
GoogleStyle.ObjCBinPackProtocolList = FormatStyle::BPS_Never;
|
GoogleStyle.ObjCBinPackProtocolList = FormatStyle::BPS_Never;
|
||||||
|
|
|
@ -420,8 +420,10 @@ TEST_F(CleanUpReplacementsTest, InsertMultipleNewHeadersAndSortLLVM) {
|
||||||
TEST_F(CleanUpReplacementsTest, InsertMultipleNewHeadersAndSortGoogle) {
|
TEST_F(CleanUpReplacementsTest, InsertMultipleNewHeadersAndSortGoogle) {
|
||||||
std::string Code = "\nint x;";
|
std::string Code = "\nint x;";
|
||||||
std::string Expected = "\n#include \"fix.h\"\n"
|
std::string Expected = "\n#include \"fix.h\"\n"
|
||||||
|
"\n"
|
||||||
"#include <list>\n"
|
"#include <list>\n"
|
||||||
"#include <vector>\n"
|
"#include <vector>\n"
|
||||||
|
"\n"
|
||||||
"#include \"a.h\"\n"
|
"#include \"a.h\"\n"
|
||||||
"#include \"b.h\"\n"
|
"#include \"b.h\"\n"
|
||||||
"#include \"c.h\"\n"
|
"#include \"c.h\"\n"
|
||||||
|
|
|
@ -262,9 +262,13 @@ TEST_F(SortIncludesTest, CommentsAlwaysSeparateGroups) {
|
||||||
TEST_F(SortIncludesTest, HandlesAngledIncludesAsSeparateBlocks) {
|
TEST_F(SortIncludesTest, HandlesAngledIncludesAsSeparateBlocks) {
|
||||||
EXPECT_EQ("#include \"a.h\"\n"
|
EXPECT_EQ("#include \"a.h\"\n"
|
||||||
"#include \"c.h\"\n"
|
"#include \"c.h\"\n"
|
||||||
|
"#include <array>\n"
|
||||||
"#include <b.h>\n"
|
"#include <b.h>\n"
|
||||||
"#include <d.h>\n",
|
"#include <d.h>\n"
|
||||||
sort("#include <d.h>\n"
|
"#include <vector>\n",
|
||||||
|
sort("#include <vector>\n"
|
||||||
|
"#include <d.h>\n"
|
||||||
|
"#include <array>\n"
|
||||||
"#include <b.h>\n"
|
"#include <b.h>\n"
|
||||||
"#include \"c.h\"\n"
|
"#include \"c.h\"\n"
|
||||||
"#include \"a.h\"\n"));
|
"#include \"a.h\"\n"));
|
||||||
|
@ -272,9 +276,15 @@ TEST_F(SortIncludesTest, HandlesAngledIncludesAsSeparateBlocks) {
|
||||||
FmtStyle = getGoogleStyle(FormatStyle::LK_Cpp);
|
FmtStyle = getGoogleStyle(FormatStyle::LK_Cpp);
|
||||||
EXPECT_EQ("#include <b.h>\n"
|
EXPECT_EQ("#include <b.h>\n"
|
||||||
"#include <d.h>\n"
|
"#include <d.h>\n"
|
||||||
|
"\n"
|
||||||
|
"#include <array>\n"
|
||||||
|
"#include <vector>\n"
|
||||||
|
"\n"
|
||||||
"#include \"a.h\"\n"
|
"#include \"a.h\"\n"
|
||||||
"#include \"c.h\"\n",
|
"#include \"c.h\"\n",
|
||||||
sort("#include <d.h>\n"
|
sort("#include <vector>\n"
|
||||||
|
"#include <d.h>\n"
|
||||||
|
"#include <array>\n"
|
||||||
"#include <b.h>\n"
|
"#include <b.h>\n"
|
||||||
"#include \"c.h\"\n"
|
"#include \"c.h\"\n"
|
||||||
"#include \"a.h\"\n"));
|
"#include \"a.h\"\n"));
|
||||||
|
|
Loading…
Reference in New Issue