summaryrefslogtreecommitdiff
path: root/.clang-format
blob: 430184268a99b9f806c75cd5534c68d5973fa863 (plain)
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
---
Language: Cpp

AccessModifierOffset: -2

AlignAfterOpenBracket: Align
AlignArrayOfStructures: Left
AlignConsecutiveAssignments: false
AlignConsecutiveBitFields: true
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments:
  Kind: Always

AllowAllParametersOfDeclarationOnNextLine: false
AllowAllArgumentsOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false

AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes

BinPackArguments: false
BinPackParameters: false

BraceWrapping:
  AfterCaseLabel: true
  AfterClass: true
  AfterControlStatement: Always
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: true
  AfterStruct: true
  AfterUnion: true
  AfterExternBlock: true
  BeforeCatch: true
  BeforeElse: true
  BeforeWhile: false
  IndentBraces: false

BreakBeforeBraces: Custom
BreakBeforeConceptDeclarations: Always
BreakInheritanceList: AfterComma
BreakBeforeInlineASMColon: Always
BreakConstructorInitializers: BeforeComma
BreakStringLiterals: true

ColumnLimit: 144

CompactNamespaces: false

Cpp11BracedListStyle: true

DerivePointerAlignment: false

EmptyLineBeforeAccessModifier: Always

FixNamespaceComments: true

IncludeBlocks: Regroup
IncludeCategories:
    # Local Headers
    - Regex: '^"[[:alnum:]_/\-]+\.h(pp)?'
      Priority: 100
    # Catch2 Headers
    - Regex: '^<catch2/[[:alnum:]_/]+\.hpp'
      Priority: 200
    # sigc++ Headers
    - Regex: '^<sigc\+\+/[[:alnum:]_/]+\.h(pp)?'
      Priority: 300
    # Glibmm Headers
    - Regex: '^<glibmm/[[:alnum:]_/]+\.h(pp)?'
      Priority: 300
    # Giomm Headers
    - Regex: '^<giomm/[[:alnum:]_/]+\.h(pp)?'
      Priority: 300
    # Gdkmm Headers
    - Regex: '^<gdkmm/[[:alnum:]_/]+\.h(pp)?'
      Priority: 300
    # Gtkmm Headers
    - Regex: '^<gtkmm/[[:alnum:]_/]+\.h(pp)?'
      Priority: 300
    # Adwaitamm Headers
    - Regex: '^<adwaitamm/[[:alnum:]_/]+\.hpp?'
      Priority: 400
    # General System Headers
    - Regex: '^<[[:alnum:]/+-_]+\.h(pp)?'
      Priority: 500
    # STL Headers
    - Regex: '^<[[:alnum:]_]+>'
      Priority: 600

      
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 2
IndentRequiresClause: false

InsertTrailingCommas: Wrapped

IntegerLiteralSeparator:
  Binary: 4
  Decimal: 3
  DecimalMinDigits: 5
  Hex: 2
  HexMinDigits: 6

KeepEmptyLinesAtTheStartOfBlocks: true

LambdaBodyIndentation: OuterScope

MaxEmptyLinesToKeep: 1

NamespaceIndentation: All

PointerAlignment: Middle

ReferenceAlignment: Middle

ReflowComments: true

RemoveSemicolon: true

RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope

ShortNamespaceLines: 0

SortIncludes: true
SortUsingDeclarations: true

SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false

Standard: Latest

TabWidth: 2

UseTab: Never

...