4 AlignAfterOpenBracket: DontAlign
5 AlignConsecutiveAssignments: false
6 AlignConsecutiveDeclarations: false
7 AlignEscapedNewlines: Left
9 AlignTrailingComments: true
10 AllowAllArgumentsOnNextLine: false
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
28 # some_var = function(arg1,
32 # function(arg1, arg2)
33 PenaltyBreakAssignment: 100
35 # some_long_function(arg1, arg2
40 PenaltyBreakBeforeFirstCallParameter: 100
41 CompactNamespaces: true
42 DerivePointerAlignment: false
46 - ARB_ARRFOREACH_REVWCOND
47 - ARB_ARRFOREACH_REVERSE
52 - ARB_FOREACH_REVERSE_FROM
53 - ARB_FOREACH_REVERSE_SAFE
59 - FOREACH_THREAD_IN_PROC
60 - FOREACH_PROC_IN_SYSTEM
61 - FOREACH_PRISON_CHILD
62 - FOREACH_PRISON_DESCENDANT
63 - FOREACH_PRISON_DESCENDANT_LOCKED
64 - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
65 - MNT_VNODE_FOREACH_ALL
66 - MNT_VNODE_FOREACH_ACTIVE
71 - RB_FOREACH_REVERSE_FROM
72 - RB_FOREACH_REVERSE_SAFE
75 - SLIST_FOREACH_FROM_SAFE
77 - SLIST_FOREACH_PREVPTR
81 - LIST_FOREACH_FROM_SAFE
85 - STAILQ_FOREACH_FROM_SAFE
89 - TAILQ_FOREACH_FROM_SAFE
90 - TAILQ_FOREACH_REVERSE
91 - TAILQ_FOREACH_REVERSE_FROM
92 - TAILQ_FOREACH_REVERSE_FROM_SAFE
93 - TAILQ_FOREACH_REVERSE_SAFE
95 - VM_MAP_ENTRY_FOREACH
96 - VM_PAGE_DUMP_FOREACH
97 IndentCaseLabels: false
98 IndentPPDirectives: None
100 NamespaceIndentation: None
101 PointerAlignment: Right
102 ContinuationIndentWidth: 4
107 SpaceAfterCStyleCast: false
108 IncludeBlocks: Regroup
110 - Regex: '^\"opt_.*\.h\"'
113 - Regex: '^<sys/cdefs\.h>'
116 - Regex: '^<sys/types\.h>'
119 - Regex: '^<sys/param\.h>'
122 - Regex: '^<sys/systm\.h>'
128 - Regex: '^<vm/vm\.h>'
134 - Regex: '^<machine/'
137 - Regex: '^<(x86|amd64|i386|xen)/'
146 - Regex: '^<protocols/'
149 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
152 - Regex: '^<[^/].*\.h'
155 - Regex: '^\".*\.h\"'
158 # LLVM's header include ordering style is almost the exact opposite of ours.
159 # Unfortunately, they have hard-coded their preferences into clang-format.
160 # Clobbering this regular expression to avoid matching prevents non-system
161 # headers from being forcibly moved to the top of the include list.
162 # http://llvm.org/docs/CodingStandards.html#include-style
163 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
165 KeepEmptyLinesAtTheStartOfBlocks: true