[clang] Add txtpb to the list of supported TextProto extensions (PR #88355)
Jing Wang via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 10 22:07:45 PDT 2024
https://github.com/jingw created https://github.com/llvm/llvm-project/pull/88355
According to https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files, txtpb is the canonical extension
>From b8463dbc5ffa3a401bc9470a3c86e8c72964a0f6 Mon Sep 17 00:00:00 2001
From: Jing Wang <99jingw at gmail.com>
Date: Wed, 10 Apr 2024 22:04:17 -0700
Subject: [PATCH] Add txtpb to the list of supported TextProto extensions
According to https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files, txtpb is the canonical extension
---
clang/docs/ClangFormat.rst | 2 +-
clang/lib/Format/Format.cpp | 6 +++++-
clang/test/Format/lit.local.cfg | 1 +
clang/tools/clang-format/ClangFormat.cpp | 2 +-
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/clang/docs/ClangFormat.rst b/clang/docs/ClangFormat.rst
index 80dc38a075c8fc..dbd9c91ae508e5 100644
--- a/clang/docs/ClangFormat.rst
+++ b/clang/docs/ClangFormat.rst
@@ -54,7 +54,7 @@ to format C/C++/Java/JavaScript/JSON/Objective-C/Protobuf/C# code.
Objective-C: .m .mm
Proto: .proto .protodevel
TableGen: .td
- TextProto: .textpb .pb.txt .textproto .asciipb
+ TextProto: .txtpb .textpb .pb.txt .textproto .asciipb
Verilog: .sv .svh .v .vh
--cursor=<uint> - The position of the cursor when invoking
clang-format from an editor integration
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index 89e6c19b0af45c..ccb2c9190e2eff 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -3891,7 +3891,11 @@ static FormatStyle::LanguageKind getLanguageByFileName(StringRef FileName) {
FileName.ends_with_insensitive(".protodevel")) {
return FormatStyle::LK_Proto;
}
- if (FileName.ends_with_insensitive(".textpb") ||
+ // txtpb is the canonical extension, and textproto is the legacy canonical
+ // extension
+ // https://protobuf.dev/reference/protobuf/textformat-spec/#text-format-files
+ if (FileName.ends_with_insensitive(".txtpb") ||
+ FileName.ends_with_insensitive(".textpb") ||
FileName.ends_with_insensitive(".pb.txt") ||
FileName.ends_with_insensitive(".textproto") ||
FileName.ends_with_insensitive(".asciipb")) {
diff --git a/clang/test/Format/lit.local.cfg b/clang/test/Format/lit.local.cfg
index 3851397a3f7ccc..3eb0f54ceaa6f9 100644
--- a/clang/test/Format/lit.local.cfg
+++ b/clang/test/Format/lit.local.cfg
@@ -12,6 +12,7 @@ config.suffixes = [
".proto",
".protodevel",
".pb.txt",
+ ".txtpb",
".textproto",
".textpb",
".asciipb",
diff --git a/clang/tools/clang-format/ClangFormat.cpp b/clang/tools/clang-format/ClangFormat.cpp
index ed401135ad8433..feb733fe3c9e0b 100644
--- a/clang/tools/clang-format/ClangFormat.cpp
+++ b/clang/tools/clang-format/ClangFormat.cpp
@@ -92,7 +92,7 @@ static cl::opt<std::string> AssumeFileName(
" Objective-C: .m .mm\n"
" Proto: .proto .protodevel\n"
" TableGen: .td\n"
- " TextProto: .textpb .pb.txt .textproto .asciipb\n"
+ " TextProto: .txtpb .textpb .pb.txt .textproto .asciipb\n"
" Verilog: .sv .svh .v .vh"),
cl::init("<stdin>"), cl::cat(ClangFormatCategory));
More information about the cfe-commits
mailing list