1# requires clang 10
2# https://releases.llvm.org/10.0.0/tools/clang/docs/ClangFormatStyleOptions.html
3
4BasedOnStyle: Google
5Language: Cpp
6Standard: Cpp11
7
8AccessModifierOffset: -2
9AllowAllArgumentsOnNextLine: false
10AllowAllConstructorInitializersOnNextLine: false
11AllowAllParametersOfDeclarationOnNextLine: false
12AlwaysBreakTemplateDeclarations: true
13AlwaysBreakBeforeMultilineStrings: true
14
15BinPackArguments: false
16BinPackParameters: false
17BreakConstructorInitializers: BeforeComma
18
19BreakBeforeBraces: Custom
20BraceWrapping:
21  AfterCaseLabel:  true
22  AfterClass:      true
23  AfterControlStatement: true
24  AfterEnum:       true
25  AfterFunction:   true
26  AfterNamespace:  true
27  AfterObjCDeclaration: false
28  AfterStruct:     true
29  AfterUnion:      true
30  AfterExternBlock: false
31  BeforeCatch:     true
32  BeforeElse:      true
33  # BeforeLambdaBody: true   # available in clang 11
34  IndentBraces:    false
35  SplitEmptyFunction: false
36  SplitEmptyRecord: false
37  SplitEmptyNamespace: false
38
39ConstructorInitializerAllOnOneLineOrOnePerLine: true
40ConstructorInitializerIndentWidth: 2
41ContinuationIndentWidth: 2
42ColumnLimit: 80
43
44FixNamespaceComments: true
45
46IndentCaseLabels: false
47IndentPPDirectives: BeforeHash
48IndentWidth: 2
49
50PenaltyExcessCharacter: 10
51
52ReflowComments: false
53
54SortIncludes: false
55SpaceAfterTemplateKeyword: true
56SpaceBeforeAssignmentOperators: true
57SpaceBeforeCpp11BracedList: true
58SpaceBeforeCtorInitializerColon: true
59SpaceBeforeInheritanceColon: true
60SpaceBeforeParens: Never
61SpaceBeforeRangeBasedForLoopColon: true
62SpaceInEmptyBlock: true
63SpaceInEmptyParentheses: false
64SpacesBeforeTrailingComments: 2
65SpacesInAngles: false
66SpacesInCStyleCastParentheses: false
67SpacesInContainerLiterals: false
68SpacesInConditionalStatement: false
69SpacesInParentheses: false
70SpacesInSquareBrackets: false
71
72UseTab: Never
73
74## Possible changes
75
76# Axom defaults for alignment -- consider changing
77AlignConsecutiveAssignments: false
78AlignConsecutiveDeclarations: false
79AlignOperands: false
80