mirror of https://github.com/microsoft/clang.git
[clang-format] Consider tok::hashhash in python-style comments
Summary: We were missing the case when python-style comments in text protos start with `##`. Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D47870 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334179 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c307b5069c
commit
e63bbc3a52
|
@ -44,7 +44,8 @@ static StringRef getLineCommentIndentPrefix(StringRef Comment,
|
|||
const FormatStyle &Style) {
|
||||
static const char *const KnownCStylePrefixes[] = {"///<", "//!<", "///", "//",
|
||||
"//!"};
|
||||
static const char *const KnownTextProtoPrefixes[] = {"//", "#"};
|
||||
static const char *const KnownTextProtoPrefixes[] = {"//", "#", "##", "###",
|
||||
"####"};
|
||||
ArrayRef<const char *> KnownPrefixes(KnownCStylePrefixes);
|
||||
if (Style.Language == FormatStyle::LK_TextProto)
|
||||
KnownPrefixes = KnownTextProtoPrefixes;
|
||||
|
|
|
@ -334,7 +334,7 @@ void FormatTokenLexer::handleTemplateStrings() {
|
|||
|
||||
void FormatTokenLexer::tryParsePythonComment() {
|
||||
FormatToken *HashToken = Tokens.back();
|
||||
if (HashToken->isNot(tok::hash))
|
||||
if (!HashToken->isOneOf(tok::hash, tok::hashhash))
|
||||
return;
|
||||
// Turn the remainder of this line into a comment.
|
||||
const char *CommentBegin =
|
||||
|
|
|
@ -347,6 +347,28 @@ TEST_F(FormatTestTextProto, KeepsCommentsIndentedInList) {
|
|||
"cccccccccccccccccccccccc: 3849");
|
||||
}
|
||||
|
||||
TEST_F(FormatTestTextProto, UnderstandsHashHashComments) {
|
||||
FormatStyle Style = getGoogleStyle(FormatStyle::LK_TextProto);
|
||||
Style.ColumnLimit = 60; // To make writing tests easier.
|
||||
EXPECT_EQ("aaa: 100\n"
|
||||
"##this is a double-hash comment.\n"
|
||||
"bb: 100\n"
|
||||
"## another double-hash comment.\n"
|
||||
"### a triple-hash comment\n"
|
||||
"cc: 200\n"
|
||||
"#### a quadriple-hash comment\n"
|
||||
"dd: 100\n",
|
||||
format("aaa: 100\n"
|
||||
"##this is a double-hash comment.\n"
|
||||
"bb: 100\n"
|
||||
"## another double-hash comment.\n"
|
||||
"### a triple-hash comment\n"
|
||||
"cc: 200\n"
|
||||
"#### a quadriple-hash comment\n"
|
||||
"dd: 100\n",
|
||||
Style));
|
||||
}
|
||||
|
||||
TEST_F(FormatTestTextProto, FormatsExtensions) {
|
||||
verifyFormat("[type] { key: value }");
|
||||
verifyFormat("[type] {\n"
|
||||
|
|
Loading…
Reference in New Issue