diff options
Diffstat (limited to 'BuildTools')
| -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"  | 
 Swift