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
56 - FOREACH_THREAD_IN_PROC
57 - FOREACH_PROC_IN_SYSTEM
58 - FOREACH_PRISON_CHILD
59 - FOREACH_PRISON_DESCENDANT
60 - FOREACH_PRISON_DESCENDANT_LOCKED
61 - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
62 - MNT_VNODE_FOREACH_ALL
63 - MNT_VNODE_FOREACH_ACTIVE
68 - RB_FOREACH_REVERSE_FROM
69 - RB_FOREACH_REVERSE_SAFE
72 - SLIST_FOREACH_FROM_SAFE
74 - SLIST_FOREACH_PREVPTR
78 - LIST_FOREACH_FROM_SAFE
82 - STAILQ_FOREACH_FROM_SAFE
86 - TAILQ_FOREACH_FROM_SAFE
87 - TAILQ_FOREACH_REVERSE
88 - TAILQ_FOREACH_REVERSE_FROM
89 - TAILQ_FOREACH_REVERSE_FROM_SAFE
90 - TAILQ_FOREACH_REVERSE_SAFE
92 - VM_MAP_ENTRY_FOREACH
93 - VM_PAGE_DUMP_FOREACH
94 IndentCaseLabels: false
95 IndentPPDirectives: None
97 NamespaceIndentation: None
98 PointerAlignment: Right
99 ContinuationIndentWidth: 4
104 SpaceAfterCStyleCast: false
105 IncludeBlocks: Regroup
107 - Regex: '^\"opt_.*\.h\"'
110 - Regex: '^<sys/cdefs\.h>'
113 - Regex: '^<sys/types\.h>'
116 - Regex: '^<sys/param\.h>'
119 - Regex: '^<sys/systm\.h>'
125 - Regex: '^<vm/vm\.h>'
131 - Regex: '^<machine/'
134 - Regex: '^<(x86|amd64|i386|xen)/'
143 - Regex: '^<protocols/'
146 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
149 - Regex: '^<[^/].*\.h'
152 - Regex: '^\".*\.h\"'
155 # LLVM's header include ordering style is almost the exact opposite of ours.
156 # Unfortunately, they have hard-coded their preferences into clang-format.
157 # Clobbering this regular expression to avoid matching prevents non-system
158 # headers from being forcibly moved to the top of the include list.
159 # http://llvm.org/docs/CodingStandards.html#include-style
160 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
162 KeepEmptyLinesAtTheStartOfBlocks: true