forked from OSchip/llvm-project
clang-format: Remove empty lines at the beginning of blocks.
They very rarely aid readability. Formatting: void f() { if (a) { f(); } } Now leads to: void f() { if (a) { f(); } } llvm-svn: 204460
This commit is contained in:
parent
8455c44e6c
commit
11164bdaf5
clang
|
@ -888,6 +888,10 @@ private:
|
||||||
if (Newlines == 0 && !RootToken.IsFirst)
|
if (Newlines == 0 && !RootToken.IsFirst)
|
||||||
Newlines = 1;
|
Newlines = 1;
|
||||||
|
|
||||||
|
// Remove empty lines after "{".
|
||||||
|
if (PreviousLine && PreviousLine->Last->is(tok::l_brace))
|
||||||
|
Newlines = 1;
|
||||||
|
|
||||||
// Insert extra new line before access specifiers.
|
// Insert extra new line before access specifiers.
|
||||||
if (PreviousLine && PreviousLine->Last->isOneOf(tok::semi, tok::r_brace) &&
|
if (PreviousLine && PreviousLine->Last->isOneOf(tok::semi, tok::r_brace) &&
|
||||||
RootToken.isAccessSpecifier() && RootToken.NewlinesBefore == 1)
|
RootToken.isAccessSpecifier() && RootToken.NewlinesBefore == 1)
|
||||||
|
|
|
@ -174,6 +174,22 @@ TEST_F(FormatTest, RemovesEmptyLines) {
|
||||||
"\n"
|
"\n"
|
||||||
"};"));
|
"};"));
|
||||||
|
|
||||||
|
// Remove empty lines at the beginning and end of blocks.
|
||||||
|
EXPECT_EQ("void f() {\n"
|
||||||
|
" if (a) {\n"
|
||||||
|
" f();\n"
|
||||||
|
" }\n"
|
||||||
|
"}",
|
||||||
|
format("void f() {\n"
|
||||||
|
"\n"
|
||||||
|
" if (a) {\n"
|
||||||
|
"\n"
|
||||||
|
" f();\n"
|
||||||
|
"\n"
|
||||||
|
" }\n"
|
||||||
|
"\n"
|
||||||
|
"}"));
|
||||||
|
|
||||||
// Don't remove empty lines in more complex control statements.
|
// Don't remove empty lines in more complex control statements.
|
||||||
EXPECT_EQ("void f() {\n"
|
EXPECT_EQ("void f() {\n"
|
||||||
" if (a) {\n"
|
" if (a) {\n"
|
||||||
|
|
Loading…
Reference in New Issue