1+ # Basic .clang-format
2+ ---
3+ BasedOnStyle : WebKit
4+ AlignAfterOpenBracket : DontAlign
5+ AlignConsecutiveAssignments : false
6+ AlignConsecutiveDeclarations : false
7+ AlignEscapedNewlines : Left
8+ AlignOperands : false
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
27+ # Prefer:
28+ # some_var = function(arg1,
29+ # arg2)
30+ # over:
31+ # some_var =
32+ # function(arg1, arg2)
33+ PenaltyBreakAssignment : 100
34+ # Prefer:
35+ # some_long_function(arg1, arg2
36+ # arg3)
37+ # over:
38+ # some_long_function(
39+ # arg1, arg2, arg3)
40+ PenaltyBreakBeforeFirstCallParameter : 100
41+ CompactNamespaces : true
42+ DerivePointerAlignment : false
43+ DisableFormat : false
44+ ForEachMacros :
45+ - ARB_ARRFOREACH
46+ - ARB_ARRFOREACH_REVWCOND
47+ - ARB_ARRFOREACH_REVERSE
48+ - ARB_FOREACH
49+ - ARB_FOREACH_FROM
50+ - ARB_FOREACH_SAFE
51+ - ARB_FOREACH_REVERSE
52+ - ARB_FOREACH_REVERSE_FROM
53+ - ARB_FOREACH_REVERSE_SAFE
54+ - BIT_FOREACH_ISCLR
55+ - BIT_FOREACH_ISSET
56+ - CPU_FOREACH
57+ - CPU_FOREACH_ISCLR
58+ - CPU_FOREACH_ISSET
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
67+ - RB_FOREACH
68+ - RB_FOREACH_FROM
69+ - RB_FOREACH_SAFE
70+ - RB_FOREACH_REVERSE
71+ - RB_FOREACH_REVERSE_FROM
72+ - RB_FOREACH_REVERSE_SAFE
73+ - SLIST_FOREACH
74+ - SLIST_FOREACH_FROM
75+ - SLIST_FOREACH_FROM_SAFE
76+ - SLIST_FOREACH_SAFE
77+ - SLIST_FOREACH_PREVPTR
78+ - SPLAY_FOREACH
79+ - LIST_FOREACH
80+ - LIST_FOREACH_FROM
81+ - LIST_FOREACH_FROM_SAFE
82+ - LIST_FOREACH_SAFE
83+ - STAILQ_FOREACH
84+ - STAILQ_FOREACH_FROM
85+ - STAILQ_FOREACH_FROM_SAFE
86+ - STAILQ_FOREACH_SAFE
87+ - TAILQ_FOREACH
88+ - TAILQ_FOREACH_FROM
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
94+ - TAILQ_FOREACH_SAFE
95+ - VM_MAP_ENTRY_FOREACH
96+ - VM_PAGE_DUMP_FOREACH
97+ IndentCaseLabels : false
98+ IndentPPDirectives : None
99+ Language : Cpp
100+ NamespaceIndentation : None
101+ PointerAlignment : Right
102+ ContinuationIndentWidth : 4
103+ IndentWidth : 8
104+ TabWidth : 8
105+ ColumnLimit : 80
106+ UseTab : Always
107+ SpaceAfterCStyleCast : false
108+ IncludeBlocks : Regroup
109+ IncludeCategories :
110+ - Regex : ' ^\"opt_.*\.h\"'
111+ Priority : 1
112+ SortPriority : 10
113+ - Regex : ' ^<sys/cdefs\.h>'
114+ Priority : 2
115+ SortPriority : 20
116+ - Regex : ' ^<sys/types\.h>'
117+ Priority : 2
118+ SortPriority : 21
119+ - Regex : ' ^<sys/param\.h>'
120+ Priority : 2
121+ SortPriority : 22
122+ - Regex : ' ^<sys/systm\.h>'
123+ Priority : 2
124+ SortPriority : 23
125+ - Regex : ' ^<sys.*/'
126+ Priority : 2
127+ SortPriority : 24
128+ - Regex : ' ^<vm/vm\.h>'
129+ Priority : 3
130+ SortPriority : 30
131+ - Regex : ' ^<vm/'
132+ Priority : 3
133+ SortPriority : 31
134+ - Regex : ' ^<machine/'
135+ Priority : 4
136+ SortPriority : 40
137+ - Regex : ' ^<(x86|amd64|i386|xen)/'
138+ Priority : 5
139+ SortPriority : 50
140+ - Regex : ' ^<dev/'
141+ Priority : 6
142+ SortPriority : 60
143+ - Regex : ' ^<net.*/'
144+ Priority : 7
145+ SortPriority : 70
146+ - Regex : ' ^<protocols/'
147+ Priority : 7
148+ SortPriority : 71
149+ - Regex : ' ^<(fs|nfs(|client|server)|ufs)/'
150+ Priority : 8
151+ SortPriority : 80
152+ - Regex : ' ^<[^/].*\.h'
153+ Priority : 9
154+ SortPriority : 90
155+ - Regex : ' ^\".*\.h\"'
156+ Priority : 10
157+ SortPriority : 100
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'
164+ SortIncludes : true
165+ KeepEmptyLinesAtTheStartOfBlocks : true
166+ TypenameMacros :
167+ - ARB_ELMTYPE
168+ - ARB_HEAD
169+ - ARB8_HEAD
170+ - ARB16_HEAD
171+ - ARB32_HEAD
172+ - ARB_ENTRY
173+ - ARB8_ENTRY
174+ - ARB16_ENTRY
175+ - ARB32_ENTRY
176+ - LIST_CLASS_ENTRY
177+ - LIST_CLASS_HEAD
178+ - LIST_ENTRY
179+ - LIST_HEAD
180+ - QUEUE_TYPEOF
181+ - RB_ENTRY
182+ - RB_HEAD
183+ - SLIST_CLASS_HEAD
184+ - SLIST_CLASS_ENTRY
185+ - SLIST_HEAD
186+ - SLIST_ENTRY
187+ - SMR_POINTER
188+ - SPLAY_ENTRY
189+ - SPLAY_HEAD
190+ - STAILQ_CLASS_ENTRY
191+ - STAILQ_CLASS_HEAD
192+ - STAILQ_ENTRY
193+ - STAILQ_HEAD
194+ - TAILQ_CLASS_ENTRY
195+ - TAILQ_CLASS_HEAD
196+ - TAILQ_ENTRY
197+ - TAILQ_HEAD
0 commit comments