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