Skip to content

Commit

Permalink
cmake-format: include necessary tooling in config Py
Browse files Browse the repository at this point in the history
Makes this easier to ship with OOT modules

Signed-off-by: Marcus Müller <[email protected]>
  • Loading branch information
marcusmueller authored and willcode committed Sep 28, 2023
1 parent 535a1e3 commit ca051e7
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 31 deletions.
34 changes: 26 additions & 8 deletions .cmake-format.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
# Copyright 2021 Marcus Müller
# SPDX-License-Identifier: LGPL-3.0-or-later
from tools import clang_format_helper
_clang_format = clang_format_helper.clang_format_options()
class _clang_format_options:
def __init__(self, clangfile=None):
if not clangfile:
clangfile = ".clang-format"
self.lines = []
with open(clangfile, encoding="utf-8") as opened:
for line in opened:
if line.strip().startswith("#"):
continue
self.lines.append(line.rstrip().split(":"))

def __getitem__(self, string):
path = string.split(".")
value = None
for crumble in path:
for line in self.lines:
if line[0].strip() == crumble:
if len(line) > 1:
value = line[1].strip().rstrip()
break
return value


_clang_format = _clang_format_options()

with section("parse"):
additional_commands = {
Expand All @@ -14,27 +36,23 @@
}
},
}

with section("markup"):
first_comment_is_literal = True
enable_markup = False

with section("format"):
disable = False

line_width = int(_clang_format["ColumnLimit"])
tab_size = int(_clang_format["IndentWidth"])
min_prefix_chars = tab_size
max_prefix_chars = 3 * tab_size
use_tabchars = _clang_format["UseTab"] in ("ForIndentation",
"ForContinuationAndIndentation",
"Always")

# separate_ctrl_name_with_space = clang_format["SpaceBeforeParens"] in (
# "ControlStatements", "ControlStatementsExceptControlMacros", "Always")
separate_ctrl_name_with_space = False
# separate_fn_name_with_space = clang_format["SpaceBeforeParens"] != "Never"
separate_fn_name_with_space = False
dangle_parens = False

command_case = 'canonical'
keyword_case = 'upper'

Expand Down
23 changes: 0 additions & 23 deletions tools/clang_format_helper.py

This file was deleted.

0 comments on commit ca051e7

Please sign in to comment.