[PATCH] D97688: clang-format: use `pb` as a canonical raw string delimiter for google style
Krasimir Georgiev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 4 02:03:58 PST 2021
krasimir updated this revision to Diff 328081.
krasimir added a comment.
Collect commits
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97688/new/
https://reviews.llvm.org/D97688
Files:
clang/lib/Format/ContinuationIndenter.cpp
clang/lib/Format/Format.cpp
clang/unittests/Format/FormatTestRawStrings.cpp
Index: clang/unittests/Format/FormatTestRawStrings.cpp
===================================================================
--- clang/unittests/Format/FormatTestRawStrings.cpp
+++ clang/unittests/Format/FormatTestRawStrings.cpp
@@ -782,11 +782,16 @@
}
TEST_F(FormatTestRawStrings, UpdatesToCanonicalDelimiters) {
- FormatStyle Style = getRawStringPbStyleWithColumns(25);
+ FormatStyle Style = getRawStringPbStyleWithColumns(35);
Style.RawStringFormats[0].CanonicalDelimiter = "proto";
+ Style.RawStringFormats[0].EnclosingFunctions.push_back("PARSE_TEXT_PROTO");
+
expect_eq(R"test(a = R"proto(key: value)proto";)test",
format(R"test(a = R"pb(key:value)pb";)test", Style));
+ expect_eq(R"test(PARSE_TEXT_PROTO(R"proto(key: value)proto");)test",
+ format(R"test(PARSE_TEXT_PROTO(R"(key:value)");)test", Style));
+
// Don't update to canonical delimiter if it occurs as a raw string suffix in
// the raw string content.
expect_eq(R"test(a = R"pb(key: ")proto")pb";)test",
Index: clang/lib/Format/Format.cpp
===================================================================
--- clang/lib/Format/Format.cpp
+++ clang/lib/Format/Format.cpp
@@ -1135,7 +1135,7 @@
"ParseTestProto",
"ParsePartialTestProto",
},
- /*CanonicalDelimiter=*/"",
+ /*CanonicalDelimiter=*/"pb",
/*BasedOnStyle=*/"google",
},
};
Index: clang/lib/Format/ContinuationIndenter.cpp
===================================================================
--- clang/lib/Format/ContinuationIndenter.cpp
+++ clang/lib/Format/ContinuationIndenter.cpp
@@ -1651,7 +1651,7 @@
StringRef OldDelimiter = *getRawStringDelimiter(Current.TokenText);
StringRef NewDelimiter =
getCanonicalRawStringDelimiter(Style, RawStringStyle.Language);
- if (NewDelimiter.empty() || OldDelimiter.empty())
+ if (NewDelimiter.empty())
NewDelimiter = OldDelimiter;
// The text of a raw string is between the leading 'R"delimiter(' and the
// trailing 'delimiter)"'.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97688.328081.patch
Type: text/x-patch
Size: 2050 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210304/0dff2f58/attachment.bin>
More information about the cfe-commits
mailing list