de1c8b5c77f7566d9e41949e5e397db3cc1b487c
   1# This file is an example configuration for clang-format 5.0.
   2#
   3# Note that this style definition should only be understood as a hint
   4# for writing new code. The rules are still work-in-progress and does
   5# not yet exactly match the style we have in the existing code.
   6
   7# Use tabs whenever we need to fill whitespace that spans at least from one tab
   8# stop to the next one.
   9#
  10# These settings are mirrored in .editorconfig.  Keep them in sync.
  11UseTab: Always
  12TabWidth: 8
  13IndentWidth: 8
  14ContinuationIndentWidth: 8
  15ColumnLimit: 80
  16
  17# C Language specifics
  18Language: Cpp
  19
  20# Align parameters on the open bracket
  21# someLongFunction(argument1,
  22#                  argument2);
  23AlignAfterOpenBracket: Align
  24
  25# Don't align consecutive assignments
  26# int aaaa = 12;
  27# int b = 14;
  28AlignConsecutiveAssignments: false
  29
  30# Don't align consecutive declarations
  31# int aaaa = 12;
  32# double b = 3.14;
  33AlignConsecutiveDeclarations: false
  34
  35# Align escaped newlines as far left as possible
  36# #define A   \
  37#   int aaaa; \
  38#   int b;    \
  39#   int cccccccc;
  40AlignEscapedNewlines: Left
  41
  42# Align operands of binary and ternary expressions
  43# int aaa = bbbbbbbbbbb +
  44#           cccccc;
  45AlignOperands: true
  46
  47# Don't align trailing comments
  48# int a; // Comment a
  49# int b = 2; // Comment b
  50AlignTrailingComments: false
  51
  52# By default don't allow putting parameters onto the next line
  53# myFunction(foo, bar, baz);
  54AllowAllParametersOfDeclarationOnNextLine: false
  55
  56# Don't allow short braced statements to be on a single line
  57# if (a)           not       if (a) return;
  58#   return;
  59AllowShortBlocksOnASingleLine: false
  60AllowShortCaseLabelsOnASingleLine: false
  61AllowShortFunctionsOnASingleLine: false
  62AllowShortIfStatementsOnASingleLine: false
  63AllowShortLoopsOnASingleLine: false
  64
  65# By default don't add a line break after the return type of top-level functions
  66# int foo();
  67AlwaysBreakAfterReturnType: None
  68
  69# Pack as many parameters or arguments onto the same line as possible
  70# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
  71#                int cccc);
  72BinPackArguments: true
  73BinPackParameters: true
  74
  75# Attach braces to surrounding context except break before braces on function
  76# definitions.
  77# void foo()
  78# {
  79#    if (true) {
  80#    } else {
  81#    }
  82# };
  83BreakBeforeBraces: Linux
  84
  85# Break after operators
  86# int valuve = aaaaaaaaaaaaa +
  87#              bbbbbb -
  88#              ccccccccccc;
  89BreakBeforeBinaryOperators: None
  90BreakBeforeTernaryOperators: false
  91
  92# Don't break string literals
  93BreakStringLiterals: false
  94
  95# Use the same indentation level as for the switch statement.
  96# Switch statement body is always indented one level more than case labels.
  97IndentCaseLabels: false
  98
  99# Don't indent a function definition or declaration if it is wrapped after the
 100# type
 101IndentWrappedFunctionNames: false
 102
 103# Align pointer to the right
 104# int *a;
 105PointerAlignment: Right
 106
 107# Don't insert a space after a cast
 108# x = (int32)y;    not    x = (int32) y;
 109SpaceAfterCStyleCast: false
 110
 111# Insert spaces before and after assignment operators
 112# int a = 5;    not    int a=5;
 113# a += 42;             a+=42;
 114SpaceBeforeAssignmentOperators: true
 115
 116# Put a space before opening parentheses only after control statement keywords.
 117# void f() {
 118#   if (true) {
 119#     f();
 120#   }
 121# }
 122SpaceBeforeParens: ControlStatements
 123
 124# Don't insert spaces inside empty '()'
 125SpaceInEmptyParentheses: false
 126
 127# The number of spaces before trailing line comments (// - comments).
 128# This does not affect trailing block comments (/* - comments).
 129SpacesBeforeTrailingComments: 1
 130
 131# Don't insert spaces in casts
 132# x = (int32) y;    not    x = ( int32 ) y;
 133SpacesInCStyleCastParentheses: false
 134
 135# Don't insert spaces inside container literals
 136# var arr = [1, 2, 3];    not    var arr = [ 1, 2, 3 ];
 137SpacesInContainerLiterals: false
 138
 139# Don't insert spaces after '(' or before ')'
 140# f(arg);    not    f( arg );
 141SpacesInParentheses: false
 142
 143# Don't insert spaces after '[' or before ']'
 144# int a[5];    not    int a[ 5 ];
 145SpacesInSquareBrackets: false
 146
 147# Insert a space after '{' and before '}' in struct initializers
 148Cpp11BracedListStyle: false
 149
 150# A list of macros that should be interpreted as foreach loops instead of as
 151# function calls.
 152ForEachMacros: ['for_each_string_list_item']
 153
 154# The maximum number of consecutive empty lines to keep.
 155MaxEmptyLinesToKeep: 1
 156
 157# No empty line at the start of a block.
 158KeepEmptyLinesAtTheStartOfBlocks: false
 159
 160# Penalties
 161# This decides what order things should be done if a line is too long
 162PenaltyBreakAssignment: 10
 163PenaltyBreakBeforeFirstCallParameter: 30
 164PenaltyBreakComment: 10
 165PenaltyBreakFirstLessLess: 0
 166PenaltyBreakString: 10
 167PenaltyExcessCharacter: 100
 168PenaltyReturnTypeOnItsOwnLine: 60
 169
 170# Don't sort #include's
 171SortIncludes: false