5 AlignAfterOpenBracket: DontAlign
6 AlignConsecutiveAssignments: false
7 AlignConsecutiveDeclarations: false
8 AlignEscapedNewlines: Left
10 AlignTrailingComments: false
11 AllowAllParametersOfDeclarationOnNextLine: false
12 AllowShortBlocksOnASingleLine: false
13 AllowShortCaseLabelsOnASingleLine: false
14 AllowShortFunctionsOnASingleLine: InlineOnly
15 AllowShortIfStatementsOnASingleLine: false
16 AllowShortLoopsOnASingleLine: false
17 AlwaysBreakAfterReturnType: TopLevelDefinitions
18 AlwaysBreakBeforeMultilineStrings: false
19 AlwaysBreakTemplateDeclarations: MultiLine
20 BinPackArguments: true
21 BinPackParameters: true
22 BreakBeforeBinaryOperators: None
23 BreakBeforeBraces: WebKit
24 BreakBeforeTernaryOperators: false
25 # TODO: BreakStringLiterals can cause very strange formatting so turn it off?
26 BreakStringLiterals: false
27 PenaltyBreakBeforeFirstCallParameter: 1000
28 CompactNamespaces: true
29 DerivePointerAlignment: false
33 - ARB_ARRFOREACH_REVWCOND
34 - ARB_ARRFOREACH_REVERSE
39 - ARB_FOREACH_REVERSE_FROM
40 - ARB_FOREACH_REVERSE_SAFE
42 - FOREACH_THREAD_IN_PROC
43 - FOREACH_PROC_IN_SYSTEM
44 - FOREACH_PRISON_CHILD
45 - FOREACH_PRISON_DESCENDANT
46 - FOREACH_PRISON_DESCENDANT_LOCKED
47 - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
48 - MNT_VNODE_FOREACH_ALL
49 - MNT_VNODE_FOREACH_ACTIVE
54 - RB_FOREACH_REVERSE_FROM
55 - RB_FOREACH_REVERSE_SAFE
58 - SLIST_FOREACH_FROM_SAFE
60 - SLIST_FOREACH_PREVPTR
64 - LIST_FOREACH_FROM_SAFE
68 - STAILQ_FOREACH_FROM_SAFE
72 - TAILQ_FOREACH_FROM_SAFE
73 - TAILQ_FOREACH_REVERSE
74 - TAILQ_FOREACH_REVERSE_FROM
75 - TAILQ_FOREACH_REVERSE_FROM_SAFE
76 - TAILQ_FOREACH_REVERSE_SAFE
78 - VM_MAP_ENTRY_FOREACH
79 IndentCaseLabels: false
80 IndentPPDirectives: None
82 NamespaceIndentation: None
83 PointerAlignment: Right
84 ContinuationIndentWidth: 4
89 SpaceAfterCStyleCast: false
90 IncludeBlocks: Regroup
92 - Regex: '^\"opt_.*\.h\"'
95 - Regex: '^<sys/cdefs\.h>'
98 - Regex: '^<sys/types\.h>'
101 - Regex: '^<sys/param\.h>'
107 - Regex: '^<vm/vm\.h>'
113 - Regex: '^<machine/'
116 - Regex: '^<(x86|amd64|i386|xen)/'
125 - Regex: '^<protocols/'
128 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
131 - Regex: '^<[^/].*\.h'
134 - Regex: '^\".*\.h\"'
137 # LLVM's header include ordering style is almost the exact opposite of ours.
138 # Unfortunately, they have hard-coded their preferences into clang-format.
139 # Clobbering this regular expression to avoid matching prevents non-system
140 # headers from being forcibly moved to the top of the include list.
141 # http://llvm.org/docs/CodingStandards.html#include-style
142 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
144 KeepEmptyLinesAtTheStartOfBlocks: true