Blame .clang-format

Packit 4511e4
# This file is an example configuration for clang-format 5.0.
Packit 4511e4
#
Packit 4511e4
# Note that this style definition should only be understood as a hint
Packit 4511e4
# for writing new code. The rules are still work-in-progress and does
Packit 4511e4
# not yet exactly match the style we have in the existing code.
Packit 4511e4
Packit 4511e4
# Use tabs whenever we need to fill whitespace that spans at least from one tab
Packit 4511e4
# stop to the next one.
Packit Service b5fd21
#
Packit Service b5fd21
# These settings are mirrored in .editorconfig.  Keep them in sync.
Packit 4511e4
UseTab: Always
Packit 4511e4
TabWidth: 8
Packit 4511e4
IndentWidth: 8
Packit 4511e4
ContinuationIndentWidth: 8
Packit 4511e4
ColumnLimit: 80
Packit 4511e4
Packit 4511e4
# C Language specifics
Packit 4511e4
Language: Cpp
Packit 4511e4
Packit 4511e4
# Align parameters on the open bracket
Packit 4511e4
# someLongFunction(argument1,
Packit 4511e4
#                  argument2);
Packit 4511e4
AlignAfterOpenBracket: Align
Packit 4511e4
Packit 4511e4
# Don't align consecutive assignments
Packit 4511e4
# int aaaa = 12;
Packit 4511e4
# int b = 14;
Packit 4511e4
AlignConsecutiveAssignments: false
Packit 4511e4
Packit 4511e4
# Don't align consecutive declarations
Packit 4511e4
# int aaaa = 12;
Packit 4511e4
# double b = 3.14;
Packit 4511e4
AlignConsecutiveDeclarations: false
Packit 4511e4
Packit 4511e4
# Align escaped newlines as far left as possible
Packit 4511e4
# #define A   \
Packit 4511e4
#   int aaaa; \
Packit 4511e4
#   int b;    \
Packit 4511e4
#   int cccccccc;
Packit 4511e4
AlignEscapedNewlines: Left
Packit 4511e4
Packit 4511e4
# Align operands of binary and ternary expressions
Packit 4511e4
# int aaa = bbbbbbbbbbb +
Packit 4511e4
#           cccccc;
Packit 4511e4
AlignOperands: true
Packit 4511e4
Packit 4511e4
# Don't align trailing comments
Packit 4511e4
# int a; // Comment a
Packit 4511e4
# int b = 2; // Comment b
Packit 4511e4
AlignTrailingComments: false
Packit 4511e4
Packit 4511e4
# By default don't allow putting parameters onto the next line
Packit 4511e4
# myFunction(foo, bar, baz);
Packit 4511e4
AllowAllParametersOfDeclarationOnNextLine: false
Packit 4511e4
Packit 4511e4
# Don't allow short braced statements to be on a single line
Packit 4511e4
# if (a)           not       if (a) return;
Packit 4511e4
#   return;
Packit 4511e4
AllowShortBlocksOnASingleLine: false
Packit 4511e4
AllowShortCaseLabelsOnASingleLine: false
Packit 4511e4
AllowShortFunctionsOnASingleLine: false
Packit 4511e4
AllowShortIfStatementsOnASingleLine: false
Packit 4511e4
AllowShortLoopsOnASingleLine: false
Packit 4511e4
Packit 4511e4
# By default don't add a line break after the return type of top-level functions
Packit 4511e4
# int foo();
Packit 4511e4
AlwaysBreakAfterReturnType: None
Packit 4511e4
Packit 4511e4
# Pack as many parameters or arguments onto the same line as possible
Packit 4511e4
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
Packit 4511e4
#                int cccc);
Packit 4511e4
BinPackArguments: true
Packit 4511e4
BinPackParameters: true
Packit 4511e4
Packit 4511e4
# Attach braces to surrounding context except break before braces on function
Packit 4511e4
# definitions.
Packit 4511e4
# void foo()
Packit 4511e4
# {
Packit 4511e4
#    if (true) {
Packit 4511e4
#    } else {
Packit 4511e4
#    }
Packit 4511e4
# };
Packit 4511e4
BreakBeforeBraces: Linux
Packit 4511e4
Packit 4511e4
# Break after operators
Packit 4511e4
# int valuve = aaaaaaaaaaaaa +
Packit 4511e4
#              bbbbbb -
Packit 4511e4
#              ccccccccccc;
Packit 4511e4
BreakBeforeBinaryOperators: None
Packit 4511e4
BreakBeforeTernaryOperators: false
Packit 4511e4
Packit 4511e4
# Don't break string literals
Packit 4511e4
BreakStringLiterals: false
Packit 4511e4
Packit 4511e4
# Use the same indentation level as for the switch statement.
Packit 4511e4
# Switch statement body is always indented one level more than case labels.
Packit 4511e4
IndentCaseLabels: false
Packit 4511e4
Packit 4511e4
# Don't indent a function definition or declaration if it is wrapped after the
Packit 4511e4
# type
Packit 4511e4
IndentWrappedFunctionNames: false
Packit 4511e4
Packit 4511e4
# Align pointer to the right
Packit 4511e4
# int *a;
Packit 4511e4
PointerAlignment: Right
Packit 4511e4
Packit 4511e4
# Don't insert a space after a cast
Packit 4511e4
# x = (int32)y;    not    x = (int32) y;
Packit 4511e4
SpaceAfterCStyleCast: false
Packit 4511e4
Packit 4511e4
# Insert spaces before and after assignment operators
Packit 4511e4
# int a = 5;    not    int a=5;
Packit 4511e4
# a += 42;             a+=42;
Packit 4511e4
SpaceBeforeAssignmentOperators: true
Packit 4511e4
Packit 4511e4
# Put a space before opening parentheses only after control statement keywords.
Packit 4511e4
# void f() {
Packit 4511e4
#   if (true) {
Packit 4511e4
#     f();
Packit 4511e4
#   }
Packit 4511e4
# }
Packit 4511e4
SpaceBeforeParens: ControlStatements
Packit 4511e4
Packit 4511e4
# Don't insert spaces inside empty '()'
Packit 4511e4
SpaceInEmptyParentheses: false
Packit 4511e4
Packit 4511e4
# The number of spaces before trailing line comments (// - comments).
Packit 4511e4
# This does not affect trailing block comments (/* - comments).
Packit 4511e4
SpacesBeforeTrailingComments: 1
Packit 4511e4
Packit 4511e4
# Don't insert spaces in casts
Packit 4511e4
# x = (int32) y;    not    x = ( int32 ) y;
Packit 4511e4
SpacesInCStyleCastParentheses: false
Packit 4511e4
Packit 4511e4
# Don't insert spaces inside container literals
Packit 4511e4
# var arr = [1, 2, 3];    not    var arr = [ 1, 2, 3 ];
Packit 4511e4
SpacesInContainerLiterals: false
Packit 4511e4
Packit 4511e4
# Don't insert spaces after '(' or before ')'
Packit 4511e4
# f(arg);    not    f( arg );
Packit 4511e4
SpacesInParentheses: false
Packit 4511e4
Packit 4511e4
# Don't insert spaces after '[' or before ']'
Packit 4511e4
# int a[5];    not    int a[ 5 ];
Packit 4511e4
SpacesInSquareBrackets: false
Packit 4511e4
Packit 4511e4
# Insert a space after '{' and before '}' in struct initializers
Packit 4511e4
Cpp11BracedListStyle: false
Packit 4511e4
Packit 4511e4
# A list of macros that should be interpreted as foreach loops instead of as
Packit Service b5fd21
# function calls. Taken from:
Packit Service b5fd21
#   git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' \
Packit Service b5fd21
#   | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$,  - '\1'," \
Packit Service b5fd21
#   | sort | uniq
Packit Service b5fd21
ForEachMacros:
Packit Service b5fd21
  - 'for_each_abbrev'
Packit Service b5fd21
  - 'for_each_builtin'
Packit Service b5fd21
  - 'for_each_string_list_item'
Packit Service b5fd21
  - 'for_each_ut'
Packit Service b5fd21
  - 'for_each_wanted_builtin'
Packit Service b5fd21
  - 'list_for_each'
Packit Service b5fd21
  - 'list_for_each_dir'
Packit Service b5fd21
  - 'list_for_each_prev'
Packit Service b5fd21
  - 'list_for_each_prev_safe'
Packit Service b5fd21
  - 'list_for_each_safe'
Packit 4511e4
Packit 4511e4
# The maximum number of consecutive empty lines to keep.
Packit 4511e4
MaxEmptyLinesToKeep: 1
Packit 4511e4
Packit 4511e4
# No empty line at the start of a block.
Packit 4511e4
KeepEmptyLinesAtTheStartOfBlocks: false
Packit 4511e4
Packit 4511e4
# Penalties
Packit 4511e4
# This decides what order things should be done if a line is too long
Packit 4511e4
PenaltyBreakAssignment: 10
Packit 4511e4
PenaltyBreakBeforeFirstCallParameter: 30
Packit 4511e4
PenaltyBreakComment: 10
Packit 4511e4
PenaltyBreakFirstLessLess: 0
Packit 4511e4
PenaltyBreakString: 10
Packit 4511e4
PenaltyExcessCharacter: 100
Packit 4511e4
PenaltyReturnTypeOnItsOwnLine: 60
Packit 4511e4
Packit 4511e4
# Don't sort #include's
Packit 4511e4
SortIncludes: false