[clang-format] Fix handling of TextProto comments

Differential Revision: https://reviews.llvm.org/D93163
This commit is contained in:
Björn Schäpers 2020-12-12 17:37:35 +01:00
parent f8079355c6
commit 374f1d81fe
2 changed files with 17 additions and 8 deletions

View File

@ -789,9 +789,14 @@ BreakableLineCommentSection::BreakableLineCommentSection(
Prefix[i] = "///< ";
else if (Prefix[i] == "//!<")
Prefix[i] = "//!< ";
else if (Prefix[i] == "#" &&
Style.Language == FormatStyle::LK_TextProto)
else if (Prefix[i] == "#")
Prefix[i] = "# ";
else if (Prefix[i] == "##")
Prefix[i] = "## ";
else if (Prefix[i] == "###")
Prefix[i] = "### ";
else if (Prefix[i] == "####")
Prefix[i] = "#### ";
}
Tokens[i] = LineTok;

View File

@ -380,25 +380,29 @@ TEST_F(FormatTestTextProto, KeepsCommentsIndentedInList) {
"cccccccccccccccccccccccc: 3849");
}
TEST_F(FormatTestTextProto, UnderstandsHashHashComments) {
TEST_F(FormatTestTextProto, UnderstandsHashComments) {
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"
"## this is a double-hash comment.\n"
"bb: 100\n"
"## another double-hash comment.\n"
"### a triple-hash comment\n"
"cc: 200\n"
"### another triple-hash comment\n"
"#### a quadriple-hash comment\n"
"dd: 100\n",
"dd: 100\n"
"#### another quadriple-hash comment\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"
"###a triple-hash comment\n"
"cc: 200\n"
"#### a quadriple-hash comment\n"
"dd: 100\n",
"### another triple-hash comment\n"
"####a quadriple-hash comment\n"
"dd: 100\n"
"#### another quadriple-hash comment\n",
Style));
}