forked from Kamz1337/EE-Enhanced
-
Notifications
You must be signed in to change notification settings - Fork 0
/
t_format_workspace.py
28 lines (25 loc) · 1.17 KB
/
t_format_workspace.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import glob
import os
import subprocess
import sys
import threading
# TODO format without _Build_ blacklist but for that i need to fix errors .....
BLACKLIST_FILES = ["@@headers.h"]
BLACKLIST_DIRS = ["ThirdPartyLibs", "build", "CMakeFiles"]
FORMAT_STYLE = "{BasedOnStyle: llvm, IndentWidth: 4, ColumnLimit: 0}"
def format_files(files, params):
for file in files:
if os.path.basename(file) not in BLACKLIST_FILES and not any(blacklist_dir in file for blacklist_dir in BLACKLIST_DIRS):
print(f"Formatting {file}...")
subprocess.run(["clang-format", "-i", "-style", params, file], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
else:
print(f"Skipping {file}...")
def main():
files_to_format = sys.argv[1:] if len(sys.argv) > 1 else glob.glob("**/*.[ch]", recursive=True) + glob.glob("**/*.cpp", recursive=True) + glob.glob("**/*.cc", recursive=True)
print(f"Formatting file(s) {files_to_format}")
format_thread = threading.Thread(target=format_files, args=(files_to_format, FORMAT_STYLE))
format_thread.start()
format_thread.join()
print("Done.")
if __name__ == "__main__":
main()