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