# Checkout config tool: https://zed0.co.uk/clang-format-configurator/ # Or http://cf.monofraps.net/ # https://clang.llvm.org/docs/ClangFormatStyleOptions.html # https://github.com/01org/parameter-framework/blob/master/.clang-format # Tested on: clang-format version 8.0.0 # Version 1.1 # Common settings BasedOnStyle: WebKit TabWidth: 4 IndentWidth: 4 UseTab: ForContinuationAndIndentation ColumnLimit: 100 # Other languages JavaScript, Proto --- Language: Cpp # http://releases.llvm.org/6.0.1/tools/clang/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code # int formatted_code; # // clang-format off # void unformatted_code ; # // clang-format on # void formatted_code_again; DisableFormat: false Standard: Cpp11 AccessModifierOffset: -4 AlignAfterOpenBracket: true AlignConsecutiveAssignments: false AlignConsecutiveDeclarations: false AlignEscapedNewlinesLeft: false AlignOperands: true AlignTrailingComments: false AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Empty AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: false AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: true BinPackArguments: false BinPackParameters: false # Configure each individual brace in BraceWrapping BreakBeforeBraces: Custom # 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 BreakBeforeBinaryOperators: None 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 ] IncludeCategories: - Regex: '^<.*\..+' Priority: 2 - Regex: '^<.*' Priority: 1 - Regex: '.*' Priority: 3 IndentCaseLabels: false FixNamespaceComments: true IndentWrappedFunctionNames: false 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: Left SpaceAfterCStyleCast: false SpaceBeforeAssignmentOperators: true SpaceBeforeParens: Never SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 SpacesInAngles: false SpacesInContainerLiterals: true SpacesInCStyleCastParentheses: false SpacesInParentheses: false SpacesInSquareBrackets: false SpaceAfterTemplateKeyword: true SpaceBeforeInheritanceColon: true SortUsingDeclarations: true SortIncludes: true # Comments are for developers, they should arrange them but now we allow for ReflowComments # It should add at least 1 space after // ReflowComments: true IncludeBlocks: Regroup IndentPPDirectives: AfterHash ---