]> granicus.if.org Git - clang/commitdiff
clang-format: add an option -verbose to list the files being processed
authorSylvestre Ledru <sylvestre@debian.org>
Sat, 12 Aug 2017 15:15:10 +0000 (15:15 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Sat, 12 Aug 2017 15:15:10 +0000 (15:15 +0000)
Reviewers: djasper

Reviewed By: djasper

Subscribers: klimek, cfe-commits

Tags: #clang

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310778 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ClangFormat.rst
docs/ReleaseNotes.rst
test/Format/verbose.cpp [new file with mode: 0644]
tools/clang-format/ClangFormat.cpp

index 902afcd08ed5fa05cd9d1408ede0bed0aae64077..b4030eac6f1fd3a41f91c40c343bb58a07925642 100644 (file)
@@ -71,6 +71,7 @@ to format C/C++/Obj-C code.
                                 Use -style="{key: value, ...}" to set specific
                                 parameters, e.g.:
                                   -style="{BasedOnStyle: llvm, IndentWidth: 8}"
+    -verbose                  - If set, shows the list of processed files
 
   Generic Options:
 
index 64c1cf492ffc1276f8143c59b2a03d309100c6b5..be038234df783374d3e1a7d995e25f8d3d6705d7 100644 (file)
@@ -187,6 +187,9 @@ clang-format
 
 ...
 
+* Option -verbose added to the command line.
+  Shows the list of processed files.
+
 libclang
 --------
 
diff --git a/test/Format/verbose.cpp b/test/Format/verbose.cpp
new file mode 100644 (file)
index 0000000..dd625e3
--- /dev/null
@@ -0,0 +1,16 @@
+// RUN: clang-format %s  2> %t.stderr
+// RUN: not grep "Formatting" %t.stderr
+// RUN: clang-format %s -verbose 2> %t.stderr
+// RUN: grep -E "Formatting (.*)verbose.cpp(.*)" %t.stderr
+// RUN: clang-format %s -verbose=false 2> %t.stderr
+// RUN: not grep "Formatting" %t.stderr
+
+int a;
+// RUN: clang-format %s  2> %t.stderr
+// RUN: not grep "Formatting" %t.stderr
+// RUN: clang-format %s -verbose 2> %t.stderr
+// RUN: grep -E "Formatting (.*)verbose.cpp(.*)" %t.stderr
+// RUN: clang-format %s -verbose=false 2> %t.stderr
+// RUN: not grep "Formatting" %t.stderr
+
+int a;
index f8e2fe186b916dc1fcef3a8a5faf5fe013d418f6..37c2d8b78f6290a8f3b0b160556ac284a295f7fe 100644 (file)
@@ -102,6 +102,10 @@ static cl::opt<bool> SortIncludes(
              "SortIncludes style flag"),
     cl::cat(ClangFormatCategory));
 
+static cl::opt<bool>
+    Verbose("verbose", cl::desc("If set, shows the list of processed files"),
+            cl::cat(ClangFormatCategory));
+
 static cl::list<std::string> FileNames(cl::Positional, cl::desc("[<file> ...]"),
                                        cl::cat(ClangFormatCategory));
 
@@ -365,23 +369,19 @@ int main(int argc, const char **argv) {
   }
 
   bool Error = false;
-  switch (FileNames.size()) {
-  case 0:
+  if (FileNames.empty()) {
     Error = clang::format::format("-");
-    break;
-  case 1:
-    Error = clang::format::format(FileNames[0]);
-    break;
-  default:
-    if (!Offsets.empty() || !Lengths.empty() || !LineRanges.empty()) {
-      errs() << "error: -offset, -length and -lines can only be used for "
-                "single file.\n";
-      return 1;
-    }
-    for (unsigned i = 0; i < FileNames.size(); ++i)
-      Error |= clang::format::format(FileNames[i]);
-    break;
+    return Error ? 1 : 0;
+  }
+  if (FileNames.size() != 1 && (!Offsets.empty() || !Lengths.empty() || !LineRanges.empty())) {
+    errs() << "error: -offset, -length and -lines can only be used for "
+              "single file.\n";
+    return 1;
+  }
+  for (const auto &FileName : FileNames) {
+    if (Verbose)
+      errs() << "Formatting " << FileName << "\n";
+    Error |= clang::format::format(FileName);
   }
   return Error ? 1 : 0;
 }
-