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 67IncludeBlocks: Regroup 68IncludeCategories: 69 - Regex: '^\"opt_.*\.h\"' 70 Priority: 1 71 SortPriority: 10 72 - Regex: '^<sys/cdefs\.h>' 73 Priority: 2 74 SortPriority: 20 75 - Regex: '^<sys/types\.h>' 76 Priority: 2 77 SortPriority: 21 78 - Regex: '^<sys/param\.h>' 79 Priority: 2 80 SortPriority: 22 81 - Regex: '^<sys.*/' 82 Priority: 2 83 SortPriority: 23 84 - Regex: '^<vm/vm\.h>' 85 Priority: 3 86 SortPriority: 30 87 - Regex: '^<vm/' 88 Priority: 3 89 SortPriority: 31 90 - Regex: '^<machine/' 91 Priority: 4 92 SortPriority: 40 93 - Regex: '^<(x86|amd64|i386|xen)/' 94 Priority: 5 95 SortPriority: 50 96 - Regex: '^<dev/' 97 Priority: 6 98 SortPriority: 60 99 - Regex: '^<net.*/' 100 Priority: 7 101 SortPriority: 70 102 - Regex: '^<protocols/' 103 Priority: 7 104 SortPriority: 71 105 - Regex: '^<(fs|nfs(|client|server)|ufs)/' 106 Priority: 8 107 SortPriority: 80 108 - Regex: '^<[^/].*\.h' 109 Priority: 9 110 SortPriority: 90 111 - Regex: '^\".*\.h\"' 112 Priority: 10 113 SortPriority: 100 114SortIncludes: true 115KeepEmptyLinesAtTheStartOfBlocks: true 116# The options below will only be supported starting with clang 9.0: 117# TODO-CLANG-9: TypenameMacros: 118# TODO-CLANG-9: - SLIST_HEAD 119# TODO-CLANG-9: - SLIST_ENTRY 120# TODO-CLANG-9: - TAILQ_ENTRY 121# TODO-CLANG-9: - TAILQ_HEAD 122# TODO-CLANG-9: - STAILQ_ENTRY 123# TODO-CLANG-9: - STAILQ_HEAD 124... 125