-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.clang-format
191 lines (164 loc) · 4.26 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
BasedOnStyle: Google
# Language mode
Language: Cpp
Standard: Latest
# Basic
UseTab: Never
ColumnLimit: 95
IndentWidth: 2
ContinuationIndentWidth: 4
MaxEmptyLinesToKeep: 1
# Pointers and references
DerivePointerAlignment: false
PointerAlignment: Left
ReferenceAlignment: Left
# Qualifiers
QualifierAlignment: Custom
QualifierOrder: [ 'friend', 'inline', 'constexpr', 'static', 'const', 'volatile', 'restrict', 'type' ]
SpaceAroundPointerQualifiers: Default
# Braces
InsertBraces: false
BracedInitializerIndentWidth: 2
Cpp11BracedListStyle: true
SpaceBeforeCpp11BracedList: true
AllowShortBlocksOnASingleLine: Never
AlignArrayOfStructures: None
BreakBeforeBraces: Custom
BraceWrapping:
IndentBraces: false
AfterNamespace: false
AfterExternBlock: true
AfterClass: true
AfterStruct: true
AfterEnum: true
AfterUnion: true
AfterFunction: true
AfterCaseLabel: false
AfterControlStatement: Never
BeforeElse: true
BeforeCatch: true
BeforeWhile: false
BeforeLambdaBody: false
SplitEmptyNamespace: false
SplitEmptyFunction: false
SplitEmptyRecord: false
# Spaces
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeSquareBrackets: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpacesInParens: Never
SpacesInAngles: Never
SpacesInSquareBrackets: false
SpaceInEmptyBlock: false
# Preprocessor
AlignConsecutiveMacros: None
AlignEscapedNewlines: Left
IndentPPDirectives: BeforeHash
PPIndentWidth: 2
SortIncludes: CaseSensitive
IncludeBlocks: Regroup
IncludeCategories:
# Standard headers, located in <> with no extension.
- Regex: '<[A-Za-z0-9\_\-]+>'
SortPriority: 1
Priority: 1
# Headers in <> with extension and optional prefix.
- Regex: '<.+>'
SortPriority: 2
Priority: 2
# Headers in "" with extension.
- Regex: '".+"'
SortPriority: 3
Priority: 3
# Operators
AlignOperands: Align
AlignConsecutiveDeclarations: None
AlignConsecutiveAssignments: None
SpaceBeforeAssignmentOperators: true
BreakBeforeTernaryOperators: true
BreakBeforeBinaryOperators: None
# Control statements
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
# Attributes
BreakAfterAttributes: Leave
# Namespaces
NamespaceIndentation: None
FixNamespaceComments: true
# Access modifiers
IndentAccessModifiers: false
AccessModifierOffset: -1
EmptyLineBeforeAccessModifier: Always
EmptyLineAfterAccessModifier: Never
# Constructors
PackConstructorInitializers: Never
SpaceBeforeCtorInitializerColon: true
ConstructorInitializerIndentWidth: 2
BreakConstructorInitializers: BeforeColon
# Inheritance
BreakInheritanceList: AfterColon
SpaceBeforeInheritanceColon: true
# Enums
AllowShortEnumsOnASingleLine: false
# Functions
AlwaysBreakAfterReturnType: None
AllowShortFunctionsOnASingleLine: None
IndentWrappedFunctionNames: false
RemoveSemicolon: false
BinPackParameters: false
BinPackArguments: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowAllArgumentsOnNextLine: false
AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
# Lambdas
LambdaBodyIndentation: Signature
AllowShortLambdasOnASingleLine: All
# Templates
SpaceAfterTemplateKeyword: true
AlwaysBreakTemplateDeclarations: Yes
# Concepts
IndentRequiresClause: true
BreakBeforeConceptDeclarations: Always
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
AllowShortCompoundRequirementOnASingleLine: true
# Switches
AllowShortCaseLabelsOnASingleLine: true
SpaceBeforeCaseColon: false
IndentCaseLabels: true
IndentCaseBlocks: false
AlignConsecutiveShortCaseStatements:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
# Bit fields
AlignConsecutiveBitFields: Consecutive
BitFieldColonSpacing: Both
# Digit separators
IntegerLiteralSeparator:
Binary: -1
Decimal: 0
Hex: -1
# Strings
BreakStringLiterals: false
BreakAdjacentStringLiterals: false
AlwaysBreakBeforeMultilineStrings: false
# Comments
SpacesBeforeTrailingComments: 2
ReflowComments: true
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
# Miscellaneous
AlignAfterOpenBracket: Align
BreakArrays: false
SpacesInContainerLiterals: false
IndentGotoLabels: false
IndentExternBlock: Indent
KeepEmptyLinesAtTheStartOfBlocks: false
InsertNewlineAtEOF: true
SortUsingDeclarations: Lexicographic
RemoveParentheses: Leave