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 1022a39a89SAlex RichardsonAlignTrailingComments: true 11b0f20f11SAlex RichardsonAllowAllParametersOfDeclarationOnNextLine: false 128efceeb6SAlex RichardsonAllowShortBlocksOnASingleLine: Never 13b0f20f11SAlex RichardsonAllowShortCaseLabelsOnASingleLine: false 14b0f20f11SAlex RichardsonAllowShortFunctionsOnASingleLine: InlineOnly 158efceeb6SAlex RichardsonAllowShortIfStatementsOnASingleLine: Never 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: 329e8fd9d8SConrad Meyer - ARB_ARRFOREACH 339e8fd9d8SConrad Meyer - ARB_ARRFOREACH_REVWCOND 349e8fd9d8SConrad Meyer - ARB_ARRFOREACH_REVERSE 359e8fd9d8SConrad Meyer - ARB_FOREACH 369e8fd9d8SConrad Meyer - ARB_FOREACH_FROM 379e8fd9d8SConrad Meyer - ARB_FOREACH_SAFE 389e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE 399e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE_FROM 409e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE_SAFE 419e8fd9d8SConrad Meyer - CPU_FOREACH 42b0f20f11SAlex Richardson - FOREACH_THREAD_IN_PROC 43b0f20f11SAlex Richardson - FOREACH_PROC_IN_SYSTEM 44b0f20f11SAlex Richardson - FOREACH_PRISON_CHILD 45b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT 46b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT_LOCKED 47b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL 48b0f20f11SAlex Richardson - MNT_VNODE_FOREACH_ALL 49b0f20f11SAlex Richardson - MNT_VNODE_FOREACH_ACTIVE 509e8fd9d8SConrad Meyer - RB_FOREACH 519e8fd9d8SConrad Meyer - RB_FOREACH_FROM 529e8fd9d8SConrad Meyer - RB_FOREACH_SAFE 539e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE 549e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE_FROM 559e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE_SAFE 569e8fd9d8SConrad Meyer - SLIST_FOREACH 579e8fd9d8SConrad Meyer - SLIST_FOREACH_FROM 589e8fd9d8SConrad Meyer - SLIST_FOREACH_FROM_SAFE 599e8fd9d8SConrad Meyer - SLIST_FOREACH_SAFE 609e8fd9d8SConrad Meyer - SLIST_FOREACH_PREVPTR 619e8fd9d8SConrad Meyer - SPLAY_FOREACH 629e8fd9d8SConrad Meyer - LIST_FOREACH 639e8fd9d8SConrad Meyer - LIST_FOREACH_FROM 649e8fd9d8SConrad Meyer - LIST_FOREACH_FROM_SAFE 659e8fd9d8SConrad Meyer - LIST_FOREACH_SAFE 669e8fd9d8SConrad Meyer - STAILQ_FOREACH 679e8fd9d8SConrad Meyer - STAILQ_FOREACH_FROM 689e8fd9d8SConrad Meyer - STAILQ_FOREACH_FROM_SAFE 699e8fd9d8SConrad Meyer - STAILQ_FOREACH_SAFE 709e8fd9d8SConrad Meyer - TAILQ_FOREACH 719e8fd9d8SConrad Meyer - TAILQ_FOREACH_FROM 729e8fd9d8SConrad Meyer - TAILQ_FOREACH_FROM_SAFE 739e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE 749e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_FROM 759e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_FROM_SAFE 769e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_SAFE 779e8fd9d8SConrad Meyer - TAILQ_FOREACH_SAFE 789e8fd9d8SConrad Meyer - VM_MAP_ENTRY_FOREACH 79ab041f71SD Scott Phillips - VM_PAGE_DUMP_FOREACH 80b0f20f11SAlex RichardsonIndentCaseLabels: false 81b0f20f11SAlex RichardsonIndentPPDirectives: None 82b0f20f11SAlex RichardsonLanguage: Cpp 83b0f20f11SAlex RichardsonNamespaceIndentation: None 84b0f20f11SAlex RichardsonPointerAlignment: Right 85b0f20f11SAlex RichardsonContinuationIndentWidth: 4 86b0f20f11SAlex RichardsonIndentWidth: 8 87b0f20f11SAlex RichardsonTabWidth: 8 88b0f20f11SAlex RichardsonColumnLimit: 80 89b0f20f11SAlex RichardsonUseTab: Always 90b0f20f11SAlex RichardsonSpaceAfterCStyleCast: false 91e59d5d14SConrad MeyerIncludeBlocks: Regroup 92e59d5d14SConrad MeyerIncludeCategories: 93e59d5d14SConrad Meyer - Regex: '^\"opt_.*\.h\"' 94e59d5d14SConrad Meyer Priority: 1 95e59d5d14SConrad Meyer SortPriority: 10 96e59d5d14SConrad Meyer - Regex: '^<sys/cdefs\.h>' 97e59d5d14SConrad Meyer Priority: 2 98e59d5d14SConrad Meyer SortPriority: 20 99e59d5d14SConrad Meyer - Regex: '^<sys/types\.h>' 100e59d5d14SConrad Meyer Priority: 2 101e59d5d14SConrad Meyer SortPriority: 21 102e59d5d14SConrad Meyer - Regex: '^<sys/param\.h>' 103e59d5d14SConrad Meyer Priority: 2 104e59d5d14SConrad Meyer SortPriority: 22 105e59d5d14SConrad Meyer - Regex: '^<sys.*/' 106e59d5d14SConrad Meyer Priority: 2 107e59d5d14SConrad Meyer SortPriority: 23 108e59d5d14SConrad Meyer - Regex: '^<vm/vm\.h>' 109e59d5d14SConrad Meyer Priority: 3 110e59d5d14SConrad Meyer SortPriority: 30 111e59d5d14SConrad Meyer - Regex: '^<vm/' 112e59d5d14SConrad Meyer Priority: 3 113e59d5d14SConrad Meyer SortPriority: 31 114e59d5d14SConrad Meyer - Regex: '^<machine/' 115e59d5d14SConrad Meyer Priority: 4 116e59d5d14SConrad Meyer SortPriority: 40 117e59d5d14SConrad Meyer - Regex: '^<(x86|amd64|i386|xen)/' 118e59d5d14SConrad Meyer Priority: 5 119e59d5d14SConrad Meyer SortPriority: 50 120e59d5d14SConrad Meyer - Regex: '^<dev/' 121e59d5d14SConrad Meyer Priority: 6 122e59d5d14SConrad Meyer SortPriority: 60 123e59d5d14SConrad Meyer - Regex: '^<net.*/' 124e59d5d14SConrad Meyer Priority: 7 125e59d5d14SConrad Meyer SortPriority: 70 126e59d5d14SConrad Meyer - Regex: '^<protocols/' 127e59d5d14SConrad Meyer Priority: 7 128e59d5d14SConrad Meyer SortPriority: 71 129e59d5d14SConrad Meyer - Regex: '^<(fs|nfs(|client|server)|ufs)/' 130e59d5d14SConrad Meyer Priority: 8 131e59d5d14SConrad Meyer SortPriority: 80 132e59d5d14SConrad Meyer - Regex: '^<[^/].*\.h' 133e59d5d14SConrad Meyer Priority: 9 134e59d5d14SConrad Meyer SortPriority: 90 135e59d5d14SConrad Meyer - Regex: '^\".*\.h\"' 136e59d5d14SConrad Meyer Priority: 10 137e59d5d14SConrad Meyer SortPriority: 100 138a8caa639SConrad Meyer# LLVM's header include ordering style is almost the exact opposite of ours. 139a8caa639SConrad Meyer# Unfortunately, they have hard-coded their preferences into clang-format. 140a8caa639SConrad Meyer# Clobbering this regular expression to avoid matching prevents non-system 141a8caa639SConrad Meyer# headers from being forcibly moved to the top of the include list. 142a8caa639SConrad Meyer# http://llvm.org/docs/CodingStandards.html#include-style 143a8caa639SConrad MeyerIncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING' 144e59d5d14SConrad MeyerSortIncludes: true 145b0f20f11SAlex RichardsonKeepEmptyLinesAtTheStartOfBlocks: true 1469e8fd9d8SConrad MeyerTypenameMacros: 1479e8fd9d8SConrad Meyer - ARB_ELMTYPE 1489e8fd9d8SConrad Meyer - ARB_HEAD 1499e8fd9d8SConrad Meyer - ARB8_HEAD 1509e8fd9d8SConrad Meyer - ARB16_HEAD 1519e8fd9d8SConrad Meyer - ARB32_HEAD 1529e8fd9d8SConrad Meyer - ARB_ENTRY 1539e8fd9d8SConrad Meyer - ARB8_ENTRY 1549e8fd9d8SConrad Meyer - ARB16_ENTRY 1559e8fd9d8SConrad Meyer - ARB32_ENTRY 1569e8fd9d8SConrad Meyer - LIST_CLASS_ENTRY 1579e8fd9d8SConrad Meyer - LIST_CLASS_HEAD 1589e8fd9d8SConrad Meyer - LIST_ENTRY 1599e8fd9d8SConrad Meyer - LIST_HEAD 1609e8fd9d8SConrad Meyer - QUEUE_TYPEOF 1619e8fd9d8SConrad Meyer - RB_ENTRY 1629e8fd9d8SConrad Meyer - RB_HEAD 1639e8fd9d8SConrad Meyer - SLIST_CLASS_HEAD 1649e8fd9d8SConrad Meyer - SLIST_CLASS_ENTRY 1659e8fd9d8SConrad Meyer - SLIST_HEAD 1669e8fd9d8SConrad Meyer - SLIST_ENTRY 1679e8fd9d8SConrad Meyer - SMR_POINTER 1689e8fd9d8SConrad Meyer - SPLAY_ENTRY 1699e8fd9d8SConrad Meyer - SPLAY_HEAD 1709e8fd9d8SConrad Meyer - STAILQ_CLASS_ENTRY 1719e8fd9d8SConrad Meyer - STAILQ_CLASS_HEAD 1729e8fd9d8SConrad Meyer - STAILQ_ENTRY 1739e8fd9d8SConrad Meyer - STAILQ_HEAD 1749e8fd9d8SConrad Meyer - TAILQ_CLASS_ENTRY 1759e8fd9d8SConrad Meyer - TAILQ_CLASS_HEAD 1769e8fd9d8SConrad Meyer - TAILQ_ENTRY 1779e8fd9d8SConrad Meyer - TAILQ_HEAD 178