format-all.py (948B)
1 #!/usr/bin/env python 2 from __future__ import print_function 3 4 import fnmatch 5 import os 6 import subprocess 7 import sys 8 import glob 9 10 path = os.path.dirname(os.path.realpath(__file__)) 11 12 masks = ['*.hpp', '*.h', '*.cpp', '*.c', '*.cxx'] 13 ignore = ['build/*', 'build-*', 'cmake-*', '.*', 'src/io/dr'] 14 15 filenames = [] 16 for root, dirnames, files in os.walk(path, path): 17 ignore_dir = False 18 for mask in ignore: 19 if fnmatch.fnmatch(os.path.relpath(root, path), mask): 20 ignore_dir = True 21 break 22 23 if not ignore_dir: 24 for mask in masks: 25 for filename in fnmatch.filter(files, mask): 26 filenames.append(os.path.join(root, filename)) 27 28 29 for filename in filenames: 30 print( filename, '...' ) 31 subprocess.call(['clang-format', '-i', filename]) 32 # Fix clang-format bug: https://llvm.org/bugs/show_bug.cgi?id=26125 33 for tmp_file in glob.glob(filename+'*.tmp'): 34 os.remove(tmp_file)