5 AlignAfterOpenBracket: DontAlign
6 AlignConsecutiveAssignments: false
7 AlignConsecutiveDeclarations: false
8 AlignEscapedNewlines: Left
10 AlignTrailingComments: true
11 AllowAllArgumentsOnNextLine: false
12 AllowAllParametersOfDeclarationOnNextLine: false
13 AllowShortBlocksOnASingleLine: Never
14 AllowShortCaseLabelsOnASingleLine: false
15 AllowShortFunctionsOnASingleLine: InlineOnly
16 AllowShortIfStatementsOnASingleLine: Never
17 AllowShortLoopsOnASingleLine: false
18 AlwaysBreakAfterReturnType: TopLevelDefinitions
19 AlwaysBreakBeforeMultilineStrings: false
20 AlwaysBreakTemplateDeclarations: MultiLine
21 BinPackArguments: true
22 BinPackParameters: true
23 BreakBeforeBinaryOperators: None
24 BreakBeforeBraces: WebKit
25 BreakBeforeTernaryOperators: false
26 # TODO: BreakStringLiterals can cause very strange formatting so turn it off?
27 BreakStringLiterals: false
29 # some_var = function(arg1,
33 # function(arg1, arg2)
34 PenaltyBreakAssignment: 100
36 # some_long_function(arg1, arg2
41 PenaltyBreakBeforeFirstCallParameter: 100
42 CompactNamespaces: true
43 DerivePointerAlignment: false
47 - ARB_ARRFOREACH_REVWCOND
48 - ARB_ARRFOREACH_REVERSE
53 - ARB_FOREACH_REVERSE_FROM
54 - ARB_FOREACH_REVERSE_SAFE
60 - FOREACH_THREAD_IN_PROC
61 - FOREACH_PROC_IN_SYSTEM
62 - FOREACH_PRISON_CHILD
63 - FOREACH_PRISON_DESCENDANT
64 - FOREACH_PRISON_DESCENDANT_LOCKED
65 - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
66 - MNT_VNODE_FOREACH_ALL
67 - MNT_VNODE_FOREACH_ACTIVE
72 - RB_FOREACH_REVERSE_FROM
73 - RB_FOREACH_REVERSE_SAFE
76 - SLIST_FOREACH_FROM_SAFE
78 - SLIST_FOREACH_PREVPTR
82 - LIST_FOREACH_FROM_SAFE
86 - STAILQ_FOREACH_FROM_SAFE
90 - TAILQ_FOREACH_FROM_SAFE
91 - TAILQ_FOREACH_REVERSE
92 - TAILQ_FOREACH_REVERSE_FROM
93 - TAILQ_FOREACH_REVERSE_FROM_SAFE
94 - TAILQ_FOREACH_REVERSE_SAFE
96 - VM_MAP_ENTRY_FOREACH
97 - VM_PAGE_DUMP_FOREACH
98 IndentCaseLabels: false
99 IndentPPDirectives: None
101 NamespaceIndentation: None
102 PointerAlignment: Right
103 ContinuationIndentWidth: 4
108 SpaceAfterCStyleCast: false
109 IncludeBlocks: Regroup
111 - Regex: '^\"opt_.*\.h\"'
114 - Regex: '^<sys/cdefs\.h>'
117 - Regex: '^<sys/types\.h>'
120 - Regex: '^<sys/param\.h>'
123 - Regex: '^<sys/systm\.h>'
129 - Regex: '^<vm/vm\.h>'
135 - Regex: '^<machine/'
138 - Regex: '^<(x86|amd64|i386|xen)/'
147 - Regex: '^<protocols/'
150 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
153 - Regex: '^<[^/].*\.h'
156 - Regex: '^\".*\.h\"'
159 # LLVM's header include ordering style is almost the exact opposite of ours.
160 # Unfortunately, they have hard-coded their preferences into clang-format.
161 # Clobbering this regular expression to avoid matching prevents non-system
162 # headers from being forcibly moved to the top of the include list.
163 # http://llvm.org/docs/CodingStandards.html#include-style
164 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
166 KeepEmptyLinesAtTheStartOfBlocks: true