aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2013-01-07 11:09:06 +0000
committerDaniel Jasper <djasper@google.com>2013-01-07 11:09:06 +0000
commit7ad4effaa96905ef9dbc3815760b06b1d1639390 (patch)
treed658045f8ad4ffcb7d6a2cc8a50f8da9981ddaa1
parent71607512cb70db3c1be8f0287153b681531687fc (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.h3
-rw-r--r--lib/Format/Format.cpp4
-rw-r--r--unittests/Format/FormatTest.cpp10
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) {