From: Daniel Jasper Date: Mon, 7 Jan 2013 11:09:06 +0000 (+0000) Subject: Add style option for number of spaces before trailing comments. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7ad4effaa96905ef9dbc3815760b06b1d1639390;p=clang Add style option for number of spaces before trailing comments. In LLVM style, a single space should be enough. In Google style, two spaces are required. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171725 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Format/Format.h b/include/clang/Format/Format.h index 237c3e4c3b..f8ec26af2e 100644 --- a/include/clang/Format/Format.h +++ b/include/clang/Format/Format.h @@ -52,6 +52,9 @@ struct FormatStyle { /// When false, use the same indentation level as for the switch statement. /// Switch statement body is always indented one level more than case labels. bool IndentCaseLabels; + + /// \brief The number of spaces to before trailing line comments. + unsigned SpacesBeforeTrailingComments; }; /// \brief Returns a format style complying with the LLVM coding standards: diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 3dbf95c5a4..5c65c26ca6 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -77,6 +77,7 @@ FormatStyle getLLVMStyle() { LLVMStyle.AccessModifierOffset = -2; LLVMStyle.SplitTemplateClosingGreater = true; LLVMStyle.IndentCaseLabels = false; + LLVMStyle.SpacesBeforeTrailingComments = 1; return LLVMStyle; } @@ -88,6 +89,7 @@ FormatStyle getGoogleStyle() { GoogleStyle.AccessModifierOffset = -1; GoogleStyle.SplitTemplateClosingGreater = false; GoogleStyle.IndentCaseLabels = true; + GoogleStyle.SpacesBeforeTrailingComments = 2; return GoogleStyle; } @@ -299,7 +301,7 @@ private: unsigned Spaces = Annotations[Index].SpaceRequiredBefore ? 1 : 0; if (Annotations[Index].Type == TT_LineComment) - Spaces = 2; + Spaces = Style.SpacesBeforeTrailingComments; if (!DryRun) replaceWhitespace(Current, 0, Spaces); diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index db822e7b37..a743d1b2b5 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -278,21 +278,23 @@ TEST_F(FormatTest, UnderstandsSingleLineComments) { " // Doesn't do anything\n" "}"); - verifyFormat("int i // This is a fancy variable\n" + verifyFormat("int i // This is a fancy variable\n" " = 5;"); verifyFormat("enum E {\n" " // comment\n" - " VAL_A, // comment\n" + " VAL_A, // comment\n" " VAL_B\n" "};"); verifyFormat( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =\n" - " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb; // Trailing comment"); + " bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb; // Trailing comment"); - EXPECT_EQ("int i; // single line trailing comment", + EXPECT_EQ("int i; // single line trailing comment", format("int i;\\\n// single line trailing comment")); + + verifyGoogleFormat("int a; // Trailing comment."); } TEST_F(FormatTest, UnderstandsMultiLineComments) {