# 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: Auto AccessModifierOffset: -4 AlignAfterOpenBracket: true AlignConsecutiveAssignments: Consecutive AlignConsecutiveDeclarations: Consecutive AlignEscapedNewlines: Right AlignOperands: true AlignTrailingComments: false AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: Always AllowShortCaseLabelsOnASingleLine: true AllowShortFunctionsOnASingleLine: All AllowShortIfStatementsOnASingleLine: AllIfsAndElse AllowShortLoopsOnASingleLine: true AlwaysBreakAfterDefinitionReturnType: None 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: Always 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 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 SortUsingDeclarations: true SortIncludes: CaseInsensitive IndentGotoLabels: false InsertBraces: false # Comments are for developers, they should arrange them ReflowComments: false IncludeBlocks: Regroup IndentPPDirectives: AfterHash SeparateDefinitionBlocks: Always