4 AlignAfterOpenBracket: DontAlign
5 AlignConsecutiveMacros: AcrossEmptyLines
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 SpaceBeforeParens: ControlStatementsExceptForEachMacros
99 IndentCaseLabels: false
100 IndentPPDirectives: None
102 NamespaceIndentation: None
103 PointerAlignment: Right
104 ContinuationIndentWidth: 4
109 SpaceAfterCStyleCast: false
110 IncludeBlocks: Regroup
112 - Regex: '^\"opt_.*\.h\"'
115 - Regex: '^<sys/cdefs\.h>'
118 - Regex: '^<sys/types\.h>'
121 - Regex: '^<sys/param\.h>'
124 - Regex: '^<sys/systm\.h>'
130 - Regex: '^<vm/vm\.h>'
136 - Regex: '^<machine/'
139 - Regex: '^<(x86|amd64|i386|xen)/'
148 - Regex: '^<protocols/'
151 - Regex: '^<(fs|nfs(|client|server)|ufs)/'
154 - Regex: '^<[^/].*\.h'
157 - Regex: '^\".*\.h\"'
160 # LLVM's header include ordering style is almost the exact opposite of ours.
161 # Unfortunately, they have hard-coded their preferences into clang-format.
162 # Clobbering this regular expression to avoid matching prevents non-system
163 # headers from being forcibly moved to the top of the include list.
164 # http://llvm.org/docs/CodingStandards.html#include-style
165 IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
167 KeepEmptyLinesAtTheStartOfBlocks: false