A config file.
[xonotic/xonotic-data.pk3dir.git] / qcsrc / uncrustify.cfg
1 # Uncrustify 0.57
2
3 #
4 # General options
5 #
6
7 # The type of line endings
8 newlines                                 = auto     # auto/lf/crlf/cr
9
10 # The original size of tabs in the input
11 input_tab_size                           = 8        # number
12
13 # The size of tabs in the output (only used if align_with_tabs=true)
14 output_tab_size                          = 8        # number
15
16 # The ASCII value of the string escape char, usually 92 (\) or 94 (^). (Pawn)
17 string_escape_char                       = 92       # number
18
19 # Alternate string escape char for Pawn. Only works right before the quote char.
20 string_escape_char2                      = 0        # number
21
22 #
23 # Indenting
24 #
25
26 # The number of columns to indent per level.
27 # Usually 2, 3, 4, or 8.
28 indent_columns                           = 8        # number
29
30 # The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents.
31 # For FreeBSD, this is set to 4.
32 indent_continue                          = 0        # number
33
34 # How to use tabs when indenting code
35 # 0=spaces only
36 # 1=indent with tabs to brace level, align with spaces
37 # 2=indent and align with tabs, using spaces when not on a tabstop
38 indent_with_tabs                         = 1        # number
39
40 # Comments that are not a brace level are indented with tabs on a tabstop.
41 # Requires indent_with_tabs=2. If false, will use spaces.
42 indent_cmt_with_tabs                     = false    # false/true
43
44 # Whether to indent strings broken by '\' so that they line up
45 indent_align_string                      = false    # false/true
46
47 # The number of spaces to indent multi-line XML strings.
48 # Requires indent_align_string=True
49 indent_xml_string                        = 0        # number
50
51 # Spaces to indent '{' from level
52 indent_brace                             = 0        # number
53
54 # Whether braces are indented to the body level
55 indent_braces                            = false    # false/true
56
57 # Disabled indenting function braces if indent_braces is true
58 indent_braces_no_func                    = false    # false/true
59
60 # Disabled indenting class braces if indent_braces is true
61 indent_braces_no_class                   = false    # false/true
62
63 # Disabled indenting struct braces if indent_braces is true
64 indent_braces_no_struct                  = false    # false/true
65
66 # Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc.
67 indent_brace_parent                      = false    # false/true
68
69 # Whether the 'namespace' body is indented
70 indent_namespace                         = false    # false/true
71
72 # The number of spaces to indent a namespace block
73 indent_namespace_level                   = 0        # number
74
75 # If the body of the namespace is longer than this number, it won't be indented.
76 # Requires indent_namespace=true. Default=0 (no limit)
77 indent_namespace_limit                   = 0        # number
78
79 # Whether the 'extern "C"' body is indented
80 indent_extern                            = false    # false/true
81
82 # Whether the 'class' body is indented
83 indent_class                             = false    # false/true
84
85 # Whether to indent the stuff after a leading class colon
86 indent_class_colon                       = false    # false/true
87
88 # False=treat 'else\nif' as 'else if' for indenting purposes
89 # True=indent the 'if' one level
90 indent_else_if                           = false    # false/true
91
92 # Amount to indent variable declarations after a open brace. neg=relative, pos=absolute
93 indent_var_def_blk                       = 0        # number
94
95 # Indent continued variable declarations instead of aligning.
96 indent_var_def_cont                      = false    # false/true
97
98 # True:  indent continued function call parameters one indent level
99 # False: align parameters under the open paren
100 indent_func_call_param                   = false    # false/true
101
102 # Same as indent_func_call_param, but for function defs
103 indent_func_def_param                    = false    # false/true
104
105 # Same as indent_func_call_param, but for function protos
106 indent_func_proto_param                  = false    # false/true
107
108 # Same as indent_func_call_param, but for class declarations
109 indent_func_class_param                  = false    # false/true
110
111 # Same as indent_func_call_param, but for class variable constructors
112 indent_func_ctor_var_param               = false    # false/true
113
114 # Same as indent_func_call_param, but for templates
115 indent_template_param                    = false    # false/true
116
117 # Double the indent for indent_func_xxx_param options
118 indent_func_param_double                 = false    # false/true
119
120 # Indentation column for standalone 'const' function decl/proto qualifier
121 indent_func_const                        = 0        # number
122
123 # Indentation column for standalone 'throw' function decl/proto qualifier
124 indent_func_throw                        = 0        # number
125
126 # The number of spaces to indent a continued '->' or '.'
127 # Usually set to 0, 1, or indent_columns.
128 indent_member                            = 0        # number
129
130 # Spaces to indent single line ('//') comments on lines before code
131 indent_sing_line_comments                = 0        # number
132
133 # If set, will indent trailing single line ('//') comments relative
134 # to the code instead of trying to keep the same absolute column
135 indent_relative_single_line_comments     = false    # false/true
136
137 # Spaces to indent 'case' from 'switch'
138 # Usually 0 or indent_columns.
139 indent_switch_case                       = indent_columns        # number
140
141 # Spaces to shift the 'case' line, without affecting any other lines
142 # Usually 0.
143 indent_case_shift                        = 0        # number
144
145 # Spaces to indent '{' from 'case'.
146 # By default, the brace will appear under the 'c' in case.
147 # Usually set to 0 or indent_columns.
148 indent_case_brace                        = 0        # number
149
150 # Whether to indent comments found in first column
151 indent_col1_comment                      = false    # false/true
152
153 # How to indent goto labels
154 #  >0 : absolute column where 1 is the leftmost column
155 #  <=0 : subtract from brace indent
156 indent_label                             = 1        # number
157
158 # Same as indent_label, but for access specifiers that are followed by a colon
159 indent_access_spec                       = 1        # number
160
161 # Indent the code after an access specifier by one level.
162 # If set, this option forces 'indent_access_spec=0'
163 indent_access_spec_body                  = false    # false/true
164
165 # If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended)
166 indent_paren_nl                          = false    # false/true
167
168 # Controls the indent of a close paren after a newline.
169 # 0: Indent to body level
170 # 1: Align under the open paren
171 # 2: Indent to the brace level
172 indent_paren_close                       = 0        # number
173
174 # Controls the indent of a comma when inside a paren.If TRUE, aligns under the open paren
175 indent_comma_paren                       = false    # false/true
176
177 # Controls the indent of a BOOL operator when inside a paren.If TRUE, aligns under the open paren
178 indent_bool_paren                        = false    # false/true
179
180 # If 'indent_bool_paren' is true, controls the indent of the first expression. If TRUE, aligns the first expression to the following ones
181 indent_first_bool_expr                   = false    # false/true
182
183 # If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended)
184 indent_square_nl                         = false    # false/true
185
186 # Don't change the relative indent of ESQL/C 'EXEC SQL' bodies
187 indent_preserve_sql                      = false    # false/true
188
189 # Align continued statements at the '='. Default=True
190 # If FALSE or the '=' is followed by a newline, the next line is indent one tab.
191 indent_align_assign                      = true     # false/true
192
193 #
194 # Spacing options
195 #
196
197 # Add or remove space around arithmetic operator '+', '-', '/', '*', etc
198 sp_arith                                 = ignore   # ignore/add/remove/force
199
200 # Add or remove space around assignment operator '=', '+=', etc
201 sp_assign                                = add      # ignore/add/remove/force
202
203 # Add or remove space around assignment operator '=' in a prototype
204 sp_assign_default                        = add      # ignore/add/remove/force
205
206 # Add or remove space before assignment operator '=', '+=', etc. Overrides sp_assign.
207 sp_before_assign                         = ignore   # ignore/add/remove/force
208
209 # Add or remove space after assignment operator '=', '+=', etc. Overrides sp_assign.
210 sp_after_assign                          = ignore   # ignore/add/remove/force
211
212 # Add or remove space around assignment '=' in enum
213 sp_enum_assign                           = add      # ignore/add/remove/force
214
215 # Add or remove space before assignment '=' in enum. Overrides sp_enum_assign.
216 sp_enum_before_assign                    = ignore   # ignore/add/remove/force
217
218 # Add or remove space after assignment '=' in enum. Overrides sp_enum_assign.
219 sp_enum_after_assign                     = ignore   # ignore/add/remove/force
220
221 # Add or remove space around preprocessor '##' concatenation operator. Default=Add
222 sp_pp_concat                             = remove   # ignore/add/remove/force
223
224 # Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator. Default=Add
225 sp_pp_stringify                          = remove   # ignore/add/remove/force
226
227 # Add or remove space around boolean operators '&&' and '||'
228 sp_bool                                  = add      # ignore/add/remove/force
229
230 # Add or remove space around compare operator '<', '>', '==', etc
231 sp_compare                               = add      # ignore/add/remove/force
232
233 # Add or remove space inside '(' and ')'
234 sp_inside_paren                          = remove   # ignore/add/remove/force
235
236 # Add or remove space between nested parens
237 sp_paren_paren                           = remove   # ignore/add/remove/force
238
239 # Whether to balance spaces inside nested parens
240 sp_balance_nested_parens                 = false    # false/true
241
242 # Add or remove space between ')' and '{'
243 sp_paren_brace                           = ignore   # ignore/add/remove/force
244
245 # Add or remove space before pointer star '*'
246 sp_before_ptr_star                       = ignore   # ignore/add/remove/force
247
248 # Add or remove space before pointer star '*' that isn't followed by a variable name
249 # If set to 'ignore', sp_before_ptr_star is used instead.
250 sp_before_unnamed_ptr_star               = ignore   # ignore/add/remove/force
251
252 # Add or remove space between pointer stars '*'
253 sp_between_ptr_star                      = ignore   # ignore/add/remove/force
254
255 # Add or remove space after pointer star '*', if followed by a word.
256 sp_after_ptr_star                        = ignore   # ignore/add/remove/force
257
258 # Add or remove space after a pointer star '*', if followed by a func proto/def.
259 sp_after_ptr_star_func                   = ignore   # ignore/add/remove/force
260
261 # Add or remove space before a pointer star '*', if followed by a func proto/def.
262 sp_before_ptr_star_func                  = ignore   # ignore/add/remove/force
263
264 # Add or remove space before a reference sign '&'
265 sp_before_byref                          = ignore   # ignore/add/remove/force
266
267 # Add or remove space before a reference sign '&' that isn't followed by a variable name
268 # If set to 'ignore', sp_before_byref is used instead.
269 sp_before_unnamed_byref                  = ignore   # ignore/add/remove/force
270
271 # Add or remove space after reference sign '&', if followed by a word.
272 sp_after_byref                           = ignore   # ignore/add/remove/force
273
274 # Add or remove space after a reference sign '&', if followed by a func proto/def.
275 sp_after_byref_func                      = ignore   # ignore/add/remove/force
276
277 # Add or remove space before a reference sign '&', if followed by a func proto/def.
278 sp_before_byref_func                     = ignore   # ignore/add/remove/force
279
280 # Add or remove space between type and word. Default=Force
281 sp_after_type                            = force    # ignore/add/remove/force
282
283 # Add or remove space in 'template <' vs 'template<'.
284 # If set to ignore, sp_before_angle is used.
285 sp_template_angle                        = ignore   # ignore/add/remove/force
286
287 # Add or remove space before '<>'
288 sp_before_angle                          = ignore   # ignore/add/remove/force
289
290 # Add or remove space inside '<' and '>'
291 sp_inside_angle                          = ignore   # ignore/add/remove/force
292
293 # Add or remove space after '<>'
294 sp_after_angle                           = ignore   # ignore/add/remove/force
295
296 # Add or remove space between '<>' and '(' as found in 'new List<byte>();'
297 sp_angle_paren                           = ignore   # ignore/add/remove/force
298
299 # Add or remove space between '<>' and a word as in 'List<byte> m;'
300 sp_angle_word                            = ignore   # ignore/add/remove/force
301
302 # Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add
303 sp_angle_shift                           = add      # ignore/add/remove/force
304
305 # Add or remove space before '(' of 'if', 'for', 'switch', and 'while'
306 sp_before_sparen                         = ignore   # ignore/add/remove/force
307
308 # Add or remove space inside if-condition '(' and ')'
309 sp_inside_sparen                         = ignore   # ignore/add/remove/force
310
311 # Add or remove space before if-condition ')'. Overrides sp_inside_sparen.
312 sp_inside_sparen_close                   = ignore   # ignore/add/remove/force
313
314 # Add or remove space after ')' of 'if', 'for', 'switch', and 'while'
315 sp_after_sparen                          = ignore   # ignore/add/remove/force
316
317 # Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while'
318 sp_sparen_brace                          = ignore   # ignore/add/remove/force
319
320 # Add or remove space between 'invariant' and '(' in the D language.
321 sp_invariant_paren                       = ignore   # ignore/add/remove/force
322
323 # Add or remove space after the ')' in 'invariant (C) c' in the D language.
324 sp_after_invariant_paren                 = ignore   # ignore/add/remove/force
325
326 # Add or remove space before empty statement ';' on 'if', 'for' and 'while'
327 sp_special_semi                          = ignore   # ignore/add/remove/force
328
329 # Add or remove space before ';'. Default=Remove
330 sp_before_semi                           = remove   # ignore/add/remove/force
331
332 # Add or remove space before ';' in non-empty 'for' statements
333 sp_before_semi_for                       = ignore   # ignore/add/remove/force
334
335 # Add or remove space before a semicolon of an empty part of a for statement.
336 sp_before_semi_for_empty                 = ignore   # ignore/add/remove/force
337
338 # Add or remove space after ';', except when followed by a comment. Default=Add
339 sp_after_semi                            = add      # ignore/add/remove/force
340
341 # Add or remove space after ';' in non-empty 'for' statements. Default=Force
342 sp_after_semi_for                        = force    # ignore/add/remove/force
343
344 # Add or remove space after the final semicolon of an empty part of a for statement: for ( ; ; <here> ).
345 sp_after_semi_for_empty                  = ignore   # ignore/add/remove/force
346
347 # Add or remove space before '[' (except '[]')
348 sp_before_square                         = ignore   # ignore/add/remove/force
349
350 # Add or remove space before '[]'
351 sp_before_squares                        = ignore   # ignore/add/remove/force
352
353 # Add or remove space inside '[' and ']'
354 sp_inside_square                         = ignore   # ignore/add/remove/force
355
356 # Add or remove space after ','
357 sp_after_comma                           = ignore   # ignore/add/remove/force
358
359 # Add or remove space before ','
360 sp_before_comma                          = remove   # ignore/add/remove/force
361
362 # Add or remove space between an open paren and comma: '(,' vs '( ,'
363 sp_paren_comma                           = force    # ignore/add/remove/force
364
365 # Add or remove space before the variadic '...' when preceded by a non-punctuator
366 sp_before_ellipsis                       = ignore   # ignore/add/remove/force
367
368 # Add or remove space after class ':'
369 sp_after_class_colon                     = ignore   # ignore/add/remove/force
370
371 # Add or remove space before class ':'
372 sp_before_class_colon                    = ignore   # ignore/add/remove/force
373
374 # Add or remove space before case ':'. Default=Remove
375 sp_before_case_colon                     = remove   # ignore/add/remove/force
376
377 # Add or remove space between 'operator' and operator sign
378 sp_after_operator                        = ignore   # ignore/add/remove/force
379
380 # Add or remove space between the operator symbol and the open paren, as in 'operator ++('
381 sp_after_operator_sym                    = ignore   # ignore/add/remove/force
382
383 # Add or remove space after C/D cast, i.e. 'cast(int)a' vs 'cast(int) a' or '(int)a' vs '(int) a'
384 sp_after_cast                            = ignore   # ignore/add/remove/force
385
386 # Add or remove spaces inside cast parens
387 sp_inside_paren_cast                     = ignore   # ignore/add/remove/force
388
389 # Add or remove space between the type and open paren in a C++ cast, i.e. 'int(exp)' vs 'int (exp)'
390 sp_cpp_cast_paren                        = ignore   # ignore/add/remove/force
391
392 # Add or remove space between 'sizeof' and '('
393 sp_sizeof_paren                          = ignore   # ignore/add/remove/force
394
395 # Add or remove space after the tag keyword (Pawn)
396 sp_after_tag                             = ignore   # ignore/add/remove/force
397
398 # Add or remove space inside enum '{' and '}'
399 sp_inside_braces_enum                    = ignore   # ignore/add/remove/force
400
401 # Add or remove space inside struct/union '{' and '}'
402 sp_inside_braces_struct                  = ignore   # ignore/add/remove/force
403
404 # Add or remove space inside '{' and '}'
405 sp_inside_braces                         = ignore   # ignore/add/remove/force
406
407 # Add or remove space inside '{}'
408 sp_inside_braces_empty                   = ignore   # ignore/add/remove/force
409
410 # Add or remove space between return type and function name
411 # A minimum of 1 is forced except for pointer return types.
412 sp_type_func                             = ignore   # ignore/add/remove/force
413
414 # Add or remove space between function name and '(' on function declaration
415 sp_func_proto_paren                      = ignore   # ignore/add/remove/force
416
417 # Add or remove space between function name and '(' on function definition
418 sp_func_def_paren                        = ignore   # ignore/add/remove/force
419
420 # Add or remove space inside empty function '()'
421 sp_inside_fparens                        = ignore   # ignore/add/remove/force
422
423 # Add or remove space inside function '(' and ')'
424 sp_inside_fparen                         = ignore   # ignore/add/remove/force
425
426 # Add or remove space between ']' and '(' when part of a function call.
427 sp_square_fparen                         = ignore   # ignore/add/remove/force
428
429 # Add or remove space between ')' and '{' of function
430 sp_fparen_brace                          = ignore   # ignore/add/remove/force
431
432 # Add or remove space between function name and '(' on function calls
433 sp_func_call_paren                       = add      # ignore/add/remove/force
434
435 # Add or remove space between function name and '()' on function calls without parameters.
436 # If set to 'ignore' (the default), sp_func_call_paren is used.
437 sp_func_call_paren_empty                 = ignore   # ignore/add/remove/force
438
439 # Add or remove space between the user function name and '(' on function calls
440 # You need to set a keyword to be a user function, like this: 'set func_call_user _' in the config file.
441 sp_func_call_user_paren                  = ignore   # ignore/add/remove/force
442
443 # Add or remove space between a constructor/destructor and the open paren
444 sp_func_class_paren                      = ignore   # ignore/add/remove/force
445
446 # Add or remove space between 'return' and '('
447 sp_return_paren                          = ignore   # ignore/add/remove/force
448
449 # Add or remove space between '__attribute__' and '('
450 sp_attribute_paren                       = ignore   # ignore/add/remove/force
451
452 # Add or remove space between 'defined' and '(' in '#if defined (FOO)'
453 sp_defined_paren                         = ignore   # ignore/add/remove/force
454
455 # Add or remove space between 'throw' and '(' in 'throw (something)'
456 sp_throw_paren                           = ignore   # ignore/add/remove/force
457
458 # Add or remove space between macro and value
459 sp_macro                                 = ignore   # ignore/add/remove/force
460
461 # Add or remove space between macro function ')' and value
462 sp_macro_func                            = ignore   # ignore/add/remove/force
463
464 # Add or remove space between 'else' and '{' if on the same line
465 sp_else_brace                            = ignore   # ignore/add/remove/force
466
467 # Add or remove space between '}' and 'else' if on the same line
468 sp_brace_else                            = ignore   # ignore/add/remove/force
469
470 # Add or remove space between '}' and the name of a typedef on the same line
471 sp_brace_typedef                         = ignore   # ignore/add/remove/force
472
473 # Add or remove space between 'catch' and '{' if on the same line
474 sp_catch_brace                           = ignore   # ignore/add/remove/force
475
476 # Add or remove space between '}' and 'catch' if on the same line
477 sp_brace_catch                           = ignore   # ignore/add/remove/force
478
479 # Add or remove space between 'finally' and '{' if on the same line
480 sp_finally_brace                         = ignore   # ignore/add/remove/force
481
482 # Add or remove space between '}' and 'finally' if on the same line
483 sp_brace_finally                         = ignore   # ignore/add/remove/force
484
485 # Add or remove space between 'try' and '{' if on the same line
486 sp_try_brace                             = ignore   # ignore/add/remove/force
487
488 # Add or remove space between get/set and '{' if on the same line
489 sp_getset_brace                          = ignore   # ignore/add/remove/force
490
491 # Add or remove space before the '::' operator
492 sp_before_dc                             = ignore   # ignore/add/remove/force
493
494 # Add or remove space after the '::' operator
495 sp_after_dc                              = ignore   # ignore/add/remove/force
496
497 # Add or remove around the D named array initializer ':' operator
498 sp_d_array_colon                         = ignore   # ignore/add/remove/force
499
500 # Add or remove space after the '!' (not) operator. Default=Remove
501 sp_not                                   = remove   # ignore/add/remove/force
502
503 # Add or remove space after the '~' (invert) operator. Default=Remove
504 sp_inv                                   = remove   # ignore/add/remove/force
505
506 # Add or remove space after the '&' (address-of) operator. Default=Remove
507 # This does not affect the spacing after a '&' that is part of a type.
508 sp_addr                                  = remove   # ignore/add/remove/force
509
510 # Add or remove space around the '.' or '->' operators. Default=Remove
511 sp_member                                = remove   # ignore/add/remove/force
512
513 # Add or remove space after the '*' (dereference) operator. Default=Remove
514 # This does not affect the spacing after a '*' that is part of a type.
515 sp_deref                                 = remove   # ignore/add/remove/force
516
517 # Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'. Default=Remove
518 sp_sign                                  = remove   # ignore/add/remove/force
519
520 # Add or remove space before or after '++' and '--', as in '(--x)' or 'y++;'. Default=Remove
521 sp_incdec                                = remove   # ignore/add/remove/force
522
523 # Add or remove space before a backslash-newline at the end of a line. Default=Add
524 sp_before_nl_cont                        = add      # ignore/add/remove/force
525
526 # Add or remove space after the scope '+' or '-', as in '-(void) foo;' or '+(int) bar;'
527 sp_after_oc_scope                        = ignore   # ignore/add/remove/force
528
529 # Add or remove space after the colon in message specs
530 # '-(int) f:(int) x;' vs '-(int) f: (int) x;'
531 sp_after_oc_colon                        = ignore   # ignore/add/remove/force
532
533 # Add or remove space before the colon in message specs
534 # '-(int) f: (int) x;' vs '-(int) f : (int) x;'
535 sp_before_oc_colon                       = ignore   # ignore/add/remove/force
536
537 # Add or remove space after the colon in message specs
538 # '[object setValue:1];' vs '[object setValue: 1];'
539 sp_after_send_oc_colon                   = ignore   # ignore/add/remove/force
540
541 # Add or remove space before the colon in message specs
542 # '[object setValue:1];' vs '[object setValue :1];'
543 sp_before_send_oc_colon                  = ignore   # ignore/add/remove/force
544
545 # Add or remove space after the (type) in message specs
546 # '-(int)f: (int) x;' vs '-(int)f: (int)x;'
547 sp_after_oc_type                         = ignore   # ignore/add/remove/force
548
549 # Add or remove space after the first (type) in message specs
550 # '-(int) f:(int)x;' vs '-(int)f:(int)x;'
551 sp_after_oc_return_type                  = ignore   # ignore/add/remove/force
552
553 # Add or remove space between '@selector' and '('
554 # '@selector(msgName)' vs '@selector (msgName)'
555 # Also applies to @protocol() constructs
556 sp_after_oc_at_sel                       = ignore   # ignore/add/remove/force
557
558 # Add or remove space between '@selector(x)' and the following word
559 # '@selector(foo) a:' vs '@selector(foo)a:'
560 sp_after_oc_at_sel_parens                = ignore   # ignore/add/remove/force
561
562 # Add or remove space inside '@selector' parens
563 # '@selector(foo)' vs '@selector( foo )'
564 # Also applies to @protocol() constructs
565 sp_inside_oc_at_sel_parens               = ignore   # ignore/add/remove/force
566
567 # Add or remove space before a block pointer caret
568 # '^int (int arg){...}' vs. ' ^int (int arg){...}'
569 sp_before_oc_block_caret                 = ignore   # ignore/add/remove/force
570
571 # Add or remove space after a block pointer caret
572 # '^int (int arg){...}' vs. '^ int (int arg){...}'
573 sp_after_oc_block_caret                  = ignore   # ignore/add/remove/force
574
575 # Add or remove space around the ':' in 'b ? t : f'
576 sp_cond_colon                            = ignore   # ignore/add/remove/force
577
578 # Add or remove space around the '?' in 'b ? t : f'
579 sp_cond_question                         = ignore   # ignore/add/remove/force
580
581 # Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make sense here.
582 sp_case_label                            = ignore   # ignore/add/remove/force
583
584 # Control the space around the D '..' operator.
585 sp_range                                 = ignore   # ignore/add/remove/force
586
587 # Control the space after the opening of a C++ comment '// A' vs '//A'
588 sp_cmt_cpp_start                         = ignore   # ignore/add/remove/force
589
590 # Controls the spaces between #else or #endif and a trailing comment
591 sp_endif_cmt                             = ignore   # ignore/add/remove/force
592
593 #
594 # Code alignment (not left column spaces/tabs)
595 #
596
597 # Whether to keep non-indenting tabs
598 align_keep_tabs                          = false    # false/true
599
600 # Whether to use tabs for aligning
601 align_with_tabs                          = false    # false/true
602
603 # Whether to bump out to the next tab when aligning
604 align_on_tabstop                         = false    # false/true
605
606 # Whether to left-align numbers
607 align_number_left                        = false    # false/true
608
609 # Align variable definitions in prototypes and functions
610 align_func_params                        = false    # false/true
611
612 # Align parameters in single-line functions that have the same name.
613 # The function names must already be aligned with each other.
614 align_same_func_call_params              = false    # false/true
615
616 # The span for aligning variable definitions (0=don't align)
617 align_var_def_span                       = 0        # number
618
619 # How to align the star in variable definitions.
620 #  0=Part of the type     'void *   foo;'
621 #  1=Part of the variable 'void     *foo;'
622 #  2=Dangling             'void    *foo;'
623 align_var_def_star_style                 = 0        # number
624
625 # How to align the '&' in variable definitions.
626 #  0=Part of the type
627 #  1=Part of the variable
628 #  2=Dangling
629 align_var_def_amp_style                  = 0        # number
630
631 # The threshold for aligning variable definitions (0=no limit)
632 align_var_def_thresh                     = 0        # number
633
634 # The gap for aligning variable definitions
635 align_var_def_gap                        = 0        # number
636
637 # Whether to align the colon in struct bit fields
638 align_var_def_colon                      = false    # false/true
639
640 # Whether to align any attribute after the variable name
641 align_var_def_attribute                  = false    # false/true
642
643 # Whether to align inline struct/enum/union variable definitions
644 align_var_def_inline                     = false    # false/true
645
646 # The span for aligning on '=' in assignments (0=don't align)
647 align_assign_span                        = 0        # number
648
649 # The threshold for aligning on '=' in assignments (0=no limit)
650 align_assign_thresh                      = 0        # number
651
652 # The span for aligning on '=' in enums (0=don't align)
653 align_enum_equ_span                      = 0        # number
654
655 # The threshold for aligning on '=' in enums (0=no limit)
656 align_enum_equ_thresh                    = 0        # number
657
658 # The span for aligning struct/union (0=don't align)
659 align_var_struct_span                    = 0        # number
660
661 # The threshold for aligning struct/union member definitions (0=no limit)
662 align_var_struct_thresh                  = 0        # number
663
664 # The gap for aligning struct/union member definitions
665 align_var_struct_gap                     = 0        # number
666
667 # The span for aligning struct initializer values (0=don't align)
668 align_struct_init_span                   = 0        # number
669
670 # The minimum space between the type and the synonym of a typedef
671 align_typedef_gap                        = 0        # number
672
673 # The span for aligning single-line typedefs (0=don't align)
674 align_typedef_span                       = 0        # number
675
676 # How to align typedef'd functions with other typedefs
677 # 0: Don't mix them at all
678 # 1: align the open paren with the types
679 # 2: align the function type name with the other type names
680 align_typedef_func                       = 0        # number
681
682 # Controls the positioning of the '*' in typedefs. Just try it.
683 # 0: Align on typedef type, ignore '*'
684 # 1: The '*' is part of type name: typedef int  *pint;
685 # 2: The '*' is part of the type, but dangling: typedef int *pint;
686 align_typedef_star_style                 = 0        # number
687
688 # Controls the positioning of the '&' in typedefs. Just try it.
689 # 0: Align on typedef type, ignore '&'
690 # 1: The '&' is part of type name: typedef int  &pint;
691 # 2: The '&' is part of the type, but dangling: typedef int &pint;
692 align_typedef_amp_style                  = 0        # number
693
694 # The span for aligning comments that end lines (0=don't align)
695 align_right_cmt_span                     = 0        # number
696
697 # If aligning comments, mix with comments after '}' and #endif with less than 3 spaces before the comment
698 align_right_cmt_mix                      = false    # false/true
699
700 # If a trailing comment is more than this number of columns away from the text it follows,
701 # it will qualify for being aligned. This has to be > 0 to do anything.
702 align_right_cmt_gap                      = 0        # number
703
704 # Align trailing comment at or beyond column N; 'pulls in' comments as a bonus side effect (0=ignore)
705 align_right_cmt_at_col                   = 0        # number
706
707 # The span for aligning function prototypes (0=don't align)
708 align_func_proto_span                    = 0        # number
709
710 # Minimum gap between the return type and the function name.
711 align_func_proto_gap                     = 0        # number
712
713 # Align function protos on the 'operator' keyword instead of what follows
714 align_on_operator                        = false    # false/true
715
716 # Whether to mix aligning prototype and variable declarations.
717 # If true, align_var_def_XXX options are used instead of align_func_proto_XXX options.
718 align_mix_var_proto                      = false    # false/true
719
720 # Align single-line functions with function prototypes, uses align_func_proto_span
721 align_single_line_func                   = false    # false/true
722
723 # Aligning the open brace of single-line functions.
724 # Requires align_single_line_func=true, uses align_func_proto_span
725 align_single_line_brace                  = false    # false/true
726
727 # Gap for align_single_line_brace.
728 align_single_line_brace_gap              = 0        # number
729
730 # The span for aligning ObjC msg spec (0=don't align)
731 align_oc_msg_spec_span                   = 0        # number
732
733 # Whether to align macros wrapped with a backslash and a newline.
734 # This will not work right if the macro contains a multi-line comment.
735 align_nl_cont                            = false    # false/true
736
737 # The minimum space between label and value of a preprocessor define
738 align_pp_define_gap                      = 0        # number
739
740 # The span for aligning on '#define' bodies (0=don't align)
741 align_pp_define_span                     = 0        # number
742
743 # Align lines that start with '<<' with previous '<<'. Default=true
744 align_left_shift                         = true     # false/true
745
746 # Span for aligning parameters in an Obj-C message call on the ':' (0=don't align)
747 align_oc_msg_colon_span                  = 0        # number
748
749 # Aligning parameters in an Obj-C '+' or '-' declaration on the ':'
750 align_oc_decl_colon                      = false    # false/true
751
752 #
753 # Newline adding and removing options
754 #
755
756 # Whether to collapse empty blocks between '{' and '}'
757 nl_collapse_empty_body                   = false    # false/true
758
759 # Don't split one-line braced assignments - 'foo_t f = { 1, 2 };'
760 nl_assign_leave_one_liners               = false    # false/true
761
762 # Don't split one-line braced statements inside a class xx { } body
763 nl_class_leave_one_liners                = false    # false/true
764
765 # Don't split one-line enums: 'enum foo { BAR = 15 };'
766 nl_enum_leave_one_liners                 = false    # false/true
767
768 # Don't split one-line get or set functions
769 nl_getset_leave_one_liners               = false    # false/true
770
771 # Don't split one-line function definitions - 'int foo() { return 0; }'
772 nl_func_leave_one_liners                 = false    # false/true
773
774 # Don't split one-line if/else statements - 'if(a) b++;'
775 nl_if_leave_one_liners                   = true     # false/true
776
777 # Add or remove newlines at the start of the file
778 nl_start_of_file                         = ignore   # ignore/add/remove/force
779
780 # The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'force'
781 nl_start_of_file_min                     = 0        # number
782
783 # Add or remove newline at the end of the file
784 nl_end_of_file                           = ignore   # ignore/add/remove/force
785
786 # The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'force')
787 nl_end_of_file_min                       = 0        # number
788
789 # Add or remove newline between '=' and '{'
790 nl_assign_brace                          = ignore   # ignore/add/remove/force
791
792 # Add or remove newline between '=' and '[' (D only)
793 nl_assign_square                         = ignore   # ignore/add/remove/force
794
795 # Add or remove newline after '= [' (D only). Will also affect the newline before the ']'
796 nl_after_square_assign                   = ignore   # ignore/add/remove/force
797
798 # The number of blank lines after a block of variable definitions
799 nl_func_var_def_blk                      = 0        # number
800
801 # Add or remove newline between a function call's ')' and '{', as in:
802 # list_for_each(item, &list) { }
803 nl_fcall_brace                           = ignore   # ignore/add/remove/force
804
805 # Add or remove newline between 'enum' and '{'
806 nl_enum_brace                            = ignore   # ignore/add/remove/force
807
808 # Add or remove newline between 'struct and '{'
809 nl_struct_brace                          = ignore   # ignore/add/remove/force
810
811 # Add or remove newline between 'union' and '{'
812 nl_union_brace                           = ignore   # ignore/add/remove/force
813
814 # Add or remove newline between 'if' and '{'
815 nl_if_brace                              = ignore   # ignore/add/remove/force
816
817 # Add or remove newline between '}' and 'else'
818 nl_brace_else                            = ignore   # ignore/add/remove/force
819
820 # Add or remove newline between 'else if' and '{'
821 # If set to ignore, nl_if_brace is used instead
822 nl_elseif_brace                          = ignore   # ignore/add/remove/force
823
824 # Add or remove newline between 'else' and '{'
825 nl_else_brace                            = ignore   # ignore/add/remove/force
826
827 # Add or remove newline between 'else' and 'if'
828 nl_else_if                               = ignore   # ignore/add/remove/force
829
830 # Add or remove newline between '}' and 'finally'
831 nl_brace_finally                         = ignore   # ignore/add/remove/force
832
833 # Add or remove newline between 'finally' and '{'
834 nl_finally_brace                         = ignore   # ignore/add/remove/force
835
836 # Add or remove newline between 'try' and '{'
837 nl_try_brace                             = ignore   # ignore/add/remove/force
838
839 # Add or remove newline between get/set and '{'
840 nl_getset_brace                          = ignore   # ignore/add/remove/force
841
842 # Add or remove newline between 'for' and '{'
843 nl_for_brace                             = ignore   # ignore/add/remove/force
844
845 # Add or remove newline between 'catch' and '{'
846 nl_catch_brace                           = ignore   # ignore/add/remove/force
847
848 # Add or remove newline between '}' and 'catch'
849 nl_brace_catch                           = ignore   # ignore/add/remove/force
850
851 # Add or remove newline between 'while' and '{'
852 nl_while_brace                           = ignore   # ignore/add/remove/force
853
854 # Add or remove newline between 'using' and '{'
855 nl_using_brace                           = ignore   # ignore/add/remove/force
856
857 # Add or remove newline between two open or close braces.
858 # Due to general newline/brace handling, REMOVE may not work.
859 nl_brace_brace                           = ignore   # ignore/add/remove/force
860
861 # Add or remove newline between 'do' and '{'
862 nl_do_brace                              = ignore   # ignore/add/remove/force
863
864 # Add or remove newline between '}' and 'while' of 'do' statement
865 nl_brace_while                           = ignore   # ignore/add/remove/force
866
867 # Add or remove newline between 'switch' and '{'
868 nl_switch_brace                          = ignore   # ignore/add/remove/force
869
870 # Add a newline between ')' and '{' if the ')' is on a different line than the if/for/etc.
871 # Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch, and nl_catch_brace.
872 nl_multi_line_cond                       = false    # false/true
873
874 # Force a newline in a define after the macro name for multi-line defines.
875 nl_multi_line_define                     = false    # false/true
876
877 # Whether to put a newline before 'case' statement
878 nl_before_case                           = false    # false/true
879
880 # Add or remove newline between ')' and 'throw'
881 nl_before_throw                          = ignore   # ignore/add/remove/force
882
883 # Whether to put a newline after 'case' statement
884 nl_after_case                            = false    # false/true
885
886 # Newline between namespace and {
887 nl_namespace_brace                       = ignore   # ignore/add/remove/force
888
889 # Add or remove newline between 'template<>' and whatever follows.
890 nl_template_class                        = ignore   # ignore/add/remove/force
891
892 # Add or remove newline between 'class' and '{'
893 nl_class_brace                           = ignore   # ignore/add/remove/force
894
895 # Add or remove newline after each ',' in the constructor member initialization
896 nl_class_init_args                       = ignore   # ignore/add/remove/force
897
898 # Add or remove newline between return type and function name in a function definition
899 nl_func_type_name                        = ignore   # ignore/add/remove/force
900
901 # Add or remove newline between return type and function name inside a class {}
902 # Uses nl_func_type_name or nl_func_proto_type_name if set to ignore.
903 nl_func_type_name_class                  = ignore   # ignore/add/remove/force
904
905 # Add or remove newline between function scope and name in a definition
906 # Controls the newline after '::' in 'void A::f() { }'
907 nl_func_scope_name                       = ignore   # ignore/add/remove/force
908
909 # Add or remove newline between return type and function name in a prototype
910 nl_func_proto_type_name                  = ignore   # ignore/add/remove/force
911
912 # Add or remove newline between a function name and the opening '('
913 nl_func_paren                            = ignore   # ignore/add/remove/force
914
915 # Add or remove newline between a function name and the opening '(' in the definition
916 nl_func_def_paren                        = ignore   # ignore/add/remove/force
917
918 # Add or remove newline after '(' in a function declaration
919 nl_func_decl_start                       = ignore   # ignore/add/remove/force
920
921 # Add or remove newline after '(' in a function definition
922 nl_func_def_start                        = ignore   # ignore/add/remove/force
923
924 # Overrides nl_func_decl_start when there is only one parameter.
925 nl_func_decl_start_single                = ignore   # ignore/add/remove/force
926
927 # Overrides nl_func_def_start when there is only one parameter.
928 nl_func_def_start_single                 = ignore   # ignore/add/remove/force
929
930 # Add or remove newline after each ',' in a function declaration
931 nl_func_decl_args                        = ignore   # ignore/add/remove/force
932
933 # Add or remove newline after each ',' in a function definition
934 nl_func_def_args                         = ignore   # ignore/add/remove/force
935
936 # Add or remove newline before the ')' in a function declaration
937 nl_func_decl_end                         = ignore   # ignore/add/remove/force
938
939 # Add or remove newline before the ')' in a function definition
940 nl_func_def_end                          = ignore   # ignore/add/remove/force
941
942 # Overrides nl_func_decl_end when there is only one parameter.
943 nl_func_decl_end_single                  = ignore   # ignore/add/remove/force
944
945 # Overrides nl_func_def_end when there is only one parameter.
946 nl_func_def_end_single                   = ignore   # ignore/add/remove/force
947
948 # Add or remove newline between '()' in a function declaration.
949 nl_func_decl_empty                       = ignore   # ignore/add/remove/force
950
951 # Add or remove newline between '()' in a function definition.
952 nl_func_def_empty                        = ignore   # ignore/add/remove/force
953
954 # Add or remove newline between function signature and '{'
955 nl_fdef_brace                            = ignore   # ignore/add/remove/force
956
957 # Whether to put a newline after 'return' statement
958 nl_after_return                          = false    # false/true
959
960 # Add or remove a newline between the return keyword and return expression.
961 nl_return_expr                           = ignore   # ignore/add/remove/force
962
963 # Whether to put a newline after semicolons, except in 'for' statements
964 nl_after_semicolon                       = false    # false/true
965
966 # Whether to put a newline after brace open.
967 # This also adds a newline before the matching brace close.
968 nl_after_brace_open                      = true     # false/true
969
970 # If nl_after_brace_open and nl_after_brace_open_cmt are true, a newline is
971 # placed between the open brace and a trailing single-line comment.
972 nl_after_brace_open_cmt                  = false    # false/true
973
974 # Whether to put a newline after a virtual brace open with a non-empty body.
975 # These occur in un-braced if/while/do/for statement bodies.
976 nl_after_vbrace_open                     = true     # false/true
977
978 # Whether to put a newline after a virtual brace open with an empty body.
979 # These occur in un-braced if/while/do/for statement bodies.
980 nl_after_vbrace_open_empty               = false    # false/true
981
982 # Whether to put a newline after a brace close.
983 # Does not apply if followed by a necessary ';'.
984 nl_after_brace_close                     = true     # false/true
985
986 # Whether to put a newline after a virtual brace close.
987 # Would add a newline before return in: 'if (foo) a++; return;'
988 nl_after_vbrace_close                    = true     # false/true
989
990 # Whether to alter newlines in '#define' macros
991 nl_define_macro                          = false    # false/true
992
993 # Whether to not put blanks after '#ifxx', '#elxx', or before '#endif'
994 nl_squeeze_ifdef                         = false    # false/true
995
996 # Add or remove blank line before 'if'
997 nl_before_if                             = ignore   # ignore/add/remove/force
998
999 # Add or remove blank line after 'if' statement
1000 nl_after_if                              = ignore   # ignore/add/remove/force
1001
1002 # Add or remove blank line before 'for'
1003 nl_before_for                            = ignore   # ignore/add/remove/force
1004
1005 # Add or remove blank line after 'for' statement
1006 nl_after_for                             = ignore   # ignore/add/remove/force
1007
1008 # Add or remove blank line before 'while'
1009 nl_before_while                          = ignore   # ignore/add/remove/force
1010
1011 # Add or remove blank line after 'while' statement
1012 nl_after_while                           = ignore   # ignore/add/remove/force
1013
1014 # Add or remove blank line before 'switch'
1015 nl_before_switch                         = ignore   # ignore/add/remove/force
1016
1017 # Add or remove blank line after 'switch' statement
1018 nl_after_switch                          = ignore   # ignore/add/remove/force
1019
1020 # Add or remove blank line before 'do'
1021 nl_before_do                             = ignore   # ignore/add/remove/force
1022
1023 # Add or remove blank line after 'do/while' statement
1024 nl_after_do                              = ignore   # ignore/add/remove/force
1025
1026 # Whether to double-space commented-entries in struct/enum
1027 nl_ds_struct_enum_cmt                    = false    # false/true
1028
1029 # Whether to double-space before the close brace of a struct/union/enum
1030 # (lower priority than 'eat_blanks_before_close_brace')
1031 nl_ds_struct_enum_close_brace            = false    # false/true
1032
1033 # Add or remove a newline around a class colon.
1034 # Related to pos_class_colon, nl_class_init_args, and pos_comma.
1035 nl_class_colon                           = ignore   # ignore/add/remove/force
1036
1037 # Change simple unbraced if statements into a one-liner
1038 # 'if(b)\n i++;' => 'if(b) i++;'
1039 nl_create_if_one_liner                   = false    # false/true
1040
1041 # Change simple unbraced for statements into a one-liner
1042 # 'for (i=0;i<5;i++)\n foo(i);' => 'for (i=0;i<5;i++) foo(i);'
1043 nl_create_for_one_liner                  = false    # false/true
1044
1045 # Change simple unbraced while statements into a one-liner
1046 # 'while (i<5)\n foo(i++);' => 'while (i<5) foo(i++);'
1047 nl_create_while_one_liner                = false    # false/true
1048
1049 #
1050 # Positioning options
1051 #
1052
1053 # The position of arithmetic operators in wrapped expressions
1054 pos_arith                                = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1055
1056 # The position of assignment in wrapped expressions.
1057 # Do not affect '=' followed by '{'
1058 pos_assign                               = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1059
1060 # The position of boolean operators in wrapped expressions
1061 pos_bool                                 = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1062
1063 # The position of comparison operators in wrapped expressions
1064 pos_compare                              = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1065
1066 # The position of conditional (b ? t : f) operators in wrapped expressions
1067 pos_conditional                          = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1068
1069 # The position of the comma in wrapped expressions
1070 pos_comma                                = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1071
1072 # The position of the comma in the constructor initialization list
1073 pos_class_comma                          = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1074
1075 # The position of colons between constructor and member initialization
1076 pos_class_colon                          = ignore   # ignore/lead/lead_break/lead_force/trail/trail_break/trail_force
1077
1078 #
1079 # Line Splitting options
1080 #
1081
1082 # Try to limit code width to N number of columns
1083 code_width                               = 0        # number
1084
1085 # Whether to fully split long 'for' statements at semi-colons
1086 ls_for_split_full                        = false    # false/true
1087
1088 # Whether to fully split long function protos/calls at commas
1089 ls_func_split_full                       = false    # false/true
1090
1091 #
1092 # Blank line options
1093 #
1094
1095 # The maximum consecutive newlines
1096 nl_max                                   = 3        # number
1097
1098 # The number of newlines after a function prototype, if followed by another function prototype
1099 nl_after_func_proto                      = 0        # number
1100
1101 # The number of newlines after a function prototype, if not followed by another function prototype
1102 nl_after_func_proto_group                = 0        # number
1103
1104 # The number of newlines after '}' of a multi-line function body
1105 nl_after_func_body                       = 0        # number
1106
1107 # The number of newlines after '}' of a single line function body
1108 nl_after_func_body_one_liner             = 0        # number
1109
1110 # The minimum number of newlines before a multi-line comment.
1111 # Doesn't apply if after a brace open or another multi-line comment.
1112 nl_before_block_comment                  = 0        # number
1113
1114 # The minimum number of newlines before a single-line C comment.
1115 # Doesn't apply if after a brace open or other single-line C comments.
1116 nl_before_c_comment                      = 0        # number
1117
1118 # The minimum number of newlines before a CPP comment.
1119 # Doesn't apply if after a brace open or other CPP comments.
1120 nl_before_cpp_comment                    = 0        # number
1121
1122 # Whether to force a newline after a multi-line comment.
1123 nl_after_multiline_comment               = false    # false/true
1124
1125 # The number of newlines before a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
1126 # Will not change the newline count if after a brace open.
1127 # 0 = No change.
1128 nl_before_access_spec                    = 0        # number
1129
1130 # The number of newlines after a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
1131 # 0 = No change.
1132 nl_after_access_spec                     = 0        # number
1133
1134 # The number of newlines between a function def and the function comment.
1135 # 0 = No change.
1136 nl_comment_func_def                      = 0        # number
1137
1138 # The number of newlines after a try-catch-finally block that isn't followed by a brace close.
1139 # 0 = No change.
1140 nl_after_try_catch_finally               = 0        # number
1141
1142 # The number of newlines before and after a property, indexer or event decl.
1143 # 0 = No change.
1144 nl_around_cs_property                    = 0        # number
1145
1146 # The number of newlines between the get/set/add/remove handlers in C#.
1147 # 0 = No change.
1148 nl_between_get_set                       = 0        # number
1149
1150 # Whether to remove blank lines after '{'
1151 eat_blanks_after_open_brace              = false    # false/true
1152
1153 # Whether to remove blank lines before '}'
1154 eat_blanks_before_close_brace            = false    # false/true
1155
1156 #
1157 # Code modifying options (non-whitespace)
1158 #
1159
1160 # Add or remove braces on single-line 'do' statement
1161 mod_full_brace_do                        = ignore   # ignore/add/remove/force
1162
1163 # Add or remove braces on single-line 'for' statement
1164 mod_full_brace_for                       = ignore   # ignore/add/remove/force
1165
1166 # Add or remove braces on single-line function definitions. (Pawn)
1167 mod_full_brace_function                  = ignore   # ignore/add/remove/force
1168
1169 # Add or remove braces on single-line 'if' statement. Will not remove the braces if they contain an 'else'.
1170 mod_full_brace_if                        = ignore   # ignore/add/remove/force
1171
1172 # Make all if/elseif/else statements in a chain be braced or not. Overrides mod_full_brace_if.
1173 # If any must be braced, they are all braced.  If all can be unbraced, then the braces are removed.
1174 mod_full_brace_if_chain                  = false    # false/true
1175
1176 # Don't remove braces around statements that span N newlines
1177 mod_full_brace_nl                        = 0        # number
1178
1179 # Add or remove braces on single-line 'while' statement
1180 mod_full_brace_while                     = ignore   # ignore/add/remove/force
1181
1182 # Add or remove braces on single-line 'using ()' statement
1183 mod_full_brace_using                     = ignore   # ignore/add/remove/force
1184
1185 # Add or remove unnecessary paren on 'return' statement
1186 mod_paren_on_return                      = ignore   # ignore/add/remove/force
1187
1188 # Whether to change optional semicolons to real semicolons
1189 mod_pawn_semicolon                       = false    # false/true
1190
1191 # Add parens on 'while' and 'if' statement around bools
1192 mod_full_paren_if_bool                   = false    # false/true
1193
1194 # Whether to remove superfluous semicolons
1195 mod_remove_extra_semicolon               = false    # false/true
1196
1197 # If a function body exceeds the specified number of newlines and doesn't have a comment after
1198 # the close brace, a comment will be added.
1199 mod_add_long_function_closebrace_comment = 0        # number
1200
1201 # If a switch body exceeds the specified number of newlines and doesn't have a comment after
1202 # the close brace, a comment will be added.
1203 mod_add_long_switch_closebrace_comment   = 0        # number
1204
1205 # If an #ifdef body exceeds the specified number of newlines and doesn't have a comment after
1206 # the #else, a comment will be added.
1207 mod_add_long_ifdef_endif_comment         = 0        # number
1208
1209 # If an #ifdef or #else body exceeds the specified number of newlines and doesn't have a comment after
1210 # the #endif, a comment will be added.
1211 mod_add_long_ifdef_else_comment          = 0        # number
1212
1213 # If TRUE, will sort consecutive single-line 'import' statements [Java, D]
1214 mod_sort_import                          = false    # false/true
1215
1216 # If TRUE, will sort consecutive single-line 'using' statements [C#]
1217 mod_sort_using                           = false    # false/true
1218
1219 # If TRUE, will sort consecutive single-line '#include' statements [C/C++] and '#import' statements [Obj-C]
1220 # This is generally a bad idea, as it may break your code.
1221 mod_sort_include                         = false    # false/true
1222
1223 # If TRUE, it will move a 'break' that appears after a fully braced 'case' before the close brace.
1224 mod_move_case_break                      = true     # false/true
1225
1226 # Will add or remove the braces around a fully braced case statement.
1227 # Will only remove the braces if there are no variable declarations in the block.
1228 mod_case_brace                           = ignore   # ignore/add/remove/force
1229
1230 # If TRUE, it will remove a void 'return;' that appears as the last statement in a function.
1231 mod_remove_empty_return                  = true     # false/true
1232
1233 #
1234 # Comment modifications
1235 #
1236
1237 # Try to wrap comments at cmt_width columns
1238 cmt_width                                = 0        # number
1239
1240 # Set the comment reflow mode (default: 0)
1241 # 0: no reflowing (apart from the line wrapping due to cmt_width)
1242 # 1: no touching at all
1243 # 2: full reflow
1244 cmt_reflow_mode                          = 1        # number
1245
1246 # If false, disable all multi-line comment changes, including cmt_width. keyword substitution, and leading chars.
1247 # Default is true.
1248 cmt_indent_multi                         = true     # false/true
1249
1250 # Whether to group c-comments that look like they are in a block
1251 cmt_c_group                              = false    # false/true
1252
1253 # Whether to put an empty '/*' on the first line of the combined c-comment
1254 cmt_c_nl_start                           = false    # false/true
1255
1256 # Whether to put a newline before the closing '*/' of the combined c-comment
1257 cmt_c_nl_end                             = false    # false/true
1258
1259 # Whether to group cpp-comments that look like they are in a block
1260 cmt_cpp_group                            = false    # false/true
1261
1262 # Whether to put an empty '/*' on the first line of the combined cpp-comment
1263 cmt_cpp_nl_start                         = false    # false/true
1264
1265 # Whether to put a newline before the closing '*/' of the combined cpp-comment
1266 cmt_cpp_nl_end                           = false    # false/true
1267
1268 # Whether to change cpp-comments into c-comments
1269 cmt_cpp_to_c                             = false    # false/true
1270
1271 # Whether to put a star on subsequent comment lines
1272 cmt_star_cont                            = false    # false/true
1273
1274 # The number of spaces to insert at the start of subsequent comment lines
1275 cmt_sp_before_star_cont                  = 0        # number
1276
1277 # The number of spaces to insert after the star on subsequent comment lines
1278 cmt_sp_after_star_cont                   = 0        # number
1279
1280 # For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of
1281 # the comment are the same length. Default=True
1282 cmt_multi_check_last                     = true     # false/true
1283
1284 # The filename that contains text to insert at the head of a file if the file doesn't start with a C/C++ comment.
1285 # Will substitute $(filename) with the current file's name.
1286 cmt_insert_file_header                   = ""         # string
1287
1288 # The filename that contains text to insert at the end of a file if the file doesn't end with a C/C++ comment.
1289 # Will substitute $(filename) with the current file's name.
1290 cmt_insert_file_footer                   = ""         # string
1291
1292 # The filename that contains text to insert before a function implementation if the function isn't preceded with a C/C++ comment.
1293 # Will substitute $(function) with the function name and $(javaparam) with the javadoc @param and @return stuff.
1294 # Will also substitute $(fclass) with the class name: void CFoo::Bar() { ... }
1295 cmt_insert_func_header                   = ""         # string
1296
1297 # The filename that contains text to insert before a class if the class isn't preceded with a C/C++ comment.
1298 # Will substitute $(class) with the class name.
1299 cmt_insert_class_header                  = ""         # string
1300
1301 # If a preprocessor is encountered when stepping backwards from a function name, then
1302 # this option decides whether the comment should be inserted.
1303 # Affects cmt_insert_func_header and cmt_insert_class_header.
1304 cmt_insert_before_preproc                = false    # false/true
1305
1306 #
1307 # Preprocessor options
1308 #
1309
1310 # Control indent of preprocessors inside #if blocks at brace level 0
1311 pp_indent                                = ignore   # ignore/add/remove/force
1312
1313 # Whether to indent #if/#else/#endif at the brace level (true) or from column 1 (false)
1314 pp_indent_at_level                       = false    # false/true
1315
1316 # If pp_indent_at_level=false, specifies the number of columns to indent per level. Default=1.
1317 pp_indent_count                          = 1        # number
1318
1319 # Add or remove space after # based on pp_level of #if blocks
1320 pp_space                                 = ignore   # ignore/add/remove/force
1321
1322 # Sets the number of spaces added with pp_space
1323 pp_space_count                           = 0        # number
1324
1325 # The indent for #region and #endregion in C# and '#pragma region' in C/C++
1326 pp_indent_region                         = 0        # number
1327
1328 # Whether to indent the code between #region and #endregion
1329 pp_region_indent_code                    = false    # false/true
1330
1331 # If pp_indent_at_level=true, sets the indent for #if, #else, and #endif when not at file-level
1332 pp_indent_if                             = 0        # number
1333
1334 # Control whether to indent the code between #if, #else and #endif when not at file-level
1335 pp_if_indent_code                        = false    # false/true
1336
1337 # Whether to indent '#define' at the brace level (true) or from column 1 (false)
1338 pp_define_at_level                       = false    # false/true
1339
1340 # You can force a token to be a type with the 'type' option.
1341 # Example:
1342 # type myfoo1 myfoo2
1343
1344 type void
1345 type float
1346 type vector
1347 type entity
1348 type string
1349 type .void
1350 type .float
1351 type .vector
1352 type .entity
1353 type .string
1354
1355 #
1356 # You can create custom macro-based indentation using macro-open,
1357 # macro-else and macro-close.
1358 # Example:
1359 # macro-open  BEGIN_TEMPLATE_MESSAGE_MAP
1360 # macro-open  BEGIN_MESSAGE_MAP
1361 # macro-close END_MESSAGE_MAP
1362 #
1363 # You can assign any keyword to any type with the set option.
1364 # set func_call_user _ N_
1365
1366 set func_call_user _
1367
1368 #
1369 # The full syntax description of all custom definition config entries
1370 # is shown below:
1371 #
1372 # define custom tokens as:
1373 # - embed whitespace in token using '' escape character, or
1374 #   put token in quotes
1375 # - these: ' " and ` are recognized as quote delimiters
1376 #
1377 # type token1 token2 token3 ...
1378 #             ^ optionally specify multiple tokens on a single line
1379 # define def_token output_token
1380 #                  ^ output_token is optional, then NULL is assumed
1381 # macro-open token
1382 # macro-close token
1383 # macro-else token
1384 # set id token1 token2 ...
1385 #               ^ optionally specify multiple tokens on a single line
1386 #     ^ id is one of the names in token_enum.h sans the CT_ prefix,
1387 #       e.g. PP_PRAGMA
1388 #
1389 # all tokens are separated by any mix of ',' commas, '=' equal signs
1390 # and whitespace (space, tab)
1391 #