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