1*fa17182bSJens Wiklander# SPDX-License-Identifier: GPL-2.0 2*fa17182bSJens Wiklander# 3*fa17182bSJens Wiklander# clang-format configuration file. Intended for clang-format >= 11. 4*fa17182bSJens Wiklander# 5*fa17182bSJens Wiklander# This is not perfect, but should help in most cases. 6*fa17182bSJens Wiklander# Please note that the maintainers have the last word if there's 7*fa17182bSJens Wiklander# disagrement with this tool. 8*fa17182bSJens Wiklander# 9*fa17182bSJens Wiklander# For more information, see: 10*fa17182bSJens Wiklander# https://clang.llvm.org/docs/ClangFormat.html 11*fa17182bSJens Wiklander# https://clang.llvm.org/docs/ClangFormatStyleOptions.html 12*fa17182bSJens Wiklander# 13*fa17182bSJens Wiklander--- 14*fa17182bSJens WiklanderAccessModifierOffset: -4 15*fa17182bSJens WiklanderAlignAfterOpenBracket: Align 16*fa17182bSJens WiklanderAlignConsecutiveAssignments: false 17*fa17182bSJens WiklanderAlignConsecutiveDeclarations: false 18*fa17182bSJens WiklanderAlignEscapedNewlines: Left 19*fa17182bSJens WiklanderAlignOperands: true 20*fa17182bSJens WiklanderAlignTrailingComments: false 21*fa17182bSJens WiklanderAllowAllParametersOfDeclarationOnNextLine: false 22*fa17182bSJens WiklanderAllowShortBlocksOnASingleLine: false 23*fa17182bSJens WiklanderAllowShortCaseLabelsOnASingleLine: false 24*fa17182bSJens WiklanderAllowShortFunctionsOnASingleLine: None 25*fa17182bSJens WiklanderAllowShortIfStatementsOnASingleLine: false 26*fa17182bSJens WiklanderAllowShortLoopsOnASingleLine: false 27*fa17182bSJens WiklanderAlwaysBreakAfterDefinitionReturnType: None 28*fa17182bSJens WiklanderAlwaysBreakAfterReturnType: None 29*fa17182bSJens WiklanderAlwaysBreakBeforeMultilineStrings: false 30*fa17182bSJens WiklanderAlwaysBreakTemplateDeclarations: false 31*fa17182bSJens WiklanderBinPackArguments: true 32*fa17182bSJens WiklanderBinPackParameters: true 33*fa17182bSJens WiklanderBraceWrapping: 34*fa17182bSJens Wiklander AfterClass: false 35*fa17182bSJens Wiklander AfterControlStatement: false 36*fa17182bSJens Wiklander AfterEnum: false 37*fa17182bSJens Wiklander AfterFunction: true 38*fa17182bSJens Wiklander AfterNamespace: true 39*fa17182bSJens Wiklander AfterObjCDeclaration: false 40*fa17182bSJens Wiklander AfterStruct: false 41*fa17182bSJens Wiklander AfterUnion: false 42*fa17182bSJens Wiklander AfterExternBlock: false 43*fa17182bSJens Wiklander BeforeCatch: false 44*fa17182bSJens Wiklander BeforeElse: false 45*fa17182bSJens Wiklander IndentBraces: false 46*fa17182bSJens Wiklander SplitEmptyFunction: true 47*fa17182bSJens Wiklander SplitEmptyRecord: true 48*fa17182bSJens Wiklander SplitEmptyNamespace: true 49*fa17182bSJens WiklanderBreakBeforeBinaryOperators: None 50*fa17182bSJens WiklanderBreakBeforeBraces: Custom 51*fa17182bSJens WiklanderBreakBeforeInheritanceComma: false 52*fa17182bSJens WiklanderBreakBeforeTernaryOperators: false 53*fa17182bSJens WiklanderBreakConstructorInitializersBeforeComma: false 54*fa17182bSJens WiklanderBreakConstructorInitializers: BeforeComma 55*fa17182bSJens WiklanderBreakAfterJavaFieldAnnotations: false 56*fa17182bSJens WiklanderBreakStringLiterals: false 57*fa17182bSJens WiklanderColumnLimit: 80 58*fa17182bSJens WiklanderCommentPragmas: '^ IWYU pragma:' 59*fa17182bSJens WiklanderCompactNamespaces: false 60*fa17182bSJens WiklanderConstructorInitializerAllOnOneLineOrOnePerLine: false 61*fa17182bSJens WiklanderConstructorInitializerIndentWidth: 8 62*fa17182bSJens WiklanderContinuationIndentWidth: 8 63*fa17182bSJens WiklanderCpp11BracedListStyle: false 64*fa17182bSJens WiklanderDerivePointerAlignment: false 65*fa17182bSJens WiklanderDisableFormat: false 66*fa17182bSJens WiklanderExperimentalAutoDetectBinPacking: false 67*fa17182bSJens WiklanderFixNamespaceComments: false 68*fa17182bSJens Wiklander 69*fa17182bSJens Wiklander# Taken from: 70*fa17182bSJens Wiklander# find lib core -name "*.h" -path '*/include/*' -print0 | xargs -0 grep -E -h \ 71*fa17182bSJens Wiklander# '^#define[[:blank:]]*[^[:blank:]]*(FOREACH|for_each)[^[:blank:]]' | \ 72*fa17182bSJens Wiklander# sed \ 73*fa17182bSJens Wiklander# -e "s,^#define[ \t]*\([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ 74*fa17182bSJens Wiklander# -e "s,^#define[ \t]*\([^[:space:]]*FOREACH[^[:space:]]*\)(.*$, - '\1'," | \ 75*fa17182bSJens Wiklander# LC_ALL=C sort -u 76*fa17182bSJens WiklanderForEachMacros: 77*fa17182bSJens Wiklander - 'CIRCLEQ_FOREACH' 78*fa17182bSJens Wiklander - 'CIRCLEQ_FOREACH_REVERSE' 79*fa17182bSJens Wiklander - 'LIST_FOREACH' 80*fa17182bSJens Wiklander - 'LIST_FOREACH_SAFE' 81*fa17182bSJens Wiklander - 'SCATTERED_ARRAY_FOREACH' 82*fa17182bSJens Wiklander - 'SIMPLEQ_FOREACH' 83*fa17182bSJens Wiklander - 'SLIST_FOREACH' 84*fa17182bSJens Wiklander - 'SLIST_FOREACH_SAFE' 85*fa17182bSJens Wiklander - 'STAILQ_FOREACH' 86*fa17182bSJens Wiklander - 'STAILQ_FOREACH_SAFE' 87*fa17182bSJens Wiklander - 'TAILQ_FOREACH' 88*fa17182bSJens Wiklander - 'TAILQ_FOREACH_REVERSE' 89*fa17182bSJens Wiklander - 'TAILQ_FOREACH_REVERSE_SAFE' 90*fa17182bSJens Wiklander - 'TAILQ_FOREACH_SAFE' 91*fa17182bSJens Wiklander - 'fdt_for_each_property_offset' 92*fa17182bSJens Wiklander - 'fdt_for_each_subnode' 93*fa17182bSJens Wiklander - 'for_each_dt_driver' 94*fa17182bSJens Wiklander - 'for_each_early_ta' 95*fa17182bSJens Wiklander - 'for_each_fip_sp' 96*fa17182bSJens Wiklander - 'for_each_secure_partition' 97*fa17182bSJens Wiklander 98*fa17182bSJens WiklanderIncludeBlocks: Preserve 99*fa17182bSJens WiklanderIncludeCategories: 100*fa17182bSJens Wiklander - Regex: '.*' 101*fa17182bSJens Wiklander Priority: 1 102*fa17182bSJens WiklanderIncludeIsMainRegex: '(Test)?$' 103*fa17182bSJens WiklanderIndentCaseLabels: false 104*fa17182bSJens WiklanderIndentGotoLabels: false 105*fa17182bSJens WiklanderIndentPPDirectives: None 106*fa17182bSJens WiklanderIndentWidth: 8 107*fa17182bSJens WiklanderIndentWrappedFunctionNames: false 108*fa17182bSJens WiklanderJavaScriptQuotes: Leave 109*fa17182bSJens WiklanderJavaScriptWrapImports: true 110*fa17182bSJens WiklanderKeepEmptyLinesAtTheStartOfBlocks: false 111*fa17182bSJens WiklanderMacroBlockBegin: '' 112*fa17182bSJens WiklanderMacroBlockEnd: '' 113*fa17182bSJens WiklanderMaxEmptyLinesToKeep: 1 114*fa17182bSJens WiklanderNamespaceIndentation: None 115*fa17182bSJens WiklanderObjCBinPackProtocolList: Auto 116*fa17182bSJens WiklanderObjCBlockIndentWidth: 8 117*fa17182bSJens WiklanderObjCSpaceAfterProperty: true 118*fa17182bSJens WiklanderObjCSpaceBeforeProtocolList: true 119*fa17182bSJens Wiklander 120*fa17182bSJens Wiklander# Taken from git's rules 121*fa17182bSJens WiklanderPenaltyBreakAssignment: 10 122*fa17182bSJens WiklanderPenaltyBreakBeforeFirstCallParameter: 30 123*fa17182bSJens WiklanderPenaltyBreakComment: 10 124*fa17182bSJens WiklanderPenaltyBreakFirstLessLess: 0 125*fa17182bSJens WiklanderPenaltyBreakString: 10 126*fa17182bSJens WiklanderPenaltyExcessCharacter: 100 127*fa17182bSJens WiklanderPenaltyReturnTypeOnItsOwnLine: 60 128*fa17182bSJens Wiklander 129*fa17182bSJens WiklanderPointerAlignment: Right 130*fa17182bSJens WiklanderReflowComments: false 131*fa17182bSJens WiklanderSortIncludes: false 132*fa17182bSJens WiklanderSortUsingDeclarations: false 133*fa17182bSJens WiklanderSpaceAfterCStyleCast: false 134*fa17182bSJens WiklanderSpaceAfterTemplateKeyword: true 135*fa17182bSJens WiklanderSpaceBeforeAssignmentOperators: true 136*fa17182bSJens WiklanderSpaceBeforeCtorInitializerColon: true 137*fa17182bSJens WiklanderSpaceBeforeInheritanceColon: true 138*fa17182bSJens WiklanderSpaceBeforeParens: ControlStatementsExceptForEachMacros 139*fa17182bSJens WiklanderSpaceBeforeRangeBasedForLoopColon: true 140*fa17182bSJens WiklanderSpaceInEmptyParentheses: false 141*fa17182bSJens WiklanderSpacesBeforeTrailingComments: 1 142*fa17182bSJens WiklanderSpacesInAngles: false 143*fa17182bSJens WiklanderSpacesInContainerLiterals: false 144*fa17182bSJens WiklanderSpacesInCStyleCastParentheses: false 145*fa17182bSJens WiklanderSpacesInParentheses: false 146*fa17182bSJens WiklanderSpacesInSquareBrackets: false 147*fa17182bSJens WiklanderStandard: Cpp03 148*fa17182bSJens WiklanderTabWidth: 8 149*fa17182bSJens WiklanderUseTab: Always 150*fa17182bSJens Wiklander... 151