23 cd_to_repo_root()
24
25 with open(
".gitattributes",
"r")
as f:
27
28 new_contents = """root = true
29
30[*]
31indent_size = tab
32"""
33
34 for line in lines:
36 continue
38 if git_rules == "-whitespace":
39 rules = [
40 "indent_style = unset",
41 "indent_size = unset",
42 "trim_trailing_whitespace = unset",
43 "insert_final_newline = unset",
44 ]
47 rules = []
48 if "-blank-at-eol" in git_whitespace_rules:
49 rules += ["trim_trailing_whitespace = unset"]
50 else:
51 rules += ["trim_trailing_whitespace = true"]
52
53 if "-blank-at-eof" in git_whitespace_rules:
54 rules += ["insert_final_newline = unset"]
55 else:
56 rules += ["insert_final_newline = true"]
57
58 if "tab-in-indent" in git_whitespace_rules:
59 rules += ["indent_style = space"]
60 elif "indent-with-non-tab" in git_whitespace_rules:
61 rules += ["indent_style = tab"]
62 elif name in ["*.pl", "*.pm"]:
63
64
65
66
67
68
69 rules += ["indent_style = tab"]
70 else:
71 rules += ["indent_style = unset"]
72
73 tab_width = "unset"
74 for rule in git_whitespace_rules:
77 rules += [f"tab_width = {tab_width}"]
78
79 if name in space_based_indent_sizes:
80 indent_size = space_based_indent_sizes[name]
81 rules += [f"indent_size = {indent_size}"]
82
83 else:
84 continue
85
86 rules = "\n".join(rules)
87 new_contents += f"\n[{name}]\n{rules}\n"
88
89 with open(
".editorconfig",
"w")
as f:
91
92