mirror of
https://github.com/git/git.git
synced 2024-11-23 01:46:13 +08:00
7e785b87db
We generally align consecutive macro definitions for better readability: #define OUTPUT_ANNOTATE_COMPAT (1U<<0) #define OUTPUT_LONG_OBJECT_NAME (1U<<1) #define OUTPUT_RAW_TIMESTAMP (1U<<2) #define OUTPUT_PORCELAIN (1U<<3) over #define OUTPUT_ANNOTATE_COMPAT (1U<<0) #define OUTPUT_LONG_OBJECT_NAME (1U<<1) #define OUTPUT_RAW_TIMESTAMP (1U<<2) #define OUTPUT_PORCELAIN (1U<<3) So let's add the rule in clang-format to follow this. Signed-off-by: Karthik Nayak <karthik.188@gmail.com> Signed-off-by: Taylor Blau <me@ttaylorr.com>
226 lines
6.0 KiB
YAML
226 lines
6.0 KiB
YAML
# This file is an example configuration for clang-format 5.0.
|
|
#
|
|
# Note that this style definition should only be understood as a hint
|
|
# for writing new code. The rules are still work-in-progress and does
|
|
# not yet exactly match the style we have in the existing code.
|
|
|
|
# Use tabs whenever we need to fill whitespace that spans at least from one tab
|
|
# stop to the next one.
|
|
#
|
|
# These settings are mirrored in .editorconfig. Keep them in sync.
|
|
UseTab: Always
|
|
TabWidth: 8
|
|
IndentWidth: 8
|
|
ContinuationIndentWidth: 8
|
|
ColumnLimit: 80
|
|
|
|
# C Language specifics
|
|
Language: Cpp
|
|
|
|
# Align parameters on the open bracket
|
|
# someLongFunction(argument1,
|
|
# argument2);
|
|
AlignAfterOpenBracket: Align
|
|
|
|
# Don't align consecutive assignments
|
|
# int aaaa = 12;
|
|
# int b = 14;
|
|
AlignConsecutiveAssignments: false
|
|
|
|
# Don't align consecutive declarations
|
|
# int aaaa = 12;
|
|
# double b = 3.14;
|
|
AlignConsecutiveDeclarations: false
|
|
|
|
# Align consecutive macro definitions.
|
|
AlignConsecutiveMacros: true
|
|
|
|
# Align escaped newlines as far left as possible
|
|
# #define A \
|
|
# int aaaa; \
|
|
# int b; \
|
|
# int cccccccc;
|
|
AlignEscapedNewlines: Left
|
|
|
|
# Align operands of binary and ternary expressions
|
|
# int aaa = bbbbbbbbbbb +
|
|
# cccccc;
|
|
AlignOperands: true
|
|
|
|
# Don't align trailing comments
|
|
# int a; // Comment a
|
|
# int b = 2; // Comment b
|
|
AlignTrailingComments: false
|
|
|
|
# By default don't allow putting parameters onto the next line
|
|
# myFunction(foo, bar, baz);
|
|
AllowAllParametersOfDeclarationOnNextLine: false
|
|
|
|
# Don't allow short braced statements to be on a single line
|
|
# if (a) not if (a) return;
|
|
# return;
|
|
AllowShortBlocksOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
AllowShortFunctionsOnASingleLine: false
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
|
|
# By default don't add a line break after the return type of top-level functions
|
|
# int foo();
|
|
AlwaysBreakAfterReturnType: None
|
|
|
|
# Pack as many parameters or arguments onto the same line as possible
|
|
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
|
|
# int cccc);
|
|
BinPackArguments: true
|
|
BinPackParameters: true
|
|
|
|
# Add no space around the bit field
|
|
# unsigned bf:2;
|
|
BitFieldColonSpacing: None
|
|
|
|
# Attach braces to surrounding context except break before braces on function
|
|
# definitions.
|
|
# void foo()
|
|
# {
|
|
# if (true) {
|
|
# } else {
|
|
# }
|
|
# };
|
|
BreakBeforeBraces: Linux
|
|
|
|
# Break after operators
|
|
# int value = aaaaaaaaaaaaa +
|
|
# bbbbbb -
|
|
# ccccccccccc;
|
|
BreakBeforeBinaryOperators: None
|
|
BreakBeforeTernaryOperators: false
|
|
|
|
# Don't break string literals
|
|
BreakStringLiterals: false
|
|
|
|
# Use the same indentation level as for the switch statement.
|
|
# Switch statement body is always indented one level more than case labels.
|
|
IndentCaseLabels: false
|
|
|
|
# Indents directives before the hash. Each level uses a single space for
|
|
# indentation.
|
|
# #if FOO
|
|
# # include <foo>
|
|
# #endif
|
|
IndentPPDirectives: AfterHash
|
|
PPIndentWidth: 1
|
|
|
|
# Don't indent a function definition or declaration if it is wrapped after the
|
|
# type
|
|
IndentWrappedFunctionNames: false
|
|
|
|
# Align pointer to the right
|
|
# int *a;
|
|
PointerAlignment: Right
|
|
|
|
# Don't insert a space after a cast
|
|
# x = (int32)y; not x = (int32) y;
|
|
SpaceAfterCStyleCast: false
|
|
|
|
# No space is inserted after the logical not operator
|
|
SpaceAfterLogicalNot: false
|
|
|
|
# Insert spaces before and after assignment operators
|
|
# int a = 5; not int a=5;
|
|
# a += 42; a+=42;
|
|
SpaceBeforeAssignmentOperators: true
|
|
|
|
# Spaces will be removed before case colon.
|
|
# case 1: break; not case 1 : break;
|
|
SpaceBeforeCaseColon: false
|
|
|
|
# Put a space before opening parentheses only after control statement keywords.
|
|
# void f() {
|
|
# if (true) {
|
|
# f();
|
|
# }
|
|
# }
|
|
SpaceBeforeParens: ControlStatements
|
|
|
|
# Don't insert spaces inside empty '()'
|
|
SpaceInEmptyParentheses: false
|
|
|
|
# No space before first '[' in arrays
|
|
# int a[5][5]; not int a [5][5];
|
|
SpaceBeforeSquareBrackets: false
|
|
|
|
# No space will be inserted into {}
|
|
# while (true) {} not while (true) { }
|
|
SpaceInEmptyBlock: false
|
|
|
|
# The number of spaces before trailing line comments (// - comments).
|
|
# This does not affect trailing block comments (/* - comments).
|
|
SpacesBeforeTrailingComments: 1
|
|
|
|
# Don't insert spaces in casts
|
|
# x = (int32) y; not x = ( int32 ) y;
|
|
SpacesInCStyleCastParentheses: false
|
|
|
|
# Don't insert spaces inside container literals
|
|
# var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ];
|
|
SpacesInContainerLiterals: false
|
|
|
|
# Don't insert spaces after '(' or before ')'
|
|
# f(arg); not f( arg );
|
|
SpacesInParentheses: false
|
|
|
|
# Don't insert spaces after '[' or before ']'
|
|
# int a[5]; not int a[ 5 ];
|
|
SpacesInSquareBrackets: false
|
|
|
|
# Insert a space after '{' and before '}' in struct initializers
|
|
Cpp11BracedListStyle: false
|
|
|
|
# A list of macros that should be interpreted as foreach loops instead of as
|
|
# function calls. Taken from:
|
|
# git grep -h '^#define [^[:space:]]*for_\?each[^[:space:]]*(' |
|
|
# sed "s/^#define / - '/; s/(.*$/'/" | sort | uniq
|
|
ForEachMacros:
|
|
- 'for_each_builtin'
|
|
- 'for_each_string_list_item'
|
|
- 'for_each_ut'
|
|
- 'for_each_wanted_builtin'
|
|
- 'hashmap_for_each_entry'
|
|
- 'hashmap_for_each_entry_from'
|
|
- 'kh_foreach'
|
|
- 'kh_foreach_value'
|
|
- 'list_for_each'
|
|
- 'list_for_each_dir'
|
|
- 'list_for_each_prev'
|
|
- 'list_for_each_prev_safe'
|
|
- 'list_for_each_safe'
|
|
- 'strintmap_for_each_entry'
|
|
- 'strmap_for_each_entry'
|
|
- 'strset_for_each_entry'
|
|
|
|
# A list of macros that should be interpreted as conditionals instead of as
|
|
# function calls.
|
|
IfMacros:
|
|
- 'if_test'
|
|
|
|
# The maximum number of consecutive empty lines to keep.
|
|
MaxEmptyLinesToKeep: 1
|
|
|
|
# No empty line at the start of a block.
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
|
|
# Penalties
|
|
# This decides what order things should be done if a line is too long
|
|
PenaltyBreakAssignment: 5
|
|
PenaltyBreakBeforeFirstCallParameter: 5
|
|
PenaltyBreakComment: 5
|
|
PenaltyBreakFirstLessLess: 0
|
|
PenaltyBreakOpenParenthesis: 300
|
|
PenaltyBreakString: 5
|
|
PenaltyExcessCharacter: 10
|
|
PenaltyReturnTypeOnItsOwnLine: 300
|
|
|
|
# Don't sort #include's
|
|
SortIncludes: false
|