[clang-format][TableGen] Don't add spaces around items in square braces.
authorJordan Rupprecht <rupprecht@google.com>
Fri, 1 Mar 2019 00:12:18 +0000 (00:12 +0000)
committerJordan Rupprecht <rupprecht@google.com>
Fri, 1 Mar 2019 00:12:18 +0000 (00:12 +0000)
Summary:
clang-formatting wants to add spaces around items in square braces, e.g. [1, 2] -> [ 1, 2 ]. Based on a quick check [1], it seems like most cases are using the [1, 2] format, so make that the consistent one.

[1] in llvm `.td` files, the regex `\[[^ ]` (bracket followed by not-a-space) shows up ~400 times, but `\[\s[^ ]` (bracket followed by one space and one not-a-space) shows up ~40 times => ~90% uses this format.

Reviewers: djasper, krasimir, MyDeveloperDay

Reviewed By: MyDeveloperDay

Subscribers: MyDeveloperDay, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D55964

llvm-svn: 355158

clang/lib/Format/Format.cpp
clang/unittests/Format/FormatTestTableGen.cpp

index d8751a3..1827c4a 100644 (file)
@@ -718,6 +718,11 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) {
   LLVMStyle.StatementMacros.push_back("Q_UNUSED");
   LLVMStyle.StatementMacros.push_back("QT_REQUIRE_VERSION");
 
+  // Defaults that differ when not C++.
+  if (Language == FormatStyle::LK_TableGen) {
+    LLVMStyle.SpacesInContainerLiterals = false;
+  }
+
   return LLVMStyle;
 }
 
index b3771f6..06029bd 100644 (file)
@@ -51,5 +51,9 @@ TEST_F(FormatTestTableGen, FormatStringBreak) {
                "               \"very long help string\">;\n");
 }
 
+TEST_F(FormatTestTableGen, NoSpacesInSquareBracketLists) {
+  verifyFormat("def flag : Flag<[\"-\", \"--\"], \"foo\">;\n");
+}
+
 } // namespace format
 } // end namespace clang