]>
Commit | Line | Data |
---|---|---|
1bf0259a SB |
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. | |
6134de6a BW |
6 | |
7 | # Use tabs whenever we need to fill whitespace that spans at least from one tab | |
8 | # stop to the next one. | |
b548d698 | 9 | # |
10 | # These settings are mirrored in .editorconfig. Keep them in sync. | |
6134de6a BW |
11 | UseTab: Always |
12 | TabWidth: 8 | |
13 | IndentWidth: 8 | |
14 | ContinuationIndentWidth: 8 | |
15 | ColumnLimit: 80 | |
16 | ||
17 | # C Language specifics | |
18 | Language: Cpp | |
19 | ||
20 | # Align parameters on the open bracket | |
21 | # someLongFunction(argument1, | |
22 | # argument2); | |
23 | AlignAfterOpenBracket: Align | |
24 | ||
25 | # Don't align consecutive assignments | |
26 | # int aaaa = 12; | |
27 | # int b = 14; | |
28 | AlignConsecutiveAssignments: false | |
29 | ||
30 | # Don't align consecutive declarations | |
31 | # int aaaa = 12; | |
32 | # double b = 3.14; | |
33 | AlignConsecutiveDeclarations: false | |
34 | ||
35 | # Align escaped newlines as far left as possible | |
36 | # #define A \ | |
37 | # int aaaa; \ | |
38 | # int b; \ | |
39 | # int cccccccc; | |
40 | AlignEscapedNewlines: Left | |
41 | ||
42 | # Align operands of binary and ternary expressions | |
43 | # int aaa = bbbbbbbbbbb + | |
44 | # cccccc; | |
45 | AlignOperands: true | |
46 | ||
47 | # Don't align trailing comments | |
48 | # int a; // Comment a | |
49 | # int b = 2; // Comment b | |
50 | AlignTrailingComments: false | |
51 | ||
52 | # By default don't allow putting parameters onto the next line | |
53 | # myFunction(foo, bar, baz); | |
54 | AllowAllParametersOfDeclarationOnNextLine: false | |
55 | ||
56 | # Don't allow short braced statements to be on a single line | |
57 | # if (a) not if (a) return; | |
58 | # return; | |
59 | AllowShortBlocksOnASingleLine: false | |
60 | AllowShortCaseLabelsOnASingleLine: false | |
61 | AllowShortFunctionsOnASingleLine: false | |
62 | AllowShortIfStatementsOnASingleLine: false | |
63 | AllowShortLoopsOnASingleLine: false | |
64 | ||
65 | # By default don't add a line break after the return type of top-level functions | |
66 | # int foo(); | |
67 | AlwaysBreakAfterReturnType: 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); | |
72 | BinPackArguments: true | |
73 | BinPackParameters: 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 | # }; | |
83 | BreakBeforeBraces: Linux | |
84 | ||
85 | # Break after operators | |
8f815325 AN |
86 | # int value = aaaaaaaaaaaaa + |
87 | # bbbbbb - | |
88 | # ccccccccccc; | |
6134de6a BW |
89 | BreakBeforeBinaryOperators: None |
90 | BreakBeforeTernaryOperators: false | |
91 | ||
92 | # Don't break string literals | |
93 | BreakStringLiterals: 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. | |
97 | IndentCaseLabels: false | |
98 | ||
99 | # Don't indent a function definition or declaration if it is wrapped after the | |
100 | # type | |
101 | IndentWrappedFunctionNames: false | |
102 | ||
103 | # Align pointer to the right | |
104 | # int *a; | |
105 | PointerAlignment: Right | |
106 | ||
107 | # Don't insert a space after a cast | |
108 | # x = (int32)y; not x = (int32) y; | |
109 | SpaceAfterCStyleCast: false | |
110 | ||
111 | # Insert spaces before and after assignment operators | |
112 | # int a = 5; not int a=5; | |
113 | # a += 42; a+=42; | |
114 | SpaceBeforeAssignmentOperators: true | |
115 | ||
116 | # Put a space before opening parentheses only after control statement keywords. | |
117 | # void f() { | |
118 | # if (true) { | |
119 | # f(); | |
120 | # } | |
121 | # } | |
122 | SpaceBeforeParens: ControlStatements | |
123 | ||
124 | # Don't insert spaces inside empty '()' | |
125 | SpaceInEmptyParentheses: false | |
126 | ||
127 | # The number of spaces before trailing line comments (// - comments). | |
128 | # This does not affect trailing block comments (/* - comments). | |
129 | SpacesBeforeTrailingComments: 1 | |
130 | ||
131 | # Don't insert spaces in casts | |
132 | # x = (int32) y; not x = ( int32 ) y; | |
133 | SpacesInCStyleCastParentheses: false | |
134 | ||
135 | # Don't insert spaces inside container literals | |
136 | # var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ]; | |
137 | SpacesInContainerLiterals: false | |
138 | ||
139 | # Don't insert spaces after '(' or before ')' | |
140 | # f(arg); not f( arg ); | |
141 | SpacesInParentheses: false | |
142 | ||
143 | # Don't insert spaces after '[' or before ']' | |
144 | # int a[5]; not int a[ 5 ]; | |
145 | SpacesInSquareBrackets: false | |
146 | ||
147 | # Insert a space after '{' and before '}' in struct initializers | |
148 | Cpp11BracedListStyle: false | |
149 | ||
150 | # A list of macros that should be interpreted as foreach loops instead of as | |
fc7e03aa MO |
151 | # function calls. Taken from: |
152 | # git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' \ | |
153 | # | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \ | |
154 | # | sort | uniq | |
155 | ForEachMacros: | |
156 | - 'for_each_abbrev' | |
157 | - 'for_each_builtin' | |
158 | - 'for_each_string_list_item' | |
159 | - 'for_each_ut' | |
160 | - 'for_each_wanted_builtin' | |
161 | - 'list_for_each' | |
162 | - 'list_for_each_dir' | |
163 | - 'list_for_each_prev' | |
164 | - 'list_for_each_prev_safe' | |
165 | - 'list_for_each_safe' | |
6134de6a BW |
166 | |
167 | # The maximum number of consecutive empty lines to keep. | |
168 | MaxEmptyLinesToKeep: 1 | |
169 | ||
170 | # No empty line at the start of a block. | |
171 | KeepEmptyLinesAtTheStartOfBlocks: false | |
172 | ||
173 | # Penalties | |
174 | # This decides what order things should be done if a line is too long | |
42efde4c JS |
175 | PenaltyBreakAssignment: 10 |
176 | PenaltyBreakBeforeFirstCallParameter: 30 | |
177 | PenaltyBreakComment: 10 | |
6134de6a | 178 | PenaltyBreakFirstLessLess: 0 |
42efde4c JS |
179 | PenaltyBreakString: 10 |
180 | PenaltyExcessCharacter: 100 | |
a3715d43 | 181 | PenaltyReturnTypeOnItsOwnLine: 60 |
6134de6a BW |
182 | |
183 | # Don't sort #include's | |
184 | SortIncludes: false |