forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
clang-format: outline the git project's coding style
Add a '.clang-format' file which outlines the git project's coding style. This can be used with clang-format to auto-format .c and .h files to conform with git's style. Signed-off-by: Brandon Williams <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
- Loading branch information
Showing
1 changed file
with
165 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
# Defaults | ||
|
||
# Use tabs whenever we need to fill whitespace that spans at least from one tab | ||
# stop to the next one. | ||
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 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 | ||
|
||
# Attach braces to surrounding context except break before braces on function | ||
# definitions. | ||
# void foo() | ||
# { | ||
# if (true) { | ||
# } else { | ||
# } | ||
# }; | ||
BreakBeforeBraces: Linux | ||
|
||
# Break after operators | ||
# int valuve = 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 | ||
|
||
# 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 | ||
|
||
# Insert spaces before and after assignment operators | ||
# int a = 5; not int a=5; | ||
# a += 42; a+=42; | ||
SpaceBeforeAssignmentOperators: true | ||
|
||
# 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 | ||
|
||
# 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. | ||
ForEachMacros: ['for_each_string_list_item'] | ||
|
||
# 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: 100 | ||
PenaltyBreakBeforeFirstCallParameter: 100 | ||
PenaltyBreakComment: 100 | ||
PenaltyBreakFirstLessLess: 0 | ||
PenaltyBreakString: 100 | ||
PenaltyExcessCharacter: 5 | ||
PenaltyReturnTypeOnItsOwnLine: 0 | ||
|
||
# Don't sort #include's | ||
SortIncludes: false |