xref: /openbmc/docs/style/cpp/.clang-format (revision 80b34150)
1---
2Language:        Cpp
3# BasedOnStyle:  LLVM
4AccessModifierOffset: -2
5AlignAfterOpenBracket: Align
6AlignConsecutiveAssignments: false
7AlignConsecutiveDeclarations: false
8AlignEscapedNewlines: Right
9AlignOperands:   true
10AlignTrailingComments: true
11AllowAllParametersOfDeclarationOnNextLine: true
12AllowShortBlocksOnASingleLine: false
13AllowShortCaseLabelsOnASingleLine: false
14AllowShortFunctionsOnASingleLine: None
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: true
45ColumnLimit:     80
46CommentPragmas:  '^ IWYU pragma:'
47CompactNamespaces: false
48ConstructorInitializerAllOnOneLineOrOnePerLine: false
49ConstructorInitializerIndentWidth: 4
50ContinuationIndentWidth: 4
51Cpp11BracedListStyle: true
52DerivePointerAlignment: false
53PointerAlignment: Left
54DisableFormat:   false
55ExperimentalAutoDetectBinPacking: false
56FixNamespaceComments: true
57ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
58IncludeBlocks: Regroup
59IncludeCategories:
60  - Regex:           '^[<"](gtest|gmock)'
61    Priority:        7
62  - Regex:           '^"config.h"'
63    Priority:        -1
64  - Regex:           '^".*\.h"'
65    Priority:        1
66  - Regex:           '^".*\.hpp"'
67    Priority:        2
68  - Regex:           '^<.*\.h>'
69    Priority:        3
70  - Regex:           '^<.*\.hpp>'
71    Priority:        4
72  - Regex:           '^<.*'
73    Priority:        5
74  - Regex:           '.*'
75    Priority:        6
76IndentCaseLabels: true
77IndentWidth:     4
78IndentWrappedFunctionNames: true
79KeepEmptyLinesAtTheStartOfBlocks: true
80MacroBlockBegin: ''
81MacroBlockEnd:   ''
82MaxEmptyLinesToKeep: 1
83NamespaceIndentation: None
84ObjCBlockIndentWidth: 2
85ObjCSpaceAfterProperty: false
86ObjCSpaceBeforeProtocolList: true
87PenaltyBreakBeforeFirstCallParameter: 19
88PenaltyBreakComment: 300
89PenaltyBreakFirstLessLess: 120
90PenaltyBreakString: 1000
91PenaltyExcessCharacter: 1000000
92PenaltyReturnTypeOnItsOwnLine: 60
93ReflowComments:  true
94SortIncludes:    true
95SortUsingDeclarations: true
96SpaceAfterCStyleCast: false
97SpaceAfterTemplateKeyword: true
98SpaceBeforeAssignmentOperators: true
99SpaceBeforeCpp11BracedList: false
100SpaceBeforeCtorInitializerColon: true
101SpaceBeforeInheritanceColon: true
102SpaceBeforeParens: ControlStatements
103SpaceBeforeRangeBasedForLoopColon: true
104SpaceInEmptyParentheses: false
105SpacesBeforeTrailingComments: 1
106SpacesInAngles:  false
107SpacesInContainerLiterals: true
108SpacesInCStyleCastParentheses: false
109SpacesInParentheses: false
110SpacesInSquareBrackets: false
111Standard:        Latest
112TabWidth:        4
113UseTab:          Never
114...
115
116