xref: /freebsd/.clang-format (revision 732a02b4e77866604a120a275c082bb6221bd2ff)
1# $FreeBSD$
2# Basic .clang-format
3---
4BasedOnStyle: WebKit
5AlignAfterOpenBracket: DontAlign
6AlignConsecutiveAssignments: false
7AlignConsecutiveDeclarations: false
8AlignEscapedNewlines: Left
9AlignOperands: false
10AlignTrailingComments: false
11AllowAllParametersOfDeclarationOnNextLine: false
12AllowShortBlocksOnASingleLine: false
13AllowShortCaseLabelsOnASingleLine: false
14AllowShortFunctionsOnASingleLine: InlineOnly
15AllowShortIfStatementsOnASingleLine: false
16AllowShortLoopsOnASingleLine: false
17AlwaysBreakAfterReturnType: TopLevelDefinitions
18AlwaysBreakBeforeMultilineStrings: false
19AlwaysBreakTemplateDeclarations: MultiLine
20BinPackArguments: true
21BinPackParameters: true
22BreakBeforeBinaryOperators: None
23BreakBeforeBraces: WebKit
24BreakBeforeTernaryOperators: false
25# TODO: BreakStringLiterals can cause very strange formatting so turn it off?
26BreakStringLiterals: false
27PenaltyBreakBeforeFirstCallParameter: 1000
28CompactNamespaces: true
29DerivePointerAlignment: false
30DisableFormat: false
31ForEachMacros:
32  - SLIST_FOREACH
33  - SLIST_FOREACH_SAFE
34  - LIST_FOREACH
35  - LIST_FOREACH_SAFE
36  - STAILQ_FOREACH
37  - STAILQ_FOREACH_SAFE
38  - TAILQ_FOREACH
39  - TAILQ_FOREACH_SAFE
40  - TAILQ_FOREACH_REVERSE
41  - TAILQ_FOREACH_REVERSE_SAFE
42  - RB_FOREACH
43  - RB_FOREACH_SAFE
44  - RB_FOREACH_FROM
45  - RB_FOREACH_REVERSE
46  - RB_FOREACH_REVERSE_FROM
47  - RB_FOREACH_REVERSE_SAFE
48  - FOREACH_THREAD_IN_PROC
49  - FOREACH_PROC_IN_SYSTEM
50  - FOREACH_PRISON_CHILD
51  - FOREACH_PRISON_DESCENDANT
52  - FOREACH_PRISON_DESCENDANT_LOCKED
53  - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
54  - MNT_VNODE_FOREACH_ALL
55  - MNT_VNODE_FOREACH_ACTIVE
56IndentCaseLabels: false
57IndentPPDirectives: None
58Language: Cpp
59NamespaceIndentation: None
60PointerAlignment: Right
61ContinuationIndentWidth: 4
62IndentWidth: 8
63TabWidth: 8
64ColumnLimit: 80
65UseTab: Always
66SpaceAfterCStyleCast: false
67SortIncludes: false
68KeepEmptyLinesAtTheStartOfBlocks: true
69# The options below will only be supported starting with clang 9.0:
70# TODO-CLANG-9: TypenameMacros:
71# TODO-CLANG-9:   - SLIST_HEAD
72# TODO-CLANG-9:   - SLIST_ENTRY
73# TODO-CLANG-9:   - TAILQ_ENTRY
74# TODO-CLANG-9:   - TAILQ_HEAD
75# TODO-CLANG-9:   - STAILQ_ENTRY
76# TODO-CLANG-9:   - STAILQ_HEAD
77...
78