-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.clang-format
141 lines (120 loc) · 3.66 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
# .clang-format
BasedOnStyle: LLVM # Используем LLVM как базовый стиль и переопределяем нужные параметры
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '<boost\/[A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 8
- Regex: '<cereal\/[A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 9
- Regex: '<(SFML|GL|X11)\/[A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 10
#Qt support
- Regex: '"ui_[a-z0-9]+\.h"'
CaseSensitive: true
Priority: 14
- Regex: '<qt\/([a-z0-9.\/-_])+>'
CaseSensitive: false
Priority: 15
- Regex: '<Q[A-Z][A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 16
- Regex: '<q[a-z0-9]+\.h>'
CaseSensitive: true
Priority: 17
#Google tests
- Regex: '<(gtest|gmock)\/[A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 90
# Headers in <> without extension (stdlib).
- Regex: '<[A-Za-z0-9\Q/-_\E]+>'
Priority: 80
# System headers coming there too.
- Regex: '<bits\/[A-Za-z0-9.\/-_]+>'
CaseSensitive: true
Priority: 80
# Headers in "" with extension.
- Regex: '"[A-Za-z0-9.\Q/-_\E]+"'
Priority: 5
# Headers in <> with extension.
- Regex: '<[A-Za-z0-9.\Q/-_\E]+>'
Priority: 20
# Опционально, если вы хотите явно указать Allman стилизацию
BreakBeforeBraces: Custom
BraceWrapping:
AfterFunction: true
AfterExternBlock: true
BeforeLambdaBody: false
AfterControlStatement: true
AfterNamespace: false
AfterStruct: true
AfterClass: true
AfterUnion: true
BeforeWhile: true
BeforeCatch: true
BeforeElse: true
SplitEmptyFunction: true
SplitEmptyNamespace: true
SplitEmptyRecord: true
SpacesInParens: Custom
SpacesInParensOptions:
InConditionalStatements: false
InEmptyParentheses: false
InCStyleCasts: false
Other: false
SpacesInSquareBrackets: false
# Should be declared this way:
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: false
AfterOverloadedOperator: false
AfterRequiresInClause: false
BeforeNonEmptyParentheses: false
# Другие настройки
IndentWidth: 4
ColumnLimit: 100
ContinuationIndentWidth: 2
TabWidth: 4
UseTab: Never
IndentCaseLabels: true
IndentPPDirectives: BeforeHash
SpaceBeforeAssignmentOperators: true
SpaceAfterTemplateKeyword: true
SpaceInEmptyParentheses: true
AlignTrailingComments: true
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AlignOperands: Align
BreakAfterAttributes: Always
AllowBreakBeforeNoexceptSpecifier: Never
AllowAllArgumentsOnNextLine: true
BinPackArguments: true
Cpp11BracedListStyle: true
AlignAfterOpenBracket: Align
AllowAllParametersOfDeclarationOnNextLine: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: Always
BreakBeforeTernaryOperators: true
BreakStringLiterals: true
AlwaysBreakTemplateDeclarations: Yes
BreakConstructorInitializers: AfterColon
PackConstructorInitializers: Never
BreakInheritanceList: AfterColon
LambdaBodyIndentation: Signature
AllowShortLambdasOnASingleLine: None
BitFieldColonSpacing: None
SpacesInAngles: Never
Standard: c++17
#clang-19
#BreakFunctionDefinitionParameters: false
#clang-20
#BreakBinaryOperations: RespectPrecedence