# Common settings BasedOnStyle: LLVM TabWidth: 2 IndentWidth: 2 UseTab: Never ColumnLimit: 100 IndentCaseLabels: true # https://clang.llvm.org/docs/ClangFormatStyleOptions.html --- Language: Cpp DisableFormat: false Standard: Cpp11 AccessModifierOffset: -4 AlignAfterOpenBracket: true AlignConsecutiveAssignments: true AlignConsecutiveDeclarations: true AlignEscapedNewlines: Right AlignOperands: true AlignTrailingComments: false AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: true AllowShortCaseLabelsOnASingleLine: true AllowShortFunctionsOnASingleLine: All AllowShortIfStatementsOnASingleLine: AllIfsAndElse AllowShortLoopsOnASingleLine: true AlwaysBreakAfterDefinitionReturnType: false AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: Yes BinPackArguments: false BinPackParameters: true BitFieldColonSpacing: Both # Configure each individual brace in BraceWrapping BreakBeforeBraces: Attach # Control of individual brace wrapping cases BraceWrapping: { AfterClass: 'true' AfterControlStatement: 'true' AfterEnum : 'true' AfterFunction : 'true' AfterNamespace : 'true' AfterStruct : 'true' AfterUnion : 'true' BeforeCatch : 'true' BeforeElse : 'true' IndentBraces : 'false' AfterExternBlock : 'true' SplitEmptyFunction : 'false' SplitEmptyRecord : 'false' SplitEmptyNamespace : 'true' } BreakAfterJavaFieldAnnotations: true BreakBeforeInheritanceComma: false BreakArrays: false BreakBeforeBinaryOperators: NonAssignment BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: true BreakStringLiterals: true CommentPragmas: '^ IWYU pragma:' CompactNamespaces: false ConstructorInitializerAllOnOneLineOrOnePerLine: false ConstructorInitializerIndentWidth: 4 ContinuationIndentWidth: 4 Cpp11BracedListStyle: true SpaceBeforeCpp11BracedList: false DerivePointerAlignment: false ExperimentalAutoDetectBinPacking: false ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] IndentCaseLabels: true FixNamespaceComments: true IndentWrappedFunctionNames: true KeepEmptyLinesAtTheStartOfBlocks: true MacroBlockBegin: '' MacroBlockEnd: '' JavaScriptQuotes: Double MaxEmptyLinesToKeep: 1 NamespaceIndentation: None ObjCBlockIndentWidth: 4 ObjCSpaceAfterProperty: true ObjCSpaceBeforeProtocolList: true PenaltyBreakBeforeFirstCallParameter: 19 PenaltyBreakComment: 300 PenaltyBreakFirstLessLess: 120 PenaltyBreakString: 1000 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 60 PointerAlignment: Right SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false SpaceBeforeAssignmentOperators: true SpaceBeforeParens: Custom SpaceBeforeParensOptions: { AfterControlStatements: 'true' AfterForeachMacros: 'true' AfterFunctionDeclarationName: 'true' AfterFunctionDefinitionName: 'true' AfterIfMacros: 'true' AfterOverloadedOperator: 'true' AfterRequiresInClause: 'true' AfterRequiresInExpression: 'true' BeforeNonEmptyParentheses: 'false' } SpaceBeforeRangeBasedForLoopColon: false SpaceInEmptyBlock: true SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 3 SpacesInAngles: false SpacesInContainerLiterals: true SpacesInCStyleCastParentheses: false SpacesInConditionalStatement: false SpacesInParentheses: false SpacesInSquareBrackets: false SpaceAfterTemplateKeyword: true SpaceBeforeInheritanceColon: true VerilogBreakBetweenInstancePorts: true SortUsingDeclarations: true SortIncludes: CaseInsensitive IndentGotoLabels: false InsertBraces: false InsertNewlineAtEOF: true # Comments are for developers, they should arrange them ReflowComments: false IncludeBlocks: Regroup IndentPPDirectives: AfterHash SeparateDefinitionBlocks: Always IntegerLiteralSeparator: Binary: 4 Decimal: 0 Hex: 0 ---