diff options
Diffstat (limited to 'BuildTools/CheckTabs.py')
-rwxr-xr-x | BuildTools/CheckTabs.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/BuildTools/CheckTabs.py b/BuildTools/CheckTabs.py new file mode 100755 index 0000000..3dac977 --- /dev/null +++ b/BuildTools/CheckTabs.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +import os, sys + +for (path, dirs, files) in os.walk(".") : + if not "3rdParty" in path : + for filename in [os.path.join(path, file) for file in files if file.endswith(".cpp") or file.endswith(".h")] : + file = open(filename, "r") + contents = [] + contentsChanged = False + for line in file.readlines() : + newline = "" + previousChar = None + pastInitialSpace = False + for char in line : + if not pastInitialSpace : + if char == ' ' and previousChar == ' ' : + contentsChanged = True + previousChar = '\t' + continue + pastInitialSpace = (char != ' ') + if previousChar : + newline += previousChar + previousChar = char + if previousChar : + newline += previousChar + contents.append(newline) + file.close() + if contentsChanged : + if len(sys.argv) > 1 and sys.argv[1] == "--fix" : + print "Fixing tabs in " + filename + file = open(filename, "w") + file.write(''.join(contents)) + file.close() + else : + print filename + " contains expanded tabs" |