summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTools/CheckTabs.py')
-rwxr-xr-xBuildTools/CheckTabs.py36
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"