forked from pandaman176/CSC3060-Project3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.clang-format
More file actions
184 lines (161 loc) · 4.25 KB
/
Copy path.clang-format
File metadata and controls
184 lines (161 loc) · 4.25 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
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
# Based on LLVM style with modern C++ customizations
Language: Cpp
BasedOnStyle: LLVM
# Indentation
IndentWidth: 4
TabWidth: 4
UseTab: Never
IndentCaseLabels: true
IndentPPDirectives: BeforeHash
IndentWrappedFunctionNames: false
NamespaceIndentation: None
IndentExternBlock: NoIndent
IndentGotoLabels: false
# Alignment
AlignAfterOpenBracket: Align
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: Consecutive
AlignConsecutiveDeclarations: None
AlignConsecutiveMacros: Consecutive
AlignEscapedNewlines: Left
AlignOperands: Align
AlignTrailingComments: true
# Line Breaking
ColumnLimit: 100
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeConceptDeclarations: Always
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
# Braces
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
# Spaces
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
# Pointer and Reference Alignment
DerivePointerAlignment: false
PointerAlignment: Left
ReferenceAlignment: Left
# Includes
IncludeBlocks: Regroup
IncludeCategories:
# C++ standard library headers
- Regex: '^<[a-z_]+>$'
Priority: 2
# System headers with .h extension
- Regex: '^<.*\.h>$'
Priority: 3
# Third-party headers
- Regex: '^<.*>'
Priority: 4
# Project headers
- Regex: '^".*"$'
Priority: 1
SortIncludes: CaseSensitive
SortUsingDeclarations: true
# Comments
FixNamespaceComments: true
ReflowComments: true
# Empty Lines
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
SeparateDefinitionBlocks: Leave
# Constructor Initializers
ConstructorInitializerIndentWidth: 4
PackConstructorInitializers: CurrentLine
# Lambdas
LambdaBodyIndentation: Signature
# Penalties (for line-breaking decisions)
PenaltyBreakAssignment: 25
PenaltyBreakBeforeFirstCallParameter: 50
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 200
# Modern C++ Features
Cpp11BracedListStyle: true
Standard: Latest
# Binary Packing
BinPackArguments: false
BinPackParameters: false
# Attributes
AttributeMacros: []
# Macros
MacroBlockBegin: ''
MacroBlockEnd: ''
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
# Qualifiers (const placement)
QualifierAlignment: Leave
# Short Namespace
ShortNamespaceLines: 0
# Require/Concept
RequiresClausePosition: OwnLine
IndentRequiresClause: true
# Access Modifiers
AccessModifierOffset: -4
# Insert Trailing Commas
InsertTrailingCommas: None
# Miscellaneous
CompactNamespaces: false
DisableFormat: false
InsertBraces: false
RemoveBracesLLVM: false