5 AlignAfterOpenBracket: DontAlign
6 AlignConsecutiveAssignments: false
7 AlignConsecutiveDeclarations: false
8 AlignEscapedNewlines: Left
10 AlignTrailingComments: true
11 AllowAllParametersOfDeclarationOnNextLine: false
12 AllowShortBlocksOnASingleLine: Never
13 AllowShortCaseLabelsOnASingleLine: false
14 AllowShortFunctionsOnASingleLine: InlineOnly
15 AllowShortIfStatementsOnASingleLine: Never
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 - VM_PAGE_DUMP_FOREACH
80 IndentCaseLabels: false
81 IndentPPDirectives: None
83 NamespaceIndentation: None
84 PointerAlignment: Right
85 ContinuationIndentWidth: 4
90 SpaceAfterCStyleCast: false
91 IncludeBlocks: Regroup
93 - Regex: '^\"opt_.*\.h\"'
96 - Regex: '^<sys/cdefs\.h>'
99 - Regex: '^<sys/types\.h>'
102 - Regex: '^<sys/param\.h>'
108 - Regex: '^<vm/vm\.h>'
114 - Regex: '^<machine/'
117 - Regex: '^<(x86|amd64|i386|xen)/'
126 - Regex: '^<protocols/'
129 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
132 - Regex: '^<[^/].*\.h'
135 - Regex: '^\".*\.h\"'
138 # LLVM's header include ordering style is almost the exact opposite of ours.
139 # Unfortunately, they have hard-coded their preferences into clang-format.
140 # Clobbering this regular expression to avoid matching prevents non-system
141 # headers from being forcibly moved to the top of the include list.
142 # http://llvm.org/docs/CodingStandards.html#include-style
143 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
145 KeepEmptyLinesAtTheStartOfBlocks: true