-
Notifications
You must be signed in to change notification settings - Fork 0
/
.clang-format
231 lines (215 loc) · 6.86 KB
/
.clang-format
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
Language: Cpp
DisableFormat: false
# --------------------------------------------------------------------------------------------------
# Indentation
# --------------------------------------------------------------------------------------------------
TabWidth: 4
ColumnLimit: 100
IndentWidth: 4
ContinuationIndentWidth: 4
ConstructorInitializerIndentWidth: 4
IndentAccessModifiers: false
AccessModifierOffset: -4
IndentCaseLabels: true
IndentCaseBlocks: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: false
IndentPPDirectives: AfterHash
IndentRequiresClause: true
IndentWrappedFunctionNames: false
LambdaBodyIndentation: Signature
NamespaceIndentation: All
RequiresExpressionIndentation: OuterScope
# --------------------------------------------------------------------------------------------------
# Spaces
# --------------------------------------------------------------------------------------------------
BitFieldColonSpacing: After
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInSquareBrackets: false
# --------------------------------------------------------------------------------------------------
# Alignments
# --------------------------------------------------------------------------------------------------
AlignAfterOpenBracket: DontAlign
AlignArrayOfStructures: Left
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
DerivePointerAlignment: false
PointerAlignment: Left
ReferenceAlignment: Pointer
QualifierAlignment: Custom
QualifierOrder: [ 'static', 'constexpr', 'inline', 'const', 'volatile', 'type' ]
# --------------------------------------------------------------------------------------------------
# Break
# --------------------------------------------------------------------------------------------------
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BreakArrays: true
BreakAfterAttributes: Always
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Custom
BraceWrapping:
AfterNamespace: true
AfterClass: true
AfterStruct: true
AfterUnion: true
AfterEnum: true
AfterFunction: true
BeforeWhile: true
BeforeElse: true
BeforeCatch: true
AfterCaseLabel: true
AfterExternBlock: true
BeforeLambdaBody: true
AfterControlStatement: Always
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakStringLiterals: true
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
# AllowBreakBeforeNoexceptSpecifier: Never # this is clang-format18 option
RequiresClausePosition: OwnLine
# --------------------------------------------------------------------------------------------------
# Includes
# --------------------------------------------------------------------------------------------------
IncludeBlocks: Preserve
IncludeCategories:
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
SortIncludes: Never
# --------------------------------------------------------------------------------------------------
# Penalties
# --------------------------------------------------------------------------------------------------
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 1000
# --------------------------------------------------------------------------------------------------
# Macros
# --------------------------------------------------------------------------------------------------
Macros:
AttributeMacros: ['fn']
ForEachMacros: []
IfMacros: []
MacroBlockBegin: ''
MacroBlockEnd: ''
StatementAttributeLikeMacros: []
StatementMacros: []
WhitespaceSensitiveMacros: []
# --------------------------------------------------------------------------------------------------
# Misc
# --------------------------------------------------------------------------------------------------
Standard: Latest
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: true
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
BinPackArguments: true
BinPackParameters: true
FixNamespaceComments: false
InsertBraces: false
CompactNamespaces: false
Cpp11BracedListStyle: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
PackConstructorInitializers: Never
ReflowComments: false
RemoveParentheses: MultipleParentheses
RemoveSemicolon: false
SeparateDefinitionBlocks: Always
ShortNamespaceLines: 1
SortUsingDeclarations: LexicographicNumeric
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
InsertNewlineAtEOF: true
KeepEmptyLinesAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
LineEnding: DeriveLF
MaxEmptyLinesToKeep: 1
CommentPragmas: ''
UseTab: Never