diff options
-rw-r--r-- | clang/docs/ClangFormat.rst | 13 | ||||
-rwxr-xr-x | clang/tools/clang-format/clang-format-diff.py | 9 |
2 files changed, 12 insertions, 10 deletions
diff --git a/clang/docs/ClangFormat.rst b/clang/docs/ClangFormat.rst index d760bbb340e..3f8499b8cef 100644 --- a/clang/docs/ClangFormat.rst +++ b/clang/docs/ClangFormat.rst @@ -158,17 +158,18 @@ a unified diff and reformats all contained lines with :program:`clang-format`. .. code-block:: console - usage: clang-format-diff.py [-h] [-i] [-p P] [-style STYLE] + usage: clang-format-diff.py [-h] [-i] [-p NUM] [-regex PATTERN] [-style STYLE] Reformat changed lines in diff. Without -i option just output the diff that would be introduced. optional arguments: - -h, --help show this help message and exit - -i apply edits to files instead of displaying a diff - -p P strip the smallest prefix containing P slashes - -style STYLE formatting style to apply (LLVM, Google, Chromium, Mozilla, - WebKit) + -h, --help show this help message and exit + -i apply edits to files instead of displaying a diff + -p NUM strip the smallest prefix containing P slashes + -regex PATTERN custom pattern selecting file paths to reformat + -style STYLE formatting style to apply (LLVM, Google, Chromium, Mozilla, + WebKit) So to reformat all the lines in the latest :program:`git` commit, just do: diff --git a/clang/tools/clang-format/clang-format-diff.py b/clang/tools/clang-format/clang-format-diff.py index a62cae8ad51..f8fceeb4fc0 100755 --- a/clang/tools/clang-format/clang-format-diff.py +++ b/clang/tools/clang-format/clang-format-diff.py @@ -41,8 +41,11 @@ def main(): 'introduced.') parser.add_argument('-i', action='store_true', default=False, help='apply edits to files instead of displaying a diff') - parser.add_argument('-p', default=0, + parser.add_argument('-p', metavar='NUM', default=0, help='strip the smallest prefix containing P slashes') + parser.add_argument('-regex', metavar='PATTERN', default= + r'.*\.(cpp|cc|CPP|C|c\+\+|cxx|c|h|hpp|m|mm|inc|js)', + help='custom pattern selecting file paths to reformat') parser.add_argument( '-style', help= @@ -59,9 +62,7 @@ def main(): if filename == None: continue - # FIXME: Add other types containing C++/ObjC code. - if not (filename.endswith(".cpp") or filename.endswith(".cc") or - filename.endswith(".h")): + if not re.match(args.regex, filename): continue match = re.search('^@@.*\+(\d+)(,(\d+))?', line) |