xref: /openbmc/docs/style/cpp/.clang-format (revision c742fe86)
1---
2Language:        Cpp
3# BasedOnStyle:  LLVM
4AccessModifierOffset: -2
5AlignAfterOpenBracket: Align
6AlignConsecutiveAssignments: false
7AlignConsecutiveDeclarations: false
8AlignEscapedNewlines: Right
9AlignOperands:  Align
10AlignTrailingComments: true
11AllowAllParametersOfDeclarationOnNextLine: true
12AllowShortBlocksOnASingleLine: Empty
13AllowShortCaseLabelsOnASingleLine: false
14AllowShortFunctionsOnASingleLine: Empty
15AllowShortIfStatementsOnASingleLine: false
16AllowShortLoopsOnASingleLine: false
17AlwaysBreakAfterReturnType: None
18AlwaysBreakBeforeMultilineStrings: false
19AlwaysBreakTemplateDeclarations: Yes
20BinPackArguments: true
21BinPackParameters: true
22BraceWrapping:
23  AfterCaseLabel:  true
24  AfterClass:      true
25  AfterControlStatement: true
26  AfterEnum:       true
27  AfterFunction:   true
28  AfterNamespace:  true
29  AfterObjCDeclaration: true
30  AfterStruct:     true
31  AfterUnion:      true
32  AfterExternBlock: true
33  BeforeCatch:     true
34  BeforeElse:      true
35  IndentBraces:    false
36  SplitEmptyFunction:   false
37  SplitEmptyRecord:     false
38  SplitEmptyNamespace:  false
39BreakBeforeBinaryOperators: None
40BreakBeforeBraces: Custom
41BreakBeforeTernaryOperators: true
42BreakConstructorInitializers: AfterColon
43BreakInheritanceList: AfterColon
44BreakStringLiterals: false
45ColumnLimit:     80
46CommentPragmas:  '^ IWYU pragma:'
47CompactNamespaces: false
48ConstructorInitializerAllOnOneLineOrOnePerLine: false
49ConstructorInitializerIndentWidth: 4
50ContinuationIndentWidth: 4
51Cpp11BracedListStyle: true
52DeriveLineEnding: false
53DerivePointerAlignment: false
54PointerAlignment: Left
55DisableFormat:   false
56ExperimentalAutoDetectBinPacking: false
57FixNamespaceComments: true
58ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
59IncludeBlocks: Regroup
60IncludeCategories:
61  - Regex:           '^[<"](gtest|gmock)'
62    Priority:        7
63  - Regex:           '^"config.h"'
64    Priority:        -1
65  - Regex:           '^".*\.h"'
66    Priority:        1
67  - Regex:           '^".*\.hpp"'
68    Priority:        2
69  - Regex:           '^<.*\.h>'
70    Priority:        3
71  - Regex:           '^<.*\.hpp>'
72    Priority:        4
73  - Regex:           '^<.*'
74    Priority:        5
75  - Regex:           '.*'
76    Priority:        6
77IndentCaseLabels: true
78IndentWidth:     4
79IndentWrappedFunctionNames: true
80KeepEmptyLinesAtTheStartOfBlocks: false
81MacroBlockBegin: ''
82MacroBlockEnd:   ''
83MaxEmptyLinesToKeep: 1
84NamespaceIndentation: None
85ObjCBlockIndentWidth: 2
86ObjCSpaceAfterProperty: false
87ObjCSpaceBeforeProtocolList: true
88PenaltyBreakAssignment: 25
89PenaltyBreakBeforeFirstCallParameter: 19
90PenaltyBreakComment: 300
91PenaltyBreakFirstLessLess: 120
92PenaltyBreakString: 1000
93PenaltyExcessCharacter: 1000000
94PenaltyReturnTypeOnItsOwnLine: 60
95PenaltyIndentedWhitespace: 0
96QualifierAlignment: Left
97ReferenceAlignment: Left
98ReflowComments:  true
99SortIncludes:    true
100SortUsingDeclarations: true
101SpaceAfterCStyleCast: false
102SpaceAfterTemplateKeyword: true
103SpaceBeforeAssignmentOperators: true
104SpaceBeforeCpp11BracedList: false
105SpaceBeforeCtorInitializerColon: true
106SpaceBeforeInheritanceColon: true
107SpaceBeforeParens: ControlStatements
108SpaceBeforeRangeBasedForLoopColon: true
109SpaceInEmptyParentheses: false
110SpacesBeforeTrailingComments: 1
111SpacesInAngles:  false
112SpacesInContainerLiterals: true
113SpacesInCStyleCastParentheses: false
114SpacesInParentheses: false
115SpacesInSquareBrackets: false
116Standard:        Latest
117TabWidth:        4
118UseCRLF: false
119UseTab:          Never
120...
121
122