forked from Z3Prover/z3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.clang-format
More file actions
92 lines (75 loc) · 2.08 KB
/
.clang-format
File metadata and controls
92 lines (75 loc) · 2.08 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Z3 Theorem Prover clang-format configuration
# Based on analysis of existing codebase style patterns
BasedOnStyle: LLVM
# Indentation
IndentWidth: 4
TabWidth: 4
UseTab: Never
# Column width
ColumnLimit: 120
# Braces
Cpp11BracedListStyle: true
# Classes and structs
BreakConstructorInitializers: BeforeColon
ConstructorInitializerIndentWidth: 4
AccessModifierOffset: -4
# Function definitions
AlwaysBreakAfterReturnType: None
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
# Ensure function-opening brace is attached to the signature
BreakBeforeBraces: Custom
# Explicitly ensure function brace is not placed on a new line
BraceWrapping:
AfterFunction: false
AfterClass: false
AfterControlStatement: false
AfterNamespace: false
AfterStruct: false
BeforeElse : true
AfterCaseLabel: false
# Spacing
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
# Alignment
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignOperands: true
AlignTrailingComments: true
# Line breaks
AllowAllParametersOfDeclarationOnNextLine: true
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
# BreakBeforeElse: true
# Includes
SortIncludes: false # Z3 has specific include ordering conventions
# Namespaces
NamespaceIndentation: All
# Switch statements
IndentCaseLabels: false
AllowShortCaseLabelsOnASingleLine: true
IndentCaseBlocks: false
# Comments and documentation
ReflowComments: true
SpacesBeforeTrailingComments: 2
# Language standards
Standard: c++20
# Penalties (for line breaking decisions)
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
# Misc
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1