1b0f20f11SAlex Richardson# Basic .clang-format 2b0f20f11SAlex Richardson--- 3b0f20f11SAlex RichardsonBasedOnStyle: WebKit 4b0f20f11SAlex RichardsonAlignAfterOpenBracket: DontAlign 5*2c18289bSMark JohnstonAlignConsecutiveMacros: AcrossEmptyLines 6b0f20f11SAlex RichardsonAlignConsecutiveAssignments: false 7b0f20f11SAlex RichardsonAlignConsecutiveDeclarations: false 8b0f20f11SAlex RichardsonAlignEscapedNewlines: Left 9b0f20f11SAlex RichardsonAlignOperands: false 1022a39a89SAlex RichardsonAlignTrailingComments: true 1171167bd5SAlex RichardsonAllowAllArgumentsOnNextLine: false 12b0f20f11SAlex RichardsonAllowAllParametersOfDeclarationOnNextLine: false 138efceeb6SAlex RichardsonAllowShortBlocksOnASingleLine: Never 14b0f20f11SAlex RichardsonAllowShortCaseLabelsOnASingleLine: false 15b0f20f11SAlex RichardsonAllowShortFunctionsOnASingleLine: InlineOnly 168efceeb6SAlex RichardsonAllowShortIfStatementsOnASingleLine: Never 17b0f20f11SAlex RichardsonAllowShortLoopsOnASingleLine: false 18b0f20f11SAlex RichardsonAlwaysBreakAfterReturnType: TopLevelDefinitions 19b0f20f11SAlex RichardsonAlwaysBreakBeforeMultilineStrings: false 20b0f20f11SAlex RichardsonAlwaysBreakTemplateDeclarations: MultiLine 21b0f20f11SAlex RichardsonBinPackArguments: true 22b0f20f11SAlex RichardsonBinPackParameters: true 23b0f20f11SAlex RichardsonBreakBeforeBinaryOperators: None 24b0f20f11SAlex RichardsonBreakBeforeBraces: WebKit 25b0f20f11SAlex RichardsonBreakBeforeTernaryOperators: false 26b0f20f11SAlex Richardson# TODO: BreakStringLiterals can cause very strange formatting so turn it off? 27b0f20f11SAlex RichardsonBreakStringLiterals: false 2871167bd5SAlex Richardson# Prefer: 2971167bd5SAlex Richardson# some_var = function(arg1, 3071167bd5SAlex Richardson# arg2) 3171167bd5SAlex Richardson# over: 3271167bd5SAlex Richardson# some_var = 3371167bd5SAlex Richardson# function(arg1, arg2) 3471167bd5SAlex RichardsonPenaltyBreakAssignment: 100 3571167bd5SAlex Richardson# Prefer: 3671167bd5SAlex Richardson# some_long_function(arg1, arg2 3771167bd5SAlex Richardson# arg3) 3871167bd5SAlex Richardson# over: 3971167bd5SAlex Richardson# some_long_function( 4071167bd5SAlex Richardson# arg1, arg2, arg3) 4171167bd5SAlex RichardsonPenaltyBreakBeforeFirstCallParameter: 100 42b0f20f11SAlex RichardsonCompactNamespaces: true 43b0f20f11SAlex RichardsonDerivePointerAlignment: false 44b0f20f11SAlex RichardsonDisableFormat: false 45b0f20f11SAlex RichardsonForEachMacros: 469e8fd9d8SConrad Meyer - ARB_ARRFOREACH 479e8fd9d8SConrad Meyer - ARB_ARRFOREACH_REVWCOND 489e8fd9d8SConrad Meyer - ARB_ARRFOREACH_REVERSE 499e8fd9d8SConrad Meyer - ARB_FOREACH 509e8fd9d8SConrad Meyer - ARB_FOREACH_FROM 519e8fd9d8SConrad Meyer - ARB_FOREACH_SAFE 529e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE 539e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE_FROM 549e8fd9d8SConrad Meyer - ARB_FOREACH_REVERSE_SAFE 55a3e3d908SMark Johnston - BIT_FOREACH_ISCLR 56a3e3d908SMark Johnston - BIT_FOREACH_ISSET 579e8fd9d8SConrad Meyer - CPU_FOREACH 58a3e3d908SMark Johnston - CPU_FOREACH_ISCLR 59a3e3d908SMark Johnston - CPU_FOREACH_ISSET 60b0f20f11SAlex Richardson - FOREACH_THREAD_IN_PROC 61b0f20f11SAlex Richardson - FOREACH_PROC_IN_SYSTEM 62b0f20f11SAlex Richardson - FOREACH_PRISON_CHILD 63b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT 64b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT_LOCKED 65b0f20f11SAlex Richardson - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL 66b0f20f11SAlex Richardson - MNT_VNODE_FOREACH_ALL 67b0f20f11SAlex Richardson - MNT_VNODE_FOREACH_ACTIVE 689e8fd9d8SConrad Meyer - RB_FOREACH 699e8fd9d8SConrad Meyer - RB_FOREACH_FROM 709e8fd9d8SConrad Meyer - RB_FOREACH_SAFE 719e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE 729e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE_FROM 739e8fd9d8SConrad Meyer - RB_FOREACH_REVERSE_SAFE 749e8fd9d8SConrad Meyer - SLIST_FOREACH 759e8fd9d8SConrad Meyer - SLIST_FOREACH_FROM 769e8fd9d8SConrad Meyer - SLIST_FOREACH_FROM_SAFE 779e8fd9d8SConrad Meyer - SLIST_FOREACH_SAFE 789e8fd9d8SConrad Meyer - SLIST_FOREACH_PREVPTR 799e8fd9d8SConrad Meyer - SPLAY_FOREACH 809e8fd9d8SConrad Meyer - LIST_FOREACH 819e8fd9d8SConrad Meyer - LIST_FOREACH_FROM 829e8fd9d8SConrad Meyer - LIST_FOREACH_FROM_SAFE 839e8fd9d8SConrad Meyer - LIST_FOREACH_SAFE 849e8fd9d8SConrad Meyer - STAILQ_FOREACH 859e8fd9d8SConrad Meyer - STAILQ_FOREACH_FROM 869e8fd9d8SConrad Meyer - STAILQ_FOREACH_FROM_SAFE 879e8fd9d8SConrad Meyer - STAILQ_FOREACH_SAFE 889e8fd9d8SConrad Meyer - TAILQ_FOREACH 899e8fd9d8SConrad Meyer - TAILQ_FOREACH_FROM 909e8fd9d8SConrad Meyer - TAILQ_FOREACH_FROM_SAFE 919e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE 929e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_FROM 939e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_FROM_SAFE 949e8fd9d8SConrad Meyer - TAILQ_FOREACH_REVERSE_SAFE 959e8fd9d8SConrad Meyer - TAILQ_FOREACH_SAFE 969e8fd9d8SConrad Meyer - VM_MAP_ENTRY_FOREACH 97ab041f71SD Scott Phillips - VM_PAGE_DUMP_FOREACH 98*2c18289bSMark JohnstonSpaceBeforeParens: ControlStatementsExceptForEachMacros 99b0f20f11SAlex RichardsonIndentCaseLabels: false 100b0f20f11SAlex RichardsonIndentPPDirectives: None 101b0f20f11SAlex RichardsonLanguage: Cpp 102b0f20f11SAlex RichardsonNamespaceIndentation: None 103b0f20f11SAlex RichardsonPointerAlignment: Right 104b0f20f11SAlex RichardsonContinuationIndentWidth: 4 105b0f20f11SAlex RichardsonIndentWidth: 8 106b0f20f11SAlex RichardsonTabWidth: 8 107b0f20f11SAlex RichardsonColumnLimit: 80 108b0f20f11SAlex RichardsonUseTab: Always 109b0f20f11SAlex RichardsonSpaceAfterCStyleCast: false 110e59d5d14SConrad MeyerIncludeBlocks: Regroup 111e59d5d14SConrad MeyerIncludeCategories: 112e59d5d14SConrad Meyer - Regex: '^\"opt_.*\.h\"' 113e59d5d14SConrad Meyer Priority: 1 114e59d5d14SConrad Meyer SortPriority: 10 115e59d5d14SConrad Meyer - Regex: '^<sys/cdefs\.h>' 116e59d5d14SConrad Meyer Priority: 2 117e59d5d14SConrad Meyer SortPriority: 20 118e59d5d14SConrad Meyer - Regex: '^<sys/types\.h>' 119e59d5d14SConrad Meyer Priority: 2 120e59d5d14SConrad Meyer SortPriority: 21 121e59d5d14SConrad Meyer - Regex: '^<sys/param\.h>' 122e59d5d14SConrad Meyer Priority: 2 123e59d5d14SConrad Meyer SortPriority: 22 124453d775bSAlex Richardson - Regex: '^<sys/systm\.h>' 125e59d5d14SConrad Meyer Priority: 2 126e59d5d14SConrad Meyer SortPriority: 23 127453d775bSAlex Richardson - Regex: '^<sys.*/' 128453d775bSAlex Richardson Priority: 2 129453d775bSAlex Richardson SortPriority: 24 130e59d5d14SConrad Meyer - Regex: '^<vm/vm\.h>' 131e59d5d14SConrad Meyer Priority: 3 132e59d5d14SConrad Meyer SortPriority: 30 133e59d5d14SConrad Meyer - Regex: '^<vm/' 134e59d5d14SConrad Meyer Priority: 3 135e59d5d14SConrad Meyer SortPriority: 31 136e59d5d14SConrad Meyer - Regex: '^<machine/' 137e59d5d14SConrad Meyer Priority: 4 138e59d5d14SConrad Meyer SortPriority: 40 139e59d5d14SConrad Meyer - Regex: '^<(x86|amd64|i386|xen)/' 140e59d5d14SConrad Meyer Priority: 5 141e59d5d14SConrad Meyer SortPriority: 50 142e59d5d14SConrad Meyer - Regex: '^<dev/' 143e59d5d14SConrad Meyer Priority: 6 144e59d5d14SConrad Meyer SortPriority: 60 145e59d5d14SConrad Meyer - Regex: '^<net.*/' 146e59d5d14SConrad Meyer Priority: 7 147e59d5d14SConrad Meyer SortPriority: 70 148e59d5d14SConrad Meyer - Regex: '^<protocols/' 149e59d5d14SConrad Meyer Priority: 7 150e59d5d14SConrad Meyer SortPriority: 71 151e59d5d14SConrad Meyer - Regex: '^<(fs|nfs(|client|server)|ufs)/' 152e59d5d14SConrad Meyer Priority: 8 153e59d5d14SConrad Meyer SortPriority: 80 154e59d5d14SConrad Meyer - Regex: '^<[^/].*\.h' 155e59d5d14SConrad Meyer Priority: 9 156e59d5d14SConrad Meyer SortPriority: 90 157e59d5d14SConrad Meyer - Regex: '^\".*\.h\"' 158e59d5d14SConrad Meyer Priority: 10 159e59d5d14SConrad Meyer SortPriority: 100 160a8caa639SConrad Meyer# LLVM's header include ordering style is almost the exact opposite of ours. 161a8caa639SConrad Meyer# Unfortunately, they have hard-coded their preferences into clang-format. 162a8caa639SConrad Meyer# Clobbering this regular expression to avoid matching prevents non-system 163a8caa639SConrad Meyer# headers from being forcibly moved to the top of the include list. 164a8caa639SConrad Meyer# http://llvm.org/docs/CodingStandards.html#include-style 165a8caa639SConrad MeyerIncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING' 166e59d5d14SConrad MeyerSortIncludes: true 167*2c18289bSMark JohnstonKeepEmptyLinesAtTheStartOfBlocks: false 1689e8fd9d8SConrad MeyerTypenameMacros: 1699e8fd9d8SConrad Meyer - ARB_ELMTYPE 1709e8fd9d8SConrad Meyer - ARB_HEAD 1719e8fd9d8SConrad Meyer - ARB8_HEAD 1729e8fd9d8SConrad Meyer - ARB16_HEAD 1739e8fd9d8SConrad Meyer - ARB32_HEAD 1749e8fd9d8SConrad Meyer - ARB_ENTRY 1759e8fd9d8SConrad Meyer - ARB8_ENTRY 1769e8fd9d8SConrad Meyer - ARB16_ENTRY 1779e8fd9d8SConrad Meyer - ARB32_ENTRY 1789e8fd9d8SConrad Meyer - LIST_CLASS_ENTRY 1799e8fd9d8SConrad Meyer - LIST_CLASS_HEAD 1809e8fd9d8SConrad Meyer - LIST_ENTRY 1819e8fd9d8SConrad Meyer - LIST_HEAD 1829e8fd9d8SConrad Meyer - QUEUE_TYPEOF 1839e8fd9d8SConrad Meyer - RB_ENTRY 1849e8fd9d8SConrad Meyer - RB_HEAD 1859e8fd9d8SConrad Meyer - SLIST_CLASS_HEAD 1869e8fd9d8SConrad Meyer - SLIST_CLASS_ENTRY 1879e8fd9d8SConrad Meyer - SLIST_HEAD 1889e8fd9d8SConrad Meyer - SLIST_ENTRY 1899e8fd9d8SConrad Meyer - SMR_POINTER 1909e8fd9d8SConrad Meyer - SPLAY_ENTRY 1919e8fd9d8SConrad Meyer - SPLAY_HEAD 1929e8fd9d8SConrad Meyer - STAILQ_CLASS_ENTRY 1939e8fd9d8SConrad Meyer - STAILQ_CLASS_HEAD 1949e8fd9d8SConrad Meyer - STAILQ_ENTRY 1959e8fd9d8SConrad Meyer - STAILQ_HEAD 1969e8fd9d8SConrad Meyer - TAILQ_CLASS_ENTRY 1979e8fd9d8SConrad Meyer - TAILQ_CLASS_HEAD 1989e8fd9d8SConrad Meyer - TAILQ_ENTRY 1999e8fd9d8SConrad Meyer - TAILQ_HEAD 200