.. 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:
'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=
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)