diff options
author | Daniel Jasper <djasper@google.com> | 2013-01-07 11:09:06 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-01-07 11:09:06 +0000 |
commit | 7ad4effaa96905ef9dbc3815760b06b1d1639390 (patch) | |
tree | d658045f8ad4ffcb7d6a2cc8a50f8da9981ddaa1 | |
parent | 71607512cb70db3c1be8f0287153b681531687fc (diff) |
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
-rw-r--r-- | include/clang/Format/Format.h | 3 | ||||
-rw-r--r-- | lib/Format/Format.cpp | 4 | ||||
-rw-r--r-- | unittests/Format/FormatTest.cpp | 10 |
3 files changed, 12 insertions, 5 deletions
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) { |