mirror of
https://github.com/open-goal/jak-project
synced 2026-05-23 15:02:01 -04:00
formatter: add tree-sitter dependency and commit early draft work on a proper code formatter (#2536)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Visual Studio is dumb and doesn't let you customize the automatic include formats
|
||||
# so i'll do it myself.
|
||||
|
||||
import glob
|
||||
import re
|
||||
|
||||
folders_to_check = ["common", "decompiler", "game", "goalc", "test", "tools", "lsp"]
|
||||
|
||||
for folder in folders_to_check:
|
||||
files_to_check = glob.glob("./{}/**/*.cpp".format(folder), recursive=True)
|
||||
files_to_check += glob.glob("./{}/**/*.h".format(folder), recursive=True)
|
||||
for filename in files_to_check:
|
||||
# Get the file contents
|
||||
with open(filename, "r", encoding="utf-8") as f:
|
||||
lines = f.readlines()
|
||||
new_lines = []
|
||||
need_to_write = False
|
||||
for i, line in enumerate(lines):
|
||||
include_match = re.search(r"#include <(.*)>", line)
|
||||
if include_match:
|
||||
include = include_match.groups()[0]
|
||||
if include.startswith("sys/") or include.startswith("netinet/") or include.startswith("arpa/"):
|
||||
new_lines.append(line)
|
||||
elif "/" in include:
|
||||
new_lines.append(line.replace("<", "\"").replace(">", "\""))
|
||||
need_to_write = True
|
||||
else:
|
||||
new_lines.append(line)
|
||||
else:
|
||||
new_lines.append(line)
|
||||
if need_to_write:
|
||||
print("Fixing includes in {}".format(filename))
|
||||
with open(filename, "w", encoding="utf-8") as f:
|
||||
f.writelines(new_lines)
|
||||
Reference in New Issue
Block a user