-
Notifications
You must be signed in to change notification settings - Fork 0
/
uncrustify.cfg
398 lines (335 loc) · 13.7 KB
/
uncrustify.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
# -------------------------------------------------------------------------------------------------#
# #
# _ _ _ _ __ ___ _____ _ _ __ _ #
# | | | |_ _ __ _ _ _ _ __| |_(_)/ _|_ _ / __| / / __|| |_ _| |_ __ ___ _ _ / _(_)__ _ #
# | |_| | ' \/ _| '_| || (_-< _| | _| || | | (__ / / (_|_ _|_ _| / _/ _ \ ' \| _| / _` | #
# \___/|_||_\__|_| \_,_/__/\__|_|_| \_, | \___/_/ \___||_| |_| \__\___/_||_|_| |_\__, | #
# |__/ |___/ #
# #
# -------------------------------------------------------------------------------------------------#
# #
# Style: rindeal #
# #
# -------------------------------------------------------------------------------------------------#
# Boilerplate: https://github.com/bengardner/uncrustify/blob/master/etc/defaults.cfg #
# -------------------------------------------------------------------------------------------------#
## General
## -------------------------------------------------------------------------------------------------
# The type of line endings
newlines = lf # auto/lf/crlf/cr
# - 80 limit is completely deprecated
# - 100 is the new soft limit
# - 120 is hard limit
code_width = 120
# empty_lines_max = nl_max - 1
nl_max = 3
## UNICODE
## -------------------------------------------------------------------------------------------------
## Ideally ASCII, UTF-8 otherwise
# If the file contains bytes with values between 128 and 255, but is not UTF-8, then output as UTF-8
utf8_byte = false
# Force the output encoding to UTF-8
utf8_force = true
## Tabs
## -------------------------------------------------------------------------------------------------
## Always use 4 spaces
input_tab_size = 4
output_tab_size = 4
indent_with_tabs = 0
# Comments that are not a brace level are indented with tabs on a tabstop.
# Requires indent_with_tabs = 2. If false, will use spaces.
indent_cmt_with_tabs = false
# Whether to use tabs for aligning
align_with_tabs = false
# Whether to keep non-indenting tabs
align_keep_tabs = false
# Whether to bump out to the next tab when aligning
align_on_tabstop = false
## Indenting
## -------------------------------------------------------------------------------------------------
# The number of columns to indent per level.
# Usually 2, 3, 4, or 8.
indent_columns = 4
# The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents.
# For FreeBSD, this is set to 4. Negative value is absolute and not increased for each ( level
indent_continue = 2
## Spacing
## -------------------------------------------------------------------------------------------------
# Whether to balance spaces inside nested parens
sp_balance_nested_parens = false
## Parentheses
## -------------------------------------------------------------------------------------------------
# Controls the indent of a close paren after a newline.
# 0: Indent to body level
# 1: Align under the open paren
# 2: Indent to the brace level
indent_paren_close = 2
## Preprocessor
## -------------------------------------------------------------------------------------------------
# Control indent of preprocessors inside #if blocks at brace level 0
pp_indent = remove # ignore/add/remove/force
# indent by 1 space
pp_space = add
pp_space_count = 1
# indent pp at code level
pp_indent_at_level = true
pp_define_at_level = true
# Control whether to indent the code between #if, #else and #endif when not at file-level
pp_if_indent_code = false
# # Align macro functions and variables together
align_pp_define_together = false
# The minimum space between label and value of a preprocessor define
align_pp_define_gap = 1
# The span for aligning on '#define' bodies (0=don't align)
align_pp_define_span = 2
# Add or remove space around preprocessor '##' concatenation operator. Default=Add
sp_pp_concat = add # ignore/add/remove/force
# Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator.
sp_pp_stringify = ignore # ignore/add/remove/force
# Add or remove space before preprocessor '#' stringify operator as in '#define x(y) L#y'.
sp_before_pp_stringify = ignore # ignore/add/remove/force
# Template
# --------------------------------------------------------------------------------------------------
# Add or remove space in 'template <' vs 'template<'.
# If set to ignore, sp_before_angle is used.
sp_template_angle = remove # ignore/add/remove/force
# Add or remove space before '<>'
sp_before_angle = remove # ignore/add/remove/force
# Add or remove space inside '<' and '>'
sp_inside_angle = remove # ignore/add/remove/force
# Add or remove space after '<>'
sp_after_angle = add # ignore/add/remove/force
# Add or remove space between '<>' and '(' as found in 'new List<byte>();'
sp_angle_paren = remove # ignore/add/remove/force
# Add or remove space between '<>' and a word as in 'List<byte> m;'
sp_angle_word = ignore # ignore/add/remove/force
# Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add
sp_angle_shift = remove # ignore/add/remove/force
indent_align_string = false
# Whether braces are indented to the body level
indent_braces = false
# Disabled indenting function braces if indent_braces is true
indent_braces_no_func = false
# Disabled indenting class braces if indent_braces is true
indent_braces_no_class = false
# Disabled indenting struct braces if indent_braces is true
indent_braces_no_struct = false
# Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc.
indent_brace_parent = false
indent_namespace = false
indent_extern = false
indent_class = true
indent_class_colon = false
indent_else_if = false
indent_var_def_cont = true
indent_func_call_param = false
indent_func_def_param = false
indent_func_proto_param = false
indent_func_class_param = false
indent_func_ctor_var_param = false
indent_func_param_double = true
indent_template_param = false
indent_relative_single_line_comments = false
indent_col1_comment = true
indent_access_spec_body = false
indent_paren_nl = false
indent_comma_paren = false
indent_bool_paren = false
indent_first_bool_expr = false
indent_square_nl = false
indent_preserve_sql = false
indent_align_assign = true
align_number_left = true
align_func_params = true
align_same_func_call_params = false
align_var_def_colon = false
align_var_def_attribute = true
align_var_def_inline = true
align_right_cmt_mix = false
align_on_operator = false
align_mix_var_proto = false
align_single_line_func = false
align_single_line_brace = false
align_nl_cont = false
align_left_shift = true
align_oc_decl_colon = false
nl_collapse_empty_body = true
nl_assign_leave_one_liners = true
nl_class_leave_one_liners = true
nl_enum_leave_one_liners = true
nl_getset_leave_one_liners = true
nl_func_leave_one_liners = true
nl_if_leave_one_liners = true
nl_multi_line_cond = true
nl_multi_line_define = true
nl_before_case = false
nl_after_case = false
nl_after_return = true
nl_after_semicolon = true
nl_after_brace_open = false
nl_after_brace_open_cmt = false
nl_after_vbrace_open = false
nl_after_vbrace_open_empty = false
nl_after_brace_close = false
nl_after_vbrace_close = false
nl_define_macro = false
nl_squeeze_ifdef = false
nl_ds_struct_enum_cmt = false
nl_ds_struct_enum_close_brace = false
nl_create_if_one_liner = false
nl_create_for_one_liner = false
nl_create_while_one_liner = false
ls_for_split_full = true
ls_func_split_full = false
nl_after_multiline_comment = true
eat_blanks_after_open_brace = true
eat_blanks_before_close_brace = true
mod_full_brace_if_chain = true
mod_pawn_semicolon = false
mod_full_paren_if_bool = false
mod_remove_extra_semicolon = false
mod_sort_import = false
mod_sort_using = false
mod_sort_include = true
mod_move_case_break = false
mod_remove_empty_return = true
cmt_indent_multi = true
cmt_c_group = false
cmt_c_nl_start = false
cmt_c_nl_end = false
cmt_cpp_group = false
cmt_cpp_nl_start = false
cmt_cpp_nl_end = false
cmt_cpp_to_c = false
cmt_star_cont = true
cmt_multi_check_last = true
cmt_insert_before_preproc = false
indent_sing_line_comments = 0
indent_switch_case = 4
indent_case_shift = 0
align_var_def_star_style = 0
align_var_def_amp_style = 1
align_assign_span = 1
align_assign_thresh = 8
align_enum_equ_span = 3
align_var_struct_span = 3
align_var_struct_gap = 1
align_struct_init_span = 2
align_right_cmt_span = 2
align_right_cmt_gap = 1
align_right_cmt_at_col = 2
nl_end_of_file_min = 1
nl_func_var_def_blk = 1
nl_after_func_body = 2
nl_after_func_body_one_liner = 2
nl_before_block_comment = 2
nl_after_struct = 1
mod_full_brace_nl = 1
mod_add_long_function_closebrace_comment = 32
mod_add_long_ifdef_endif_comment = 10
mod_add_long_ifdef_else_comment = 10
sp_arith = force
sp_assign = force
sp_assign_default = add
sp_enum_assign = force
sp_bool = force
sp_compare = force
sp_before_ptr_star = remove
sp_before_unnamed_ptr_star = remove
sp_between_ptr_star = remove
sp_after_ptr_star = add
sp_after_ptr_star_func = force
sp_before_ptr_star_func = force
sp_after_type = force
sp_before_sparen = remove
sp_inside_sparen = remove
sp_after_sparen = add
sp_sparen_brace = add
sp_special_semi = remove
sp_before_semi = remove
sp_before_semi_for_empty = remove
sp_after_semi = add
sp_after_semi_for_empty = remove
sp_after_comma = force
sp_before_comma = remove
sp_before_case_colon = remove
sp_after_operator = add
sp_after_operator_sym = add
sp_after_cast = remove
sp_inside_paren_cast = remove
sp_sizeof_paren = remove
sp_inside_braces_enum = add
sp_inside_braces_struct = add
sp_inside_braces = add
sp_inside_braces_empty = add
sp_func_proto_paren = remove
sp_func_def_paren = remove
sp_inside_fparens = remove
sp_inside_fparen = remove
sp_fparen_brace = remove
sp_func_call_paren = remove
sp_func_call_paren_empty = remove
sp_func_call_user_paren = remove
sp_return_paren = add
sp_attribute_paren = remove
sp_defined_paren = remove
sp_macro = add
sp_macro_func = add
sp_else_brace = add
sp_brace_else = add
sp_brace_typedef = add
sp_not = remove
sp_inv = remove
sp_addr = remove
sp_member = remove
sp_deref = remove
sp_sign = remove
sp_incdec = remove
sp_before_nl_cont = add
sp_cond_colon = force
sp_cond_question = force
sp_cmt_cpp_start = add
nl_start_of_file = remove
nl_end_of_file = force
nl_assign_brace = remove
nl_assign_square = remove
nl_enum_brace = remove
nl_struct_brace = remove
nl_union_brace = remove
nl_if_brace = remove
nl_brace_else = remove
nl_elseif_brace = remove
nl_else_brace = remove
nl_else_if = remove
nl_for_brace = remove
nl_while_brace = remove
nl_do_brace = remove
nl_brace_while = remove
nl_switch_brace = remove
nl_case_colon_brace = remove
nl_func_type_name = remove
nl_func_proto_type_name = add
nl_func_paren = remove
nl_func_def_paren = remove
nl_func_decl_empty = remove
nl_func_def_empty = remove
nl_fdef_brace = add
nl_return_expr = remove
pos_arith = lead
pos_assign = trail
pos_bool = trail
pos_conditional = trail
pos_comma = trail
pos_class_comma = lead
pos_class_colon = lead
mod_full_brace_do = remove
mod_full_brace_for = remove
mod_full_brace_function = force
mod_full_brace_while = remove
mod_paren_on_return = ignore
# Misc
# --------------------------------------------------------------------------------------------------
# Allow interpreting '>=' and '>>=' as part of a template in 'void f(list<list<B>>=val);'.
# If true (default), 'assert(x<0 && y>=3)' will be broken.
# Improvements to template detection may make this option obsolete.
tok_split_gte = false