1*8c81f8b0SPeter Munch# 2*8c81f8b0SPeter Munch# The clang-format (Clang 11) style file used by deal.II. 3*8c81f8b0SPeter Munch# 4*8c81f8b0SPeter Munch 5*8c81f8b0SPeter MunchAccessModifierOffset: -2 6*8c81f8b0SPeter Munch 7*8c81f8b0SPeter MunchAlignAfterOpenBracket: Align 8*8c81f8b0SPeter MunchAlignConsecutiveAssignments: true 9*8c81f8b0SPeter MunchAlignConsecutiveDeclarations: true 10*8c81f8b0SPeter MunchAlignEscapedNewlines: Left 11*8c81f8b0SPeter MunchAlignOperands: true 12*8c81f8b0SPeter MunchAlignTrailingComments: true 13*8c81f8b0SPeter Munch 14*8c81f8b0SPeter MunchAllowAllParametersOfDeclarationOnNextLine: false 15*8c81f8b0SPeter MunchAllowShortBlocksOnASingleLine: false 16*8c81f8b0SPeter MunchAllowShortCaseLabelsOnASingleLine: false 17*8c81f8b0SPeter MunchAllowShortFunctionsOnASingleLine: None 18*8c81f8b0SPeter MunchAllowShortIfStatementsOnASingleLine: false 19*8c81f8b0SPeter MunchAllowShortLoopsOnASingleLine: false 20*8c81f8b0SPeter Munch 21*8c81f8b0SPeter MunchAlwaysBreakAfterReturnType: All 22*8c81f8b0SPeter MunchAlwaysBreakBeforeMultilineStrings: false 23*8c81f8b0SPeter MunchAlwaysBreakTemplateDeclarations: true 24*8c81f8b0SPeter Munch 25*8c81f8b0SPeter MunchBinPackArguments: false 26*8c81f8b0SPeter MunchBinPackParameters: false 27*8c81f8b0SPeter Munch 28*8c81f8b0SPeter MunchBraceWrapping: 29*8c81f8b0SPeter Munch AfterCaseLabel: true 30*8c81f8b0SPeter Munch AfterClass: true 31*8c81f8b0SPeter Munch AfterControlStatement: Always 32*8c81f8b0SPeter Munch AfterEnum: true 33*8c81f8b0SPeter Munch AfterExternBlock: true 34*8c81f8b0SPeter Munch AfterFunction: true 35*8c81f8b0SPeter Munch AfterNamespace: true 36*8c81f8b0SPeter Munch AfterStruct: true 37*8c81f8b0SPeter Munch AfterUnion: true 38*8c81f8b0SPeter Munch BeforeCatch: true 39*8c81f8b0SPeter Munch BeforeElse: true 40*8c81f8b0SPeter Munch BeforeLambdaBody: false 41*8c81f8b0SPeter Munch BeforeWhile: true 42*8c81f8b0SPeter Munch IndentBraces: true 43*8c81f8b0SPeter Munch SplitEmptyFunction: false 44*8c81f8b0SPeter Munch SplitEmptyRecord: false 45*8c81f8b0SPeter Munch SplitEmptyNamespace: false 46*8c81f8b0SPeter Munch 47*8c81f8b0SPeter MunchBreakBeforeBinaryOperators: None 48*8c81f8b0SPeter MunchBreakBeforeBraces: Custom 49*8c81f8b0SPeter MunchBreakBeforeInheritanceComma: false 50*8c81f8b0SPeter MunchBreakBeforeTernaryOperators: false 51*8c81f8b0SPeter MunchBreakConstructorInitializers: BeforeComma 52*8c81f8b0SPeter MunchBreakStringLiterals: false 53*8c81f8b0SPeter Munch 54*8c81f8b0SPeter MunchColumnLimit: 100 55*8c81f8b0SPeter Munch 56*8c81f8b0SPeter MunchCompactNamespaces: false 57*8c81f8b0SPeter Munch 58*8c81f8b0SPeter MunchConstructorInitializerIndentWidth: 2 59*8c81f8b0SPeter Munch 60*8c81f8b0SPeter MunchContinuationIndentWidth: 2 61*8c81f8b0SPeter Munch 62*8c81f8b0SPeter MunchCpp11BracedListStyle: true 63*8c81f8b0SPeter Munch 64*8c81f8b0SPeter MunchDerivePointerAlignment: false 65*8c81f8b0SPeter Munch 66*8c81f8b0SPeter MunchFixNamespaceComments: true 67*8c81f8b0SPeter Munch 68*8c81f8b0SPeter MunchIncludeBlocks: Regroup 69*8c81f8b0SPeter MunchIncludeCategories: 70*8c81f8b0SPeter Munch# config.h must always be first: 71*8c81f8b0SPeter Munch - Regex: "deal.II/base/config.h" 72*8c81f8b0SPeter Munch Priority: -1 73*8c81f8b0SPeter Munch# deal.II folders in sorted order: 74*8c81f8b0SPeter Munch - Regex: "deal.II/algorithms/.*\\.h" 75*8c81f8b0SPeter Munch Priority: 100 76*8c81f8b0SPeter Munch - Regex: "deal.II/arborx/.*\\.h" 77*8c81f8b0SPeter Munch Priority: 110 78*8c81f8b0SPeter Munch - Regex: "deal.II/base/.*\\.h" 79*8c81f8b0SPeter Munch Priority: 120 80*8c81f8b0SPeter Munch - Regex: "deal.II/boost_adaptors/.*\\.h" 81*8c81f8b0SPeter Munch Priority: 125 82*8c81f8b0SPeter Munch - Regex: "deal.II/differentiation/.*\\.h" 83*8c81f8b0SPeter Munch Priority: 130 84*8c81f8b0SPeter Munch - Regex: "deal.II/distributed/.*\\.h" 85*8c81f8b0SPeter Munch Priority: 140 86*8c81f8b0SPeter Munch - Regex: "deal.II/dofs/.*\\.h" 87*8c81f8b0SPeter Munch Priority: 150 88*8c81f8b0SPeter Munch - Regex: "deal.II/fe/.*\\.h" 89*8c81f8b0SPeter Munch Priority: 160 90*8c81f8b0SPeter Munch - Regex: "deal.II/gmsh/.*\\.h" 91*8c81f8b0SPeter Munch Priority: 170 92*8c81f8b0SPeter Munch - Regex: "deal.II/grid/.*\\.h" 93*8c81f8b0SPeter Munch Priority: 180 94*8c81f8b0SPeter Munch - Regex: "deal.II/hp/.*\\.h" 95*8c81f8b0SPeter Munch Priority: 190 96*8c81f8b0SPeter Munch - Regex: "deal.II/integrators/.*\\.h" 97*8c81f8b0SPeter Munch Priority: 200 98*8c81f8b0SPeter Munch - Regex: "deal.II/lac/.*\\.h" 99*8c81f8b0SPeter Munch Priority: 210 100*8c81f8b0SPeter Munch - Regex: "deal.II/matrix_free/.*\\.h" 101*8c81f8b0SPeter Munch Priority: 220 102*8c81f8b0SPeter Munch - Regex: "deal.II/meshworker/.*\\.h" 103*8c81f8b0SPeter Munch Priority: 230 104*8c81f8b0SPeter Munch - Regex: "deal.II/multigrid/.*\\.h" 105*8c81f8b0SPeter Munch Priority: 240 106*8c81f8b0SPeter Munch - Regex: "deal.II/non_matching/.*\\.h" 107*8c81f8b0SPeter Munch Priority: 250 108*8c81f8b0SPeter Munch - Regex: "deal.II/numerics/.*\\.h" 109*8c81f8b0SPeter Munch Priority: 260 110*8c81f8b0SPeter Munch - Regex: "deal.II/opencascade/.*\\.h" 111*8c81f8b0SPeter Munch Priority: 270 112*8c81f8b0SPeter Munch - Regex: "deal.II/optimization/.*\\.h" 113*8c81f8b0SPeter Munch Priority: 280 114*8c81f8b0SPeter Munch - Regex: "deal.II/particles/.*\\.h" 115*8c81f8b0SPeter Munch Priority: 290 116*8c81f8b0SPeter Munch - Regex: "deal.II/physics/.*\\.h" 117*8c81f8b0SPeter Munch Priority: 300 118*8c81f8b0SPeter Munch - Regex: "deal.II/sundials/.*\\.h" 119*8c81f8b0SPeter Munch Priority: 310 120*8c81f8b0SPeter Munch# put boost right after deal: 121*8c81f8b0SPeter Munch - Regex: "<boost.*>" 122*8c81f8b0SPeter Munch Priority: 500 123*8c81f8b0SPeter Munch# try to group PETSc headers: 124*8c81f8b0SPeter Munch - Regex: "<petsc.*\\.h>" 125*8c81f8b0SPeter Munch Priority: 1000 126*8c81f8b0SPeter Munch# try to catch all third party headers and put them after deal.II but before 127*8c81f8b0SPeter Munch# standard headers: 128*8c81f8b0SPeter Munch - Regex: "<.*\\.(h|hpp|hxx)>" 129*8c81f8b0SPeter Munch Priority: 2000 130*8c81f8b0SPeter Munch# match all standard headers. Things like '#include <armadillo>' should be 131*8c81f8b0SPeter Munch# surrounded by #ifdef checks (which will not be merged by clang-format) so they 132*8c81f8b0SPeter Munch# should not be caught here 133*8c81f8b0SPeter Munch - Regex: "<[a-z_]+>" 134*8c81f8b0SPeter Munch Priority: 100000 135*8c81f8b0SPeter Munch# make sure that "../tests.h" appears before all other local include files 136*8c81f8b0SPeter Munch# such that replacing Assert in tests also applies to the testing header files. 137*8c81f8b0SPeter Munch - Regex: "\\.\\./tests\\.h" 138*8c81f8b0SPeter Munch Priority: 200000 139*8c81f8b0SPeter Munch 140*8c81f8b0SPeter MunchIndentCaseLabels: true 141*8c81f8b0SPeter MunchIndentPPDirectives: AfterHash 142*8c81f8b0SPeter MunchIndentWidth: 2 143*8c81f8b0SPeter Munch 144*8c81f8b0SPeter MunchIndentWrappedFunctionNames: false 145*8c81f8b0SPeter Munch 146*8c81f8b0SPeter MunchKeepEmptyLinesAtTheStartOfBlocks: false 147*8c81f8b0SPeter Munch 148*8c81f8b0SPeter MunchLanguage: Cpp 149*8c81f8b0SPeter Munch 150*8c81f8b0SPeter MunchMaxEmptyLinesToKeep: 3 151*8c81f8b0SPeter Munch 152*8c81f8b0SPeter MunchNamespaceIndentation: All 153*8c81f8b0SPeter Munch 154*8c81f8b0SPeter MunchPenaltyBreakBeforeFirstCallParameter: 90 155*8c81f8b0SPeter Munch 156*8c81f8b0SPeter MunchPointerAlignment: Right 157*8c81f8b0SPeter Munch 158*8c81f8b0SPeter MunchReflowComments: true 159*8c81f8b0SPeter MunchCommentPragmas: '( \| |\*--|<li>|@ref | @p |@param |@name |@returns |@warning |@ingroup |@author |@date |@related |@relates |@relatesalso |@deprecated |@image |@return |@brief |@attention |@copydoc |@addtogroup |@todo |@tparam |@see |@note |@skip |@skipline |@until |@line |@dontinclude |@include | TESTARGS)' 160*8c81f8b0SPeter Munch 161*8c81f8b0SPeter MunchSortIncludes: true 162*8c81f8b0SPeter MunchSortUsingDeclarations: true 163*8c81f8b0SPeter Munch 164*8c81f8b0SPeter MunchSpaceAfterCStyleCast: false 165*8c81f8b0SPeter MunchSpaceAfterTemplateKeyword: true 166*8c81f8b0SPeter MunchSpaceBeforeAssignmentOperators: true 167*8c81f8b0SPeter MunchSpaceBeforeParens: ControlStatements 168*8c81f8b0SPeter MunchSpaceInEmptyParentheses: false 169*8c81f8b0SPeter MunchSpacesBeforeTrailingComments: 1 170*8c81f8b0SPeter MunchSpacesInAngles: false 171*8c81f8b0SPeter MunchSpacesInCStyleCastParentheses: false 172*8c81f8b0SPeter MunchSpacesInContainerLiterals: false 173*8c81f8b0SPeter MunchSpacesInParentheses: false 174*8c81f8b0SPeter MunchSpacesInSquareBrackets: false 175*8c81f8b0SPeter Munch 176*8c81f8b0SPeter MunchStandard: Cpp11 177*8c81f8b0SPeter Munch 178*8c81f8b0SPeter MunchTabWidth: 2 179*8c81f8b0SPeter Munch 180*8c81f8b0SPeter MunchUseTab: Never 181