summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-08-16 18:27:12 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-08-16 22:13:30 (GMT)
commit9ed3516fc091010637b7eba3678a1566507c59eb (patch)
treed6a0e3d4b1eba0fed78b8e4d70cbc4d01854b2c9 /BuildTools
parent2c9b7fc6753f7595c7208161d1809d5f97f7ffa7 (diff)
downloadswift-9ed3516fc091010637b7eba3678a1566507c59eb.zip
swift-9ed3516fc091010637b7eba3678a1566507c59eb.tar.bz2
Ported CheckTabs script to Python.
Diffstat (limited to 'BuildTools')
-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"