1Language: Cpp
2# BasedOnStyle
3
4TabWidth:          8
5UseTab:            Never
6IndentWidth:       2
7ColumnLimit:       80
8BreakBeforeBraces: Allman
9
10IncludeCategories:
11  # Standard library headers
12  - Regex:      '"config\.h"'
13    Priority:   -130
14  - Regex:      '"acutest\.h"'
15    Priority:   -120
16  - Regex:      '<stddef\.h>'
17    Priority:   -110
18  - Regex:      '<.*>'
19    Priority:   -100
20
21  # Backend private header
22  - Regex:      '"private\.h"'
23    Priority:   -90
24
25  # NeoMutt library headers
26  - Regex:      '"mutt/.*\.h"'
27    Priority:   -80
28  - Regex:      '"address/.*\.h"'
29    Priority:   -70
30  - Regex:      '"config/.*\.h"'
31    Priority:   -60
32  - Regex:      '"email/.*\.h"'
33    Priority:   -50
34  - Regex:      '"core/.*\.h"'
35    Priority:   -40
36  - Regex:      '"alias/.*\.h"'
37    Priority:   -35
38  - Regex:      '"conn/.*\.h"'
39    Priority:   -30
40  - Regex:      '"gui/.*\.h"'
41    Priority:   -20
42
43  # NeoMutt general purpose headers
44  - Regex:      '"mutt\.h"'
45    Priority:   -10
46  - Regex:      '"debug/.*\.h"'
47    Priority:   -5
48
49  # Main Header 0
50
51  # Backend using its own library header
52  - Regex:      '"lib\.h"'
53    Priority:   2
54
55  # All backend library headers
56  - Regex:      '".*/lib\.h"'
57    Priority:   5
58
59  # All other NeoMutt headers
60  - Regex:      '".*"'
61    Priority:   10
62
63AlignAfterOpenBracket:            true
64AlignEscapedNewlinesLeft:         false
65AlignOperands:                    true
66AlignTrailingComments:            true
67AlwaysBreakAfterReturnType:       None
68BinPackArguments:                 true
69BinPackParameters:                true
70BreakBeforeBinaryOperators:       false
71BreakBeforeTernaryOperators:      false
72Cpp11BracedListStyle:             false
73DerivePointerAlignment:           false
74IndentCaseLabels:                 true
75IndentWrappedFunctionNames:       false
76KeepEmptyLinesAtTheStartOfBlocks: false
77MaxEmptyLinesToKeep:              1
78PointerAlignment:                 Right
79ReflowComments:                   false
80SortIncludes:                     true
81SpaceAfterCStyleCast:             true
82SpaceBeforeAssignmentOperators:   true
83SpaceBeforeParens:                ControlStatements
84SpaceInEmptyParentheses:          false
85SpacesInCStyleCastParentheses:    false
86SpacesInParentheses:              false
87SpacesInSquareBrackets:           false
88
89# Allow some slightly over-long lines
90PenaltyExcessCharacter: 1
91
92# NEVER
93AllowShortFunctionsOnASingleLine:    false
94AllowShortBlocksOnASingleLine:       false
95AllowShortCaseLabelsOnASingleLine:   false
96AllowShortIfStatementsOnASingleLine: false
97AllowShortLoopsOnASingleLine:        false
98
99