 7e785b87db
			
		
	
	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
 |