xref: /freebsd/.clang-format (revision e59d5d14)
1b0f20f11SAlex Richardson# $FreeBSD$
2b0f20f11SAlex Richardson# Basic .clang-format
3b0f20f11SAlex Richardson---
4b0f20f11SAlex RichardsonBasedOnStyle: WebKit
5b0f20f11SAlex RichardsonAlignAfterOpenBracket: DontAlign
6b0f20f11SAlex RichardsonAlignConsecutiveAssignments: false
7b0f20f11SAlex RichardsonAlignConsecutiveDeclarations: false
8b0f20f11SAlex RichardsonAlignEscapedNewlines: Left
9b0f20f11SAlex RichardsonAlignOperands: false
10b0f20f11SAlex RichardsonAlignTrailingComments: false
11b0f20f11SAlex RichardsonAllowAllParametersOfDeclarationOnNextLine: false
12b0f20f11SAlex RichardsonAllowShortBlocksOnASingleLine: false
13b0f20f11SAlex RichardsonAllowShortCaseLabelsOnASingleLine: false
14b0f20f11SAlex RichardsonAllowShortFunctionsOnASingleLine: InlineOnly
15b0f20f11SAlex RichardsonAllowShortIfStatementsOnASingleLine: false
16b0f20f11SAlex RichardsonAllowShortLoopsOnASingleLine: false
17b0f20f11SAlex RichardsonAlwaysBreakAfterReturnType: TopLevelDefinitions
18b0f20f11SAlex RichardsonAlwaysBreakBeforeMultilineStrings: false
19b0f20f11SAlex RichardsonAlwaysBreakTemplateDeclarations: MultiLine
20b0f20f11SAlex RichardsonBinPackArguments: true
21b0f20f11SAlex RichardsonBinPackParameters: true
22b0f20f11SAlex RichardsonBreakBeforeBinaryOperators: None
23b0f20f11SAlex RichardsonBreakBeforeBraces: WebKit
24b0f20f11SAlex RichardsonBreakBeforeTernaryOperators: false
25b0f20f11SAlex Richardson# TODO: BreakStringLiterals can cause very strange formatting so turn it off?
26b0f20f11SAlex RichardsonBreakStringLiterals: false
27b0f20f11SAlex RichardsonPenaltyBreakBeforeFirstCallParameter: 1000
28b0f20f11SAlex RichardsonCompactNamespaces: true
29b0f20f11SAlex RichardsonDerivePointerAlignment: false
30b0f20f11SAlex RichardsonDisableFormat: false
31b0f20f11SAlex RichardsonForEachMacros:
32b0f20f11SAlex Richardson  - SLIST_FOREACH
33b0f20f11SAlex Richardson  - SLIST_FOREACH_SAFE
34b0f20f11SAlex Richardson  - LIST_FOREACH
35b0f20f11SAlex Richardson  - LIST_FOREACH_SAFE
36b0f20f11SAlex Richardson  - STAILQ_FOREACH
37b0f20f11SAlex Richardson  - STAILQ_FOREACH_SAFE
38b0f20f11SAlex Richardson  - TAILQ_FOREACH
39b0f20f11SAlex Richardson  - TAILQ_FOREACH_SAFE
40b0f20f11SAlex Richardson  - TAILQ_FOREACH_REVERSE
41b0f20f11SAlex Richardson  - TAILQ_FOREACH_REVERSE_SAFE
42b0f20f11SAlex Richardson  - RB_FOREACH
43b0f20f11SAlex Richardson  - RB_FOREACH_SAFE
44b0f20f11SAlex Richardson  - RB_FOREACH_FROM
45b0f20f11SAlex Richardson  - RB_FOREACH_REVERSE
46b0f20f11SAlex Richardson  - RB_FOREACH_REVERSE_FROM
47b0f20f11SAlex Richardson  - RB_FOREACH_REVERSE_SAFE
48b0f20f11SAlex Richardson  - FOREACH_THREAD_IN_PROC
49b0f20f11SAlex Richardson  - FOREACH_PROC_IN_SYSTEM
50b0f20f11SAlex Richardson  - FOREACH_PRISON_CHILD
51b0f20f11SAlex Richardson  - FOREACH_PRISON_DESCENDANT
52b0f20f11SAlex Richardson  - FOREACH_PRISON_DESCENDANT_LOCKED
53b0f20f11SAlex Richardson  - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
54b0f20f11SAlex Richardson  - MNT_VNODE_FOREACH_ALL
55b0f20f11SAlex Richardson  - MNT_VNODE_FOREACH_ACTIVE
56b0f20f11SAlex RichardsonIndentCaseLabels: false
57b0f20f11SAlex RichardsonIndentPPDirectives: None
58b0f20f11SAlex RichardsonLanguage: Cpp
59b0f20f11SAlex RichardsonNamespaceIndentation: None
60b0f20f11SAlex RichardsonPointerAlignment: Right
61b0f20f11SAlex RichardsonContinuationIndentWidth: 4
62b0f20f11SAlex RichardsonIndentWidth: 8
63b0f20f11SAlex RichardsonTabWidth: 8
64b0f20f11SAlex RichardsonColumnLimit: 80
65b0f20f11SAlex RichardsonUseTab: Always
66b0f20f11SAlex RichardsonSpaceAfterCStyleCast: false
67e59d5d14SConrad MeyerIncludeBlocks: Regroup
68e59d5d14SConrad MeyerIncludeCategories:
69e59d5d14SConrad Meyer  - Regex: '^\"opt_.*\.h\"'
70e59d5d14SConrad Meyer    Priority: 1
71e59d5d14SConrad Meyer    SortPriority: 10
72e59d5d14SConrad Meyer  - Regex: '^<sys/cdefs\.h>'
73e59d5d14SConrad Meyer    Priority: 2
74e59d5d14SConrad Meyer    SortPriority: 20
75e59d5d14SConrad Meyer  - Regex: '^<sys/types\.h>'
76e59d5d14SConrad Meyer    Priority: 2
77e59d5d14SConrad Meyer    SortPriority: 21
78e59d5d14SConrad Meyer  - Regex: '^<sys/param\.h>'
79e59d5d14SConrad Meyer    Priority: 2
80e59d5d14SConrad Meyer    SortPriority: 22
81e59d5d14SConrad Meyer  - Regex: '^<sys.*/'
82e59d5d14SConrad Meyer    Priority: 2
83e59d5d14SConrad Meyer    SortPriority: 23
84e59d5d14SConrad Meyer  - Regex: '^<vm/vm\.h>'
85e59d5d14SConrad Meyer    Priority: 3
86e59d5d14SConrad Meyer    SortPriority: 30
87e59d5d14SConrad Meyer  - Regex: '^<vm/'
88e59d5d14SConrad Meyer    Priority: 3
89e59d5d14SConrad Meyer    SortPriority: 31
90e59d5d14SConrad Meyer  - Regex: '^<machine/'
91e59d5d14SConrad Meyer    Priority: 4
92e59d5d14SConrad Meyer    SortPriority: 40
93e59d5d14SConrad Meyer  - Regex: '^<(x86|amd64|i386|xen)/'
94e59d5d14SConrad Meyer    Priority: 5
95e59d5d14SConrad Meyer    SortPriority: 50
96e59d5d14SConrad Meyer  - Regex: '^<dev/'
97e59d5d14SConrad Meyer    Priority: 6
98e59d5d14SConrad Meyer    SortPriority: 60
99e59d5d14SConrad Meyer  - Regex: '^<net.*/'
100e59d5d14SConrad Meyer    Priority: 7
101e59d5d14SConrad Meyer    SortPriority: 70
102e59d5d14SConrad Meyer  - Regex: '^<protocols/'
103e59d5d14SConrad Meyer    Priority: 7
104e59d5d14SConrad Meyer    SortPriority: 71
105e59d5d14SConrad Meyer  - Regex: '^<(fs|nfs(|client|server)|ufs)/'
106e59d5d14SConrad Meyer    Priority: 8
107e59d5d14SConrad Meyer    SortPriority: 80
108e59d5d14SConrad Meyer  - Regex: '^<[^/].*\.h'
109e59d5d14SConrad Meyer    Priority: 9
110e59d5d14SConrad Meyer    SortPriority: 90
111e59d5d14SConrad Meyer  - Regex: '^\".*\.h\"'
112e59d5d14SConrad Meyer    Priority: 10
113e59d5d14SConrad Meyer    SortPriority: 100
114e59d5d14SConrad MeyerSortIncludes: true
115b0f20f11SAlex RichardsonKeepEmptyLinesAtTheStartOfBlocks: true
116b0f20f11SAlex Richardson# The options below will only be supported starting with clang 9.0:
117b0f20f11SAlex Richardson# TODO-CLANG-9: TypenameMacros:
118b0f20f11SAlex Richardson# TODO-CLANG-9:   - SLIST_HEAD
119b0f20f11SAlex Richardson# TODO-CLANG-9:   - SLIST_ENTRY
120b0f20f11SAlex Richardson# TODO-CLANG-9:   - TAILQ_ENTRY
121b0f20f11SAlex Richardson# TODO-CLANG-9:   - TAILQ_HEAD
122b0f20f11SAlex Richardson# TODO-CLANG-9:   - STAILQ_ENTRY
123b0f20f11SAlex Richardson# TODO-CLANG-9:   - STAILQ_HEAD
124b0f20f11SAlex Richardson...
125