# Format of this file is YAML # Minimum clang-format version required: clang-format version 3.6.0 # Detailed description of options available at http://clang.llvm.org/docs/ClangFormatStyleOptions.html AlignEscapedNewlinesLeft: true # Bad: # void foo() { # someFunction(); # someOtherFunction(); # } # Good: # void foo() { # someFunction(); # someOtherFunction(); # } AlignTrailingComments: true # align all comments to right based of // # == Avoid using // based comments altogether == AllowAllParametersOfDeclarationOnNextLine: true # allow funtion definition as # someFunction(foo, # bar, # baz); AlignConsecutiveAssignments: true # aligns consecutive assignments with '=' operator AllowShortBlocksOnASingleLine: true # single statement block can be merged on one line # e.g if (a) { return; } AllowShortCaseLabelsOnASingleLine: false # Single statement case statements should be on their own lines AllowShortFunctionsOnASingleLine: None # Bad: # int foo() { return 123; } AllowShortIfStatementsOnASingleLine: false # Bad: # if (someOtherVar) return; # Good: # if (someOtherVar) # return; AllowShortLoopsOnASingleLine: false # Bad: # while(i>0) i--; # Good: # while(i>0) { # i--; # } AlwaysBreakAfterDefinitionReturnType: true # Ensures return type is one its own line # e.g. unsigned int # function(char param) { } AlwaysBreakBeforeMultilineStrings: true # multine strings should begin on new line BinPackArguments: true BinPackParameters: false # functions arguments should all be on one line or have a single line for each param BreakBeforeBinaryOperators: None # break for new line after binary operator in case of length is over ColumnLimit # e.g. # int foo = bar + # baz; BreakBeforeBraces: Linux # Always attach braces to surrounding context except - # break before braces on function, namespace and class definitions ColumnLimit: 132 # every body has wide screen now. 132 seems to be reasonable limit now. IndentCaseLabels: false # case labels have same indentation as switch statement. IndentWidth: 4 # 4 spaces for indentation TabWidth: 4 # tabwidth is 4 spaces UseTab: ForIndentation # tab for indentation only. All alignment should happen with spaces # Simple rule to check. # No tabs allowed after first 'non-tab' character in a line IndentWrappedFunctionNames: false KeepEmptyLinesAtTheStartOfBlocks: false # remove excess empty lines at start of blocks. PointerAlignment: Middle SpaceAfterCStyleCast: false # No space after (cast). E.g # int blah = (int)((void *)foo + bar) SpaceBeforeAssignmentOperators: true # Assignment = should be seperated by spaces on both sides. SpaceBeforeParens: ControlStatements # for control statements a space is required before '(' # Bad: for() { statement; } # Good: for () { statement; } # This setting distinguishes functions() from keywords like 'if' and 'for'. SpaceInEmptyParentheses: false # No spaces required for empty () SpacesInCStyleCastParentheses: false # No spaces required for (unsigned int) type cast SpacesInParentheses: false SpacesInSquareBrackets: false # No spaces in [count] style invocations of []