1# Uncrustify-0.69.0_f
2
3#
4# General options
5#
6
7# The type of line endings.
8#
9# Default: auto
10newlines                        = auto     # lf/crlf/cr/auto
11
12# The original size of tabs in the input.
13#
14# Default: 8
15input_tab_size                  = 8        # unsigned number
16
17# The size of tabs in the output (only used if align_with_tabs=true).
18#
19# Default: 8
20output_tab_size                 = 4        # unsigned number
21
22# The ASCII value of the string escape char, usually 92 (\) or (Pawn) 94 (^).
23#
24# Default: 92
25string_escape_char              = 92       # unsigned number
26
27# Alternate string escape char (usually only used for Pawn).
28# Only works right before the quote char.
29string_escape_char2             = 0        # unsigned number
30
31# Replace tab characters found in string literals with the escape sequence \t
32# instead.
33string_replace_tab_chars        = false    # true/false
34
35# Allow interpreting '>=' and '>>=' as part of a template in code like
36# 'void f(list<list<B>>=val);'. If true, 'assert(x<0 && y>=3)' will be broken.
37# Improvements to template detection may make this option obsolete.
38tok_split_gte                   = false    # true/false
39
40# Specify the marker used in comments to disable processing of part of the
41# file.
42#
43# Default:  *INDENT-OFF*
44disable_processing_cmt          = " *INDENT-OFF*"      # string
45
46# Specify the marker used in comments to (re)enable processing in a file.
47#
48# Default:  *INDENT-ON*
49enable_processing_cmt           = " *INDENT-ON*"     # string
50
51# Enable parsing of digraphs.
52enable_digraphs                 = false    # true/false
53
54# Add or remove the UTF-8 BOM (recommend 'remove').
55utf8_bom                        = ignore   # ignore/add/remove/force
56
57# If the file contains bytes with values between 128 and 255, but is not
58# UTF-8, then output as UTF-8.
59utf8_byte                       = false    # true/false
60
61# Force the output encoding to UTF-8.
62utf8_force                      = false    # true/false
63
64#
65# Spacing options
66#
67
68# Add or remove space around non-assignment symbolic operators ('+', '/', '%',
69# '<<', and so forth).
70sp_arith                        = force    # ignore/add/remove/force
71
72# Add or remove space around arithmetic operators '+' and '-'.
73#
74# Overrides sp_arith.
75sp_arith_additive               = ignore   # ignore/add/remove/force
76
77# Add or remove space around assignment operator '=', '+=', etc.
78sp_assign                       = force    # ignore/add/remove/force
79
80# Add or remove space around '=' in C++11 lambda capture specifications.
81#
82# Overrides sp_assign.
83sp_cpp_lambda_assign            = force    # ignore/add/remove/force
84
85# Add or remove space after the capture specification in C++11 lambda.
86sp_cpp_lambda_paren             = force    # ignore/add/remove/force
87
88# Add or remove space around assignment operator '=' in a prototype.
89#
90# If set to ignore, use sp_assign.
91sp_assign_default               = force    # ignore/add/remove/force
92
93# Add or remove space before assignment operator '=', '+=', etc.
94#
95# Overrides sp_assign.
96sp_before_assign                = force    # ignore/add/remove/force
97
98# Add or remove space after assignment operator '=', '+=', etc.
99#
100# Overrides sp_assign.
101sp_after_assign                 = force    # ignore/add/remove/force
102
103# Add or remove space in 'NS_ENUM ('.
104sp_enum_paren                   = ignore   # ignore/add/remove/force
105
106# Add or remove space around assignment '=' in enum.
107sp_enum_assign                  = force    # ignore/add/remove/force
108
109# Add or remove space before assignment '=' in enum.
110#
111# Overrides sp_enum_assign.
112sp_enum_before_assign           = ignore   # ignore/add/remove/force
113
114# Add or remove space after assignment '=' in enum.
115#
116# Overrides sp_enum_assign.
117sp_enum_after_assign            = force    # ignore/add/remove/force
118
119# Add or remove space around assignment ':' in enum.
120sp_enum_colon                   = ignore   # ignore/add/remove/force
121
122# Add or remove space around preprocessor '##' concatenation operator.
123#
124# Default: add
125sp_pp_concat                    = add      # ignore/add/remove/force
126
127# Add or remove space after preprocessor '#' stringify operator.
128# Also affects the '#@' charizing operator.
129sp_pp_stringify                 = ignore   # ignore/add/remove/force
130
131# Add or remove space before preprocessor '#' stringify operator
132# as in '#define x(y) L#y'.
133sp_before_pp_stringify          = ignore   # ignore/add/remove/force
134
135# Add or remove space around boolean operators '&&' and '||'.
136sp_bool                         = force    # ignore/add/remove/force
137
138# Add or remove space around compare operator '<', '>', '==', etc.
139sp_compare                      = force    # ignore/add/remove/force
140
141# Add or remove space inside '(' and ')'.
142sp_inside_paren                 = remove   # ignore/add/remove/force
143
144# Add or remove space between nested parentheses, i.e. '((' vs. ') )'.
145sp_paren_paren                  = remove   # ignore/add/remove/force
146
147# Add or remove space between back-to-back parentheses, i.e. ')(' vs. ') ('.
148sp_cparen_oparen                = remove   # ignore/add/remove/force
149
150# Whether to balance spaces inside nested parentheses.
151sp_balance_nested_parens        = false    # true/false
152
153# Add or remove space between ')' and '{'.
154sp_paren_brace                  = force    # ignore/add/remove/force
155
156# Add or remove space between nested braces, i.e. '{{' vs '{ {'.
157sp_brace_brace                  = ignore   # ignore/add/remove/force
158
159# Add or remove space before pointer star '*'.
160sp_before_ptr_star              = force    # ignore/add/remove/force
161
162# Add or remove space before pointer star '*' that isn't followed by a
163# variable name. If set to 'ignore', sp_before_ptr_star is used instead.
164sp_before_unnamed_ptr_star      = force    # ignore/add/remove/force
165
166# Add or remove space between pointer stars '*'.
167sp_between_ptr_star             = force    # ignore/add/remove/force
168
169# Add or remove space after pointer star '*', if followed by a word.
170sp_after_ptr_star               = force    # ignore/add/remove/force
171
172# Add or remove space after pointer caret '^', if followed by a word.
173sp_after_ptr_block_caret        = ignore   # ignore/add/remove/force
174
175# Add or remove space after pointer star '*', if followed by a qualifier.
176sp_after_ptr_star_qualifier     = ignore   # ignore/add/remove/force
177
178# Add or remove space after a pointer star '*', if followed by a function
179# prototype or function definition.
180sp_after_ptr_star_func          = force    # ignore/add/remove/force
181
182# Add or remove space after a pointer star '*', if followed by an open
183# parenthesis, as in 'void* (*)().
184sp_ptr_star_paren               = force    # ignore/add/remove/force
185
186# Add or remove space before a pointer star '*', if followed by a function
187# prototype or function definition.
188sp_before_ptr_star_func         = force    # ignore/add/remove/force
189
190# Add or remove space before a reference sign '&'.
191sp_before_byref                 = force    # ignore/add/remove/force
192
193# Add or remove space before a reference sign '&' that isn't followed by a
194# variable name. If set to 'ignore', sp_before_byref is used instead.
195sp_before_unnamed_byref         = ignore   # ignore/add/remove/force
196
197# Add or remove space after reference sign '&', if followed by a word.
198sp_after_byref                  = ignore   # ignore/add/remove/force
199
200# Add or remove space after a reference sign '&', if followed by a function
201# prototype or function definition.
202sp_after_byref_func             = remove   # ignore/add/remove/force
203
204# Add or remove space before a reference sign '&', if followed by a function
205# prototype or function definition.
206sp_before_byref_func            = force    # ignore/add/remove/force
207
208# Add or remove space between type and word.
209#
210# Default: force
211sp_after_type                   = force    # ignore/add/remove/force
212
213# Add or remove space between 'decltype(...)' and word.
214sp_after_decltype               = ignore   # ignore/add/remove/force
215
216# (D) Add or remove space before the parenthesis in the D constructs
217# 'template Foo(' and 'class Foo('.
218sp_before_template_paren        = ignore   # ignore/add/remove/force
219
220# Add or remove space between 'template' and '<'.
221# If set to ignore, sp_before_angle is used.
222sp_template_angle               = remove   # ignore/add/remove/force
223
224# Add or remove space before '<'.
225sp_before_angle                 = remove   # ignore/add/remove/force
226
227# Add or remove space inside '<' and '>'.
228sp_inside_angle                 = remove   # ignore/add/remove/force
229
230# Add or remove space inside '<>'.
231sp_inside_angle_empty           = ignore   # ignore/add/remove/force
232
233# Add or remove space between '>' and ':'.
234sp_angle_colon                  = ignore   # ignore/add/remove/force
235
236# Add or remove space after '<>'.
237sp_after_angle                  = remove   # ignore/add/remove/force
238
239# Add or remove space between '>' and '(' as found in 'new List<byte>(foo);'.
240sp_angle_paren                  = force    # ignore/add/remove/force
241
242# Add or remove space between '>' and '()' as found in 'new List<byte>();'.
243sp_angle_paren_empty            = ignore   # ignore/add/remove/force
244
245# Add or remove space between '>' and a word as in 'List<byte> m;' or
246# 'template <typename T> static ...'.
247sp_angle_word                   = force    # ignore/add/remove/force
248
249# Add or remove space between '>' and '>' in '>>' (template stuff).
250#
251# Default: add
252sp_angle_shift                  = add      # ignore/add/remove/force
253
254# (C++11) Permit removal of the space between '>>' in 'foo<bar<int> >'. Note
255# that sp_angle_shift cannot remove the space without this option.
256sp_permit_cpp11_shift           = false    # true/false
257
258# Add or remove space before '(' of control statements ('if', 'for', 'switch',
259# 'while', etc.).
260sp_before_sparen                = force    # ignore/add/remove/force
261
262# Add or remove space inside '(' and ')' of control statements.
263sp_inside_sparen                = remove   # ignore/add/remove/force
264
265# Add or remove space after '(' of control statements.
266#
267# Overrides sp_inside_sparen.
268sp_inside_sparen_open           = ignore   # ignore/add/remove/force
269
270# Add or remove space before ')' of control statements.
271#
272# Overrides sp_inside_sparen.
273sp_inside_sparen_close          = ignore   # ignore/add/remove/force
274
275# Add or remove space after ')' of control statements.
276sp_after_sparen                 = remove   # ignore/add/remove/force
277
278# Add or remove space between ')' and '{' of of control statements.
279sp_sparen_brace                 = force    # ignore/add/remove/force
280
281# (D) Add or remove space between 'invariant' and '('.
282sp_invariant_paren              = ignore   # ignore/add/remove/force
283
284# (D) Add or remove space after the ')' in 'invariant (C) c'.
285sp_after_invariant_paren        = ignore   # ignore/add/remove/force
286
287# Add or remove space before empty statement ';' on 'if', 'for' and 'while'.
288sp_special_semi                 = remove   # ignore/add/remove/force
289
290# Add or remove space before ';'.
291#
292# Default: remove
293sp_before_semi                  = remove   # ignore/add/remove/force
294
295# Add or remove space before ';' in non-empty 'for' statements.
296sp_before_semi_for              = force    # ignore/add/remove/force
297
298# Add or remove space before a semicolon of an empty part of a for statement.
299sp_before_semi_for_empty        = force    # ignore/add/remove/force
300
301# Add or remove space after ';', except when followed by a comment.
302#
303# Default: add
304sp_after_semi                   = add      # ignore/add/remove/force
305
306# Add or remove space after ';' in non-empty 'for' statements.
307#
308# Default: force
309sp_after_semi_for               = force    # ignore/add/remove/force
310
311# Add or remove space after the final semicolon of an empty part of a for
312# statement, as in 'for ( ; ; <here> )'.
313sp_after_semi_for_empty         = force    # ignore/add/remove/force
314
315# Add or remove space before '[' (except '[]').
316sp_before_square                = remove   # ignore/add/remove/force
317
318# Add or remove space before '[]'.
319sp_before_squares               = remove   # ignore/add/remove/force
320
321# Add or remove space before C++17 structured bindings.
322sp_cpp_before_struct_binding    = ignore   # ignore/add/remove/force
323
324# Add or remove space inside a non-empty '[' and ']'.
325sp_inside_square                = remove   # ignore/add/remove/force
326
327# (OC) Add or remove space inside a non-empty Objective-C boxed array '@[' and
328# ']'. If set to ignore, sp_inside_square is used.
329sp_inside_square_oc_array       = ignore   # ignore/add/remove/force
330
331# Add or remove space after ',', i.e. 'a,b' vs. 'a, b'.
332sp_after_comma                  = force    # ignore/add/remove/force
333
334# Add or remove space before ','.
335#
336# Default: remove
337sp_before_comma                 = remove   # ignore/add/remove/force
338
339# (C#) Add or remove space between ',' and ']' in multidimensional array type
340# like 'int[,,]'.
341sp_after_mdatype_commas         = ignore   # ignore/add/remove/force
342
343# (C#) Add or remove space between '[' and ',' in multidimensional array type
344# like 'int[,,]'.
345sp_before_mdatype_commas        = ignore   # ignore/add/remove/force
346
347# (C#) Add or remove space between ',' in multidimensional array type
348# like 'int[,,]'.
349sp_between_mdatype_commas       = ignore   # ignore/add/remove/force
350
351# Add or remove space between an open parenthesis and comma,
352# i.e. '(,' vs. '( ,'.
353#
354# Default: force
355sp_paren_comma                  = force    # ignore/add/remove/force
356
357# Add or remove space before the variadic '...' when preceded by a
358# non-punctuator.
359sp_before_ellipsis              = remove   # ignore/add/remove/force
360
361# Add or remove space between a type and '...'.
362sp_type_ellipsis                = ignore   # ignore/add/remove/force
363
364# (D) Add or remove space between a type and '?'.
365sp_type_question                = ignore   # ignore/add/remove/force
366
367# Add or remove space between ')' and '...'.
368sp_paren_ellipsis               = ignore   # ignore/add/remove/force
369
370# Add or remove space between ')' and a qualifier such as 'const'.
371sp_paren_qualifier              = ignore   # ignore/add/remove/force
372
373# Add or remove space between ')' and 'noexcept'.
374sp_paren_noexcept               = ignore   # ignore/add/remove/force
375
376# Add or remove space after class ':'.
377sp_after_class_colon            = force    # ignore/add/remove/force
378
379# Add or remove space before class ':'.
380sp_before_class_colon           = force    # ignore/add/remove/force
381
382# Add or remove space after class constructor ':'.
383sp_after_constr_colon           = ignore   # ignore/add/remove/force
384
385# Add or remove space before class constructor ':'.
386sp_before_constr_colon          = ignore   # ignore/add/remove/force
387
388# Add or remove space before case ':'.
389#
390# Default: remove
391sp_before_case_colon            = remove   # ignore/add/remove/force
392
393# Add or remove space between 'operator' and operator sign.
394sp_after_operator               = force    # ignore/add/remove/force
395
396# Add or remove space between the operator symbol and the open parenthesis, as
397# in 'operator ++('.
398sp_after_operator_sym           = ignore   # ignore/add/remove/force
399
400# Overrides sp_after_operator_sym when the operator has no arguments, as in
401# 'operator *()'.
402sp_after_operator_sym_empty     = ignore   # ignore/add/remove/force
403
404# Add or remove space after C/D cast, i.e. 'cast(int)a' vs. 'cast(int) a' or
405# '(int)a' vs. '(int) a'.
406sp_after_cast                   = force    # ignore/add/remove/force
407
408# Add or remove spaces inside cast parentheses.
409sp_inside_paren_cast            = remove   # ignore/add/remove/force
410
411# Add or remove space between the type and open parenthesis in a C++ cast,
412# i.e. 'int(exp)' vs. 'int (exp)'.
413sp_cpp_cast_paren               = ignore   # ignore/add/remove/force
414
415# Add or remove space between 'sizeof' and '('.
416sp_sizeof_paren                 = force    # ignore/add/remove/force
417
418# Add or remove space between 'sizeof' and '...'.
419sp_sizeof_ellipsis              = ignore   # ignore/add/remove/force
420
421# Add or remove space between 'sizeof...' and '('.
422sp_sizeof_ellipsis_paren        = ignore   # ignore/add/remove/force
423
424# Add or remove space between 'decltype' and '('.
425sp_decltype_paren               = ignore   # ignore/add/remove/force
426
427# (Pawn) Add or remove space after the tag keyword.
428sp_after_tag                    = ignore   # ignore/add/remove/force
429
430# Add or remove space inside enum '{' and '}'.
431sp_inside_braces_enum           = force    # ignore/add/remove/force
432
433# Add or remove space inside struct/union '{' and '}'.
434sp_inside_braces_struct         = force    # ignore/add/remove/force
435
436# (OC) Add or remove space inside Objective-C boxed dictionary '{' and '}'
437sp_inside_braces_oc_dict        = ignore   # ignore/add/remove/force
438
439# Add or remove space after open brace in an unnamed temporary
440# direct-list-initialization.
441sp_after_type_brace_init_lst_open = ignore   # ignore/add/remove/force
442
443# Add or remove space before close brace in an unnamed temporary
444# direct-list-initialization.
445sp_before_type_brace_init_lst_close = ignore   # ignore/add/remove/force
446
447# Add or remove space inside an unnamed temporary direct-list-initialization.
448sp_inside_type_brace_init_lst   = ignore   # ignore/add/remove/force
449
450# Add or remove space inside '{' and '}'.
451sp_inside_braces                = force    # ignore/add/remove/force
452
453# Add or remove space inside '{}'.
454sp_inside_braces_empty          = remove   # ignore/add/remove/force
455
456# Add or remove space between return type and function name. A minimum of 1
457# is forced except for pointer return types.
458sp_type_func                    = remove   # ignore/add/remove/force
459
460# Add or remove space between type and open brace of an unnamed temporary
461# direct-list-initialization.
462sp_type_brace_init_lst          = ignore   # ignore/add/remove/force
463
464# Add or remove space between function name and '(' on function declaration.
465sp_func_proto_paren             = force    # ignore/add/remove/force
466
467# Add or remove space between function name and '()' on function declaration
468# without parameters.
469sp_func_proto_paren_empty       = ignore   # ignore/add/remove/force
470
471# Add or remove space between function name and '(' on function definition.
472sp_func_def_paren               = force    # ignore/add/remove/force
473
474# Add or remove space between function name and '()' on function definition
475# without parameters.
476sp_func_def_paren_empty         = ignore   # ignore/add/remove/force
477
478# Add or remove space inside empty function '()'.
479sp_inside_fparens               = remove   # ignore/add/remove/force
480
481# Add or remove space inside function '(' and ')'.
482sp_inside_fparen                = remove   # ignore/add/remove/force
483
484# Add or remove space inside the first parentheses in a function type, as in
485# 'void (*x)(...)'.
486sp_inside_tparen                = remove   # ignore/add/remove/force
487
488# Add or remove space between the ')' and '(' in a function type, as in
489# 'void (*x)(...)'.
490sp_after_tparen_close           = remove   # ignore/add/remove/force
491
492# Add or remove space between ']' and '(' when part of a function call.
493sp_square_fparen                = remove   # ignore/add/remove/force
494
495# Add or remove space between ')' and '{' of function.
496sp_fparen_brace                 = force    # ignore/add/remove/force
497
498# Add or remove space between ')' and '{' of s function call in object
499# initialization.
500#
501# Overrides sp_fparen_brace.
502sp_fparen_brace_initializer     = ignore   # ignore/add/remove/force
503
504# (Java) Add or remove space between ')' and '{{' of double brace initializer.
505sp_fparen_dbrace                = ignore   # ignore/add/remove/force
506
507# Add or remove space between function name and '(' on function calls.
508sp_func_call_paren              = force    # ignore/add/remove/force
509
510# Add or remove space between function name and '()' on function calls without
511# parameters. If set to 'ignore' (the default), sp_func_call_paren is used.
512sp_func_call_paren_empty        = force    # ignore/add/remove/force
513
514# Add or remove space between the user function name and '(' on function
515# calls. You need to set a keyword to be a user function in the config file,
516# like:
517#   set func_call_user tr _ i18n
518sp_func_call_user_paren         = ignore   # ignore/add/remove/force
519
520# Add or remove space inside user function '(' and ')'.
521sp_func_call_user_inside_fparen = ignore   # ignore/add/remove/force
522
523# Add or remove space between nested parentheses with user functions,
524# i.e. '((' vs. '( ('.
525sp_func_call_user_paren_paren   = ignore   # ignore/add/remove/force
526
527# Add or remove space between a constructor/destructor and the open
528# parenthesis.
529sp_func_class_paren             = force    # ignore/add/remove/force
530
531# Add or remove space between a constructor without parameters or destructor
532# and '()'.
533sp_func_class_paren_empty       = ignore   # ignore/add/remove/force
534
535# Add or remove space between 'return' and '('.
536sp_return_paren                 = force    # ignore/add/remove/force
537
538# Add or remove space between 'return' and '{'.
539sp_return_brace                 = ignore   # ignore/add/remove/force
540
541# Add or remove space between '__attribute__' and '('.
542sp_attribute_paren              = remove   # ignore/add/remove/force
543
544# Add or remove space between 'defined' and '(' in '#if defined (FOO)'.
545sp_defined_paren                = force    # ignore/add/remove/force
546
547# Add or remove space between 'throw' and '(' in 'throw (something)'.
548sp_throw_paren                  = force    # ignore/add/remove/force
549
550# Add or remove space between 'throw' and anything other than '(' as in
551# '@throw [...];'.
552sp_after_throw                  = force    # ignore/add/remove/force
553
554# Add or remove space between 'catch' and '(' in 'catch (something) { }'.
555# If set to ignore, sp_before_sparen is used.
556sp_catch_paren                  = force    # ignore/add/remove/force
557
558# (OC) Add or remove space between '@catch' and '('
559# in '@catch (something) { }'. If set to ignore, sp_catch_paren is used.
560sp_oc_catch_paren               = ignore   # ignore/add/remove/force
561
562# (OC) Add or remove space between class name and '('
563# in '@interface className(categoryName)<ProtocolName>:BaseClass'
564sp_oc_classname_paren           = ignore   # ignore/add/remove/force
565
566# (D) Add or remove space between 'version' and '('
567# in 'version (something) { }'. If set to ignore, sp_before_sparen is used.
568sp_version_paren                = ignore   # ignore/add/remove/force
569
570# (D) Add or remove space between 'scope' and '('
571# in 'scope (something) { }'. If set to ignore, sp_before_sparen is used.
572sp_scope_paren                  = ignore   # ignore/add/remove/force
573
574# Add or remove space between 'super' and '(' in 'super (something)'.
575#
576# Default: remove
577sp_super_paren                  = remove   # ignore/add/remove/force
578
579# Add or remove space between 'this' and '(' in 'this (something)'.
580#
581# Default: remove
582sp_this_paren                   = remove   # ignore/add/remove/force
583
584# Add or remove space between a macro name and its definition.
585sp_macro                        = ignore   # ignore/add/remove/force
586
587# Add or remove space between a macro function ')' and its definition.
588sp_macro_func                   = ignore   # ignore/add/remove/force
589
590# Add or remove space between 'else' and '{' if on the same line.
591sp_else_brace                   = force    # ignore/add/remove/force
592
593# Add or remove space between '}' and 'else' if on the same line.
594sp_brace_else                   = force    # ignore/add/remove/force
595
596# Add or remove space between '}' and the name of a typedef on the same line.
597sp_brace_typedef                = force    # ignore/add/remove/force
598
599# Add or remove space before the '{' of a 'catch' statement, if the '{' and
600# 'catch' are on the same line, as in 'catch (decl) <here> {'.
601sp_catch_brace                  = force    # ignore/add/remove/force
602
603# (OC) Add or remove space before the '{' of a '@catch' statement, if the '{'
604# and '@catch' are on the same line, as in '@catch (decl) <here> {'.
605# If set to ignore, sp_catch_brace is used.
606sp_oc_catch_brace               = ignore   # ignore/add/remove/force
607
608# Add or remove space between '}' and 'catch' if on the same line.
609sp_brace_catch                  = force    # ignore/add/remove/force
610
611# (OC) Add or remove space between '}' and '@catch' if on the same line.
612# If set to ignore, sp_brace_catch is used.
613sp_oc_brace_catch               = ignore   # ignore/add/remove/force
614
615# Add or remove space between 'finally' and '{' if on the same line.
616sp_finally_brace                = force    # ignore/add/remove/force
617
618# Add or remove space between '}' and 'finally' if on the same line.
619sp_brace_finally                = force    # ignore/add/remove/force
620
621# Add or remove space between 'try' and '{' if on the same line.
622sp_try_brace                    = force    # ignore/add/remove/force
623
624# Add or remove space between get/set and '{' if on the same line.
625sp_getset_brace                 = force    # ignore/add/remove/force
626
627# Add or remove space between a variable and '{' for C++ uniform
628# initialization.
629#
630# Default: add
631sp_word_brace                   = add      # ignore/add/remove/force
632
633# Add or remove space between a variable and '{' for a namespace.
634#
635# Default: add
636sp_word_brace_ns                = add      # ignore/add/remove/force
637
638# Add or remove space before the '::' operator.
639sp_before_dc                    = remove   # ignore/add/remove/force
640
641# Add or remove space after the '::' operator.
642sp_after_dc                     = remove   # ignore/add/remove/force
643
644# (D) Add or remove around the D named array initializer ':' operator.
645sp_d_array_colon                = ignore   # ignore/add/remove/force
646
647# Add or remove space after the '!' (not) unary operator.
648#
649# Default: remove
650sp_not                          = remove   # ignore/add/remove/force
651
652# Add or remove space after the '~' (invert) unary operator.
653#
654# Default: remove
655sp_inv                          = remove   # ignore/add/remove/force
656
657# Add or remove space after the '&' (address-of) unary operator. This does not
658# affect the spacing after a '&' that is part of a type.
659#
660# Default: remove
661sp_addr                         = remove   # ignore/add/remove/force
662
663# Add or remove space around the '.' or '->' operators.
664#
665# Default: remove
666sp_member                       = remove   # ignore/add/remove/force
667
668# Add or remove space after the '*' (dereference) unary operator. This does
669# not affect the spacing after a '*' that is part of a type.
670#
671# Default: remove
672sp_deref                        = remove   # ignore/add/remove/force
673
674# Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'.
675#
676# Default: remove
677sp_sign                         = remove   # ignore/add/remove/force
678
679# Add or remove space between '++' and '--' the word to which it is being
680# applied, as in '(--x)' or 'y++;'.
681#
682# Default: remove
683sp_incdec                       = remove   # ignore/add/remove/force
684
685# Add or remove space before a backslash-newline at the end of a line.
686#
687# Default: add
688sp_before_nl_cont               = add      # ignore/add/remove/force
689
690# (OC) Add or remove space after the scope '+' or '-', as in '-(void) foo;'
691# or '+(int) bar;'.
692sp_after_oc_scope               = ignore   # ignore/add/remove/force
693
694# (OC) Add or remove space after the colon in message specs,
695# i.e. '-(int) f:(int) x;' vs. '-(int) f: (int) x;'.
696sp_after_oc_colon               = ignore   # ignore/add/remove/force
697
698# (OC) Add or remove space before the colon in message specs,
699# i.e. '-(int) f: (int) x;' vs. '-(int) f : (int) x;'.
700sp_before_oc_colon              = ignore   # ignore/add/remove/force
701
702# (OC) Add or remove space after the colon in immutable dictionary expression
703# 'NSDictionary *test = @{@"foo" :@"bar"};'.
704sp_after_oc_dict_colon          = ignore   # ignore/add/remove/force
705
706# (OC) Add or remove space before the colon in immutable dictionary expression
707# 'NSDictionary *test = @{@"foo" :@"bar"};'.
708sp_before_oc_dict_colon         = ignore   # ignore/add/remove/force
709
710# (OC) Add or remove space after the colon in message specs,
711# i.e. '[object setValue:1];' vs. '[object setValue: 1];'.
712sp_after_send_oc_colon          = ignore   # ignore/add/remove/force
713
714# (OC) Add or remove space before the colon in message specs,
715# i.e. '[object setValue:1];' vs. '[object setValue :1];'.
716sp_before_send_oc_colon         = ignore   # ignore/add/remove/force
717
718# (OC) Add or remove space after the (type) in message specs,
719# i.e. '-(int)f: (int) x;' vs. '-(int)f: (int)x;'.
720sp_after_oc_type                = ignore   # ignore/add/remove/force
721
722# (OC) Add or remove space after the first (type) in message specs,
723# i.e. '-(int) f:(int)x;' vs. '-(int)f:(int)x;'.
724sp_after_oc_return_type         = ignore   # ignore/add/remove/force
725
726# (OC) Add or remove space between '@selector' and '(',
727# i.e. '@selector(msgName)' vs. '@selector (msgName)'.
728# Also applies to '@protocol()' constructs.
729sp_after_oc_at_sel              = ignore   # ignore/add/remove/force
730
731# (OC) Add or remove space between '@selector(x)' and the following word,
732# i.e. '@selector(foo) a:' vs. '@selector(foo)a:'.
733sp_after_oc_at_sel_parens       = ignore   # ignore/add/remove/force
734
735# (OC) Add or remove space inside '@selector' parentheses,
736# i.e. '@selector(foo)' vs. '@selector( foo )'.
737# Also applies to '@protocol()' constructs.
738sp_inside_oc_at_sel_parens      = ignore   # ignore/add/remove/force
739
740# (OC) Add or remove space before a block pointer caret,
741# i.e. '^int (int arg){...}' vs. ' ^int (int arg){...}'.
742sp_before_oc_block_caret        = ignore   # ignore/add/remove/force
743
744# (OC) Add or remove space after a block pointer caret,
745# i.e. '^int (int arg){...}' vs. '^ int (int arg){...}'.
746sp_after_oc_block_caret         = ignore   # ignore/add/remove/force
747
748# (OC) Add or remove space between the receiver and selector in a message,
749# as in '[receiver selector ...]'.
750sp_after_oc_msg_receiver        = ignore   # ignore/add/remove/force
751
752# (OC) Add or remove space after '@property'.
753sp_after_oc_property            = ignore   # ignore/add/remove/force
754
755# (OC) Add or remove space between '@synchronized' and the open parenthesis,
756# i.e. '@synchronized(foo)' vs. '@synchronized (foo)'.
757sp_after_oc_synchronized        = ignore   # ignore/add/remove/force
758
759# Add or remove space around the ':' in 'b ? t : f'.
760sp_cond_colon                   = force    # ignore/add/remove/force
761
762# Add or remove space before the ':' in 'b ? t : f'.
763#
764# Overrides sp_cond_colon.
765sp_cond_colon_before            = force    # ignore/add/remove/force
766
767# Add or remove space after the ':' in 'b ? t : f'.
768#
769# Overrides sp_cond_colon.
770sp_cond_colon_after             = force    # ignore/add/remove/force
771
772# Add or remove space around the '?' in 'b ? t : f'.
773sp_cond_question                = force    # ignore/add/remove/force
774
775# Add or remove space before the '?' in 'b ? t : f'.
776#
777# Overrides sp_cond_question.
778sp_cond_question_before         = force    # ignore/add/remove/force
779
780# Add or remove space after the '?' in 'b ? t : f'.
781#
782# Overrides sp_cond_question.
783sp_cond_question_after          = force    # ignore/add/remove/force
784
785# In the abbreviated ternary form '(a ?: b)', add or remove space between '?'
786# and ':'.
787#
788# Overrides all other sp_cond_* options.
789sp_cond_ternary_short           = force    # ignore/add/remove/force
790
791# Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make
792# sense here.
793sp_case_label                   = force    # ignore/add/remove/force
794
795# (D) Add or remove space around the D '..' operator.
796sp_range                        = ignore   # ignore/add/remove/force
797
798# Add or remove space after ':' in a Java/C++11 range-based 'for',
799# as in 'for (Type var : expr)'.
800sp_after_for_colon              = ignore   # ignore/add/remove/force
801
802# Add or remove space before ':' in a Java/C++11 range-based 'for',
803# as in 'for (Type var : expr)'.
804sp_before_for_colon             = ignore   # ignore/add/remove/force
805
806# (D) Add or remove space between 'extern' and '(' as in 'extern (C)'.
807sp_extern_paren                 = ignore   # ignore/add/remove/force
808
809# Add or remove space after the opening of a C++ comment,
810# i.e. '// A' vs. '//A'.
811sp_cmt_cpp_start                = force    # ignore/add/remove/force
812
813# If true, space is added with sp_cmt_cpp_start will be added after doxygen
814# sequences like '///', '///<', '//!' and '//!<'.
815sp_cmt_cpp_doxygen              = false    # true/false
816
817# If true, space is added with sp_cmt_cpp_start will be added after Qt
818# translator or meta-data comments like '//:', '//=', and '//~'.
819sp_cmt_cpp_qttr                 = false    # true/false
820
821# Add or remove space between #else or #endif and a trailing comment.
822sp_endif_cmt                    = remove   # ignore/add/remove/force
823
824# Add or remove space after 'new', 'delete' and 'delete[]'.
825sp_after_new                    = force    # ignore/add/remove/force
826
827# Add or remove space between 'new' and '(' in 'new()'.
828sp_between_new_paren            = ignore   # ignore/add/remove/force
829
830# Add or remove space between ')' and type in 'new(foo) BAR'.
831sp_after_newop_paren            = ignore   # ignore/add/remove/force
832
833# Add or remove space inside parenthesis of the new operator
834# as in 'new(foo) BAR'.
835sp_inside_newop_paren           = ignore   # ignore/add/remove/force
836
837# Add or remove space after the open parenthesis of the new operator,
838# as in 'new(foo) BAR'.
839#
840# Overrides sp_inside_newop_paren.
841sp_inside_newop_paren_open      = ignore   # ignore/add/remove/force
842
843# Add or remove space before the close parenthesis of the new operator,
844# as in 'new(foo) BAR'.
845#
846# Overrides sp_inside_newop_paren.
847sp_inside_newop_paren_close     = ignore   # ignore/add/remove/force
848
849# Add or remove space before a trailing or embedded comment.
850sp_before_tr_emb_cmt            = force    # ignore/add/remove/force
851
852# Number of spaces before a trailing or embedded comment.
853sp_num_before_tr_emb_cmt        = 0        # unsigned number
854
855# (Java) Add or remove space between an annotation and the open parenthesis.
856sp_annotation_paren             = ignore   # ignore/add/remove/force
857
858# If true, vbrace tokens are dropped to the previous token and skipped.
859sp_skip_vbrace_tokens           = false    # true/false
860
861# Add or remove space after 'noexcept'.
862sp_after_noexcept               = ignore   # ignore/add/remove/force
863
864# Add or remove space after '_'.
865sp_vala_after_translation       = remove   # ignore/add/remove/force
866
867# If true, a <TAB> is inserted after #define.
868force_tab_after_define          = false    # true/false
869
870#
871# Indenting options
872#
873
874# The number of columns to indent per level. Usually 2, 3, 4, or 8.
875#
876# Default: 8
877indent_columns                  = 4        # unsigned number
878
879# The continuation indent. If non-zero, this overrides the indent of '(', '['
880# and '=' continuation indents. Negative values are OK; negative value is
881# absolute and not increased for each '(' or '[' level.
882#
883# For FreeBSD, this is set to 4.
884indent_continue                 = 0        # number
885
886# The continuation indent, only for class header line(s). If non-zero, this
887# overrides the indent of 'class' continuation indents.
888indent_continue_class_head      = 0        # unsigned number
889
890# Whether to indent empty lines (i.e. lines which contain only spaces before
891# the newline character).
892indent_single_newlines          = false    # true/false
893
894# The continuation indent for func_*_param if they are true. If non-zero, this
895# overrides the indent.
896indent_param                    = 0        # unsigned number
897
898# How to use tabs when indenting code.
899#
900# 0: Spaces only
901# 1: Indent with tabs to brace level, align with spaces (default)
902# 2: Indent and align with tabs, using spaces when not on a tabstop
903#
904# Default: 1
905indent_with_tabs                = 0        # unsigned number
906
907# Whether to indent comments that are not at a brace level with tabs on a
908# tabstop. Requires indent_with_tabs=2. If false, will use spaces.
909indent_cmt_with_tabs            = false    # true/false
910
911# Whether to indent strings broken by '\' so that they line up.
912indent_align_string             = false    # true/false
913
914# The number of spaces to indent multi-line XML strings.
915# Requires indent_align_string=true.
916indent_xml_string               = 0        # unsigned number
917
918# Spaces to indent '{' from level.
919indent_brace                    = 0        # unsigned number
920
921# Whether braces are indented to the body level.
922indent_braces                   = false    # true/false
923
924# Whether to disable indenting function braces if indent_braces=true.
925indent_braces_no_func           = false    # true/false
926
927# Whether to disable indenting class braces if indent_braces=true.
928indent_braces_no_class          = false    # true/false
929
930# Whether to disable indenting struct braces if indent_braces=true.
931indent_braces_no_struct         = false    # true/false
932
933# Whether to indent based on the size of the brace parent,
934# i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc.
935indent_brace_parent             = false    # true/false
936
937# Whether to indent based on the open parenthesis instead of the open brace
938# in '({\n'.
939indent_paren_open_brace         = false    # true/false
940
941# (C#) Whether to indent the brace of a C# delegate by another level.
942indent_cs_delegate_brace        = false    # true/false
943
944# (C#) Whether to indent a C# delegate (to handle delegates with no brace) by
945# another level.
946indent_cs_delegate_body         = false    # true/false
947
948# Whether to indent the body of a 'namespace'.
949indent_namespace                = true     # true/false
950
951# Whether to indent only the first namespace, and not any nested namespaces.
952# Requires indent_namespace=true.
953indent_namespace_single_indent  = false    # true/false
954
955# The number of spaces to indent a namespace block.
956# If set to zero, use the value indent_columns
957indent_namespace_level          = 0        # unsigned number
958
959# If the body of the namespace is longer than this number, it won't be
960# indented. Requires indent_namespace=true. 0 means no limit.
961indent_namespace_limit          = 0        # unsigned number
962
963# Whether the 'extern "C"' body is indented.
964indent_extern                   = false    # true/false
965
966# Whether the 'class' body is indented.
967indent_class                    = true     # true/false
968
969# Whether to indent the stuff after a leading base class colon.
970indent_class_colon              = false    # true/false
971
972# Whether to indent based on a class colon instead of the stuff after the
973# colon. Requires indent_class_colon=true.
974indent_class_on_colon           = false    # true/false
975
976# Whether to indent the stuff after a leading class initializer colon.
977indent_constr_colon             = false    # true/false
978
979# Virtual indent from the ':' for member initializers.
980#
981# Default: 2
982indent_ctor_init_leading        = 2        # unsigned number
983
984# Additional indent for constructor initializer list.
985# Negative values decrease indent down to the first column.
986indent_ctor_init                = 0        # number
987
988# Whether to indent 'if' following 'else' as a new block under the 'else'.
989# If false, 'else\nif' is treated as 'else if' for indenting purposes.
990indent_else_if                  = false    # true/false
991
992# Amount to indent variable declarations after a open brace.
993#
994#  <0: Relative
995# >=0: Absolute
996indent_var_def_blk              = 0        # number
997
998# Whether to indent continued variable declarations instead of aligning.
999indent_var_def_cont             = false    # true/false
1000
1001# Whether to indent continued shift expressions ('<<' and '>>') instead of
1002# aligning. Set align_left_shift=false when enabling this.
1003indent_shift                    = false    # true/false
1004
1005# Whether to force indentation of function definitions to start in column 1.
1006indent_func_def_force_col1      = false    # true/false
1007
1008# Whether to indent continued function call parameters one indent level,
1009# rather than aligning parameters under the open parenthesis.
1010indent_func_call_param          = false    # true/false
1011
1012# Same as indent_func_call_param, but for function definitions.
1013indent_func_def_param           = false    # true/false
1014
1015# Same as indent_func_call_param, but for function prototypes.
1016indent_func_proto_param         = false    # true/false
1017
1018# Same as indent_func_call_param, but for class declarations.
1019indent_func_class_param         = false    # true/false
1020
1021# Same as indent_func_call_param, but for class variable constructors.
1022indent_func_ctor_var_param      = false    # true/false
1023
1024# Same as indent_func_call_param, but for template parameter lists.
1025indent_template_param           = false    # true/false
1026
1027# Double the indent for indent_func_xxx_param options.
1028# Use both values of the options indent_columns and indent_param.
1029indent_func_param_double        = false    # true/false
1030
1031# Indentation column for standalone 'const' qualifier on a function
1032# prototype.
1033indent_func_const               = 0        # unsigned number
1034
1035# Indentation column for standalone 'throw' qualifier on a function
1036# prototype.
1037indent_func_throw               = 0        # unsigned number
1038
1039# The number of spaces to indent a continued '->' or '.'.
1040# Usually set to 0, 1, or indent_columns.
1041indent_member                   = 1        # unsigned number
1042
1043# Whether lines broken at '.' or '->' should be indented by a single indent.
1044# The indent_member option will not be effective if this is set to true.
1045indent_member_single            = false    # true/false
1046
1047# Spaces to indent single line ('//') comments on lines before code.
1048indent_sing_line_comments       = 0        # unsigned number
1049
1050# Whether to indent trailing single line ('//') comments relative to the code
1051# instead of trying to keep the same absolute column.
1052indent_relative_single_line_comments = false    # true/false
1053
1054# Spaces to indent 'case' from 'switch'. Usually 0 or indent_columns.
1055indent_switch_case              = 0        # unsigned number
1056
1057# Whether to indent preprocessor statements inside of switch statements.
1058#
1059# Default: true
1060indent_switch_pp                = true     # true/false
1061
1062# Spaces to shift the 'case' line, without affecting any other lines.
1063# Usually 0.
1064indent_case_shift               = 0        # unsigned number
1065
1066# Spaces to indent '{' from 'case'. By default, the brace will appear under
1067# the 'c' in case. Usually set to 0 or indent_columns. Negative values are OK.
1068indent_case_brace               = 0        # number
1069
1070# Whether to indent comments found in first column.
1071indent_col1_comment             = false    # true/false
1072
1073# Whether to indent multi string literal in first column.
1074indent_col1_multi_string_literal = false    # true/false
1075
1076# How to indent goto labels.
1077#
1078#  >0: Absolute column where 1 is the leftmost column
1079# <=0: Subtract from brace indent
1080#
1081# Default: 1
1082indent_label                    = 1        # number
1083
1084# Same as indent_label, but for access specifiers that are followed by a
1085# colon.
1086#
1087# Default: 1
1088indent_access_spec              = 1        # number
1089
1090# Whether to indent the code after an access specifier by one level.
1091# If true, this option forces 'indent_access_spec=0'.
1092indent_access_spec_body         = false    # true/false
1093
1094# If an open parenthesis is followed by a newline, whether to indent the next
1095# line so that it lines up after the open parenthesis (not recommended).
1096indent_paren_nl                 = false    # true/false
1097
1098# How to indent a close parenthesis after a newline.
1099#
1100# 0: Indent to body level (default)
1101# 1: Align under the open parenthesis
1102# 2: Indent to the brace level
1103indent_paren_close              = 0        # unsigned number
1104
1105# Whether to indent the open parenthesis of a function definition,
1106# if the parenthesis is on its own line.
1107indent_paren_after_func_def     = false    # true/false
1108
1109# Whether to indent the open parenthesis of a function declaration,
1110# if the parenthesis is on its own line.
1111indent_paren_after_func_decl    = false    # true/false
1112
1113# Whether to indent the open parenthesis of a function call,
1114# if the parenthesis is on its own line.
1115indent_paren_after_func_call    = false    # true/false
1116
1117# Whether to indent a comma when inside a parenthesis.
1118# If true, aligns under the open parenthesis.
1119indent_comma_paren              = false    # true/false
1120
1121# Whether to indent a Boolean operator when inside a parenthesis.
1122# If true, aligns under the open parenthesis.
1123indent_bool_paren               = false    # true/false
1124
1125# Whether to indent a semicolon when inside a for parenthesis.
1126# If true, aligns under the open for parenthesis.
1127indent_semicolon_for_paren      = false    # true/false
1128
1129# Whether to align the first expression to following ones
1130# if indent_bool_paren=true.
1131indent_first_bool_expr          = false    # true/false
1132
1133# Whether to align the first expression to following ones
1134# if indent_semicolon_for_paren=true.
1135indent_first_for_expr           = false    # true/false
1136
1137# If an open square is followed by a newline, whether to indent the next line
1138# so that it lines up after the open square (not recommended).
1139indent_square_nl                = false    # true/false
1140
1141# (ESQL/C) Whether to preserve the relative indent of 'EXEC SQL' bodies.
1142indent_preserve_sql             = false    # true/false
1143
1144# Whether to align continued statements at the '='. If false or if the '=' is
1145# followed by a newline, the next line is indent one tab.
1146#
1147# Default: true
1148indent_align_assign             = true     # true/false
1149
1150# Whether to align continued statements at the '('. If false or the '(' is
1151# followed by a newline, the next line indent is one tab.
1152#
1153# Default: true
1154indent_align_paren              = true     # true/false
1155
1156# (OC) Whether to indent Objective-C blocks at brace level instead of usual
1157# rules.
1158indent_oc_block                 = false    # true/false
1159
1160# (OC) Indent for Objective-C blocks in a message relative to the parameter
1161# name.
1162#
1163# =0: Use indent_oc_block rules
1164# >0: Use specified number of spaces to indent
1165indent_oc_block_msg             = 0        # unsigned number
1166
1167# (OC) Minimum indent for subsequent parameters
1168indent_oc_msg_colon             = 0        # unsigned number
1169
1170# (OC) Whether to prioritize aligning with initial colon (and stripping spaces
1171# from lines, if necessary).
1172#
1173# Default: true
1174indent_oc_msg_prioritize_first_colon = true     # true/false
1175
1176# (OC) Whether to indent blocks the way that Xcode does by default
1177# (from the keyword if the parameter is on its own line; otherwise, from the
1178# previous indentation level). Requires indent_oc_block_msg=true.
1179indent_oc_block_msg_xcode_style = true     # true/false
1180
1181# (OC) Whether to indent blocks from where the brace is, relative to a
1182# message keyword. Requires indent_oc_block_msg=true.
1183indent_oc_block_msg_from_keyword = true     # true/false
1184
1185# (OC) Whether to indent blocks from where the brace is, relative to a message
1186# colon. Requires indent_oc_block_msg=true.
1187indent_oc_block_msg_from_colon  = true     # true/false
1188
1189# (OC) Whether to indent blocks from where the block caret is.
1190# Requires indent_oc_block_msg=true.
1191indent_oc_block_msg_from_caret  = true     # true/false
1192
1193# (OC) Whether to indent blocks from where the brace caret is.
1194# Requires indent_oc_block_msg=true.
1195indent_oc_block_msg_from_brace  = true     # true/false
1196
1197# When indenting after virtual brace open and newline add further spaces to
1198# reach this minimum indent.
1199indent_min_vbrace_open          = 0        # unsigned number
1200
1201# Whether to add further spaces after regular indent to reach next tabstop
1202# when identing after virtual brace open and newline.
1203indent_vbrace_open_on_tabstop   = false    # true/false
1204
1205# How to indent after a brace followed by another token (not a newline).
1206# true:  indent all contained lines to match the token
1207# false: indent all contained lines to match the brace
1208#
1209# Default: true
1210indent_token_after_brace        = true     # true/false
1211
1212# Whether to indent the body of a C++11 lambda.
1213indent_cpp_lambda_body          = false    # true/false
1214
1215# (C#) Whether to indent a 'using' block if no braces are used.
1216#
1217# Default: true
1218indent_using_block              = true     # true/false
1219
1220# How to indent the continuation of ternary operator.
1221#
1222# 0: Off (default)
1223# 1: When the `if_false` is a continuation, indent it under `if_false`
1224# 2: When the `:` is a continuation, indent it under `?`
1225indent_ternary_operator         = 0        # unsigned number
1226
1227# If true, the indentation of the chunks after a `return new` sequence will be set at return indentation column.
1228indent_off_after_return_new     = false    # true/false
1229
1230# If true, the tokens after return are indented with regular single indentation. By default (false) the indentation is after the return token.
1231indent_single_after_return      = false    # true/false
1232
1233# Whether to ignore indent and alignment for 'asm' blocks (i.e. assume they
1234# have their own indentation).
1235indent_ignore_asm_block         = false    # true/false
1236
1237#
1238# Newline adding and removing options
1239#
1240
1241# Whether to collapse empty blocks between '{' and '}'.
1242nl_collapse_empty_body          = false    # true/false
1243
1244# Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'.
1245nl_assign_leave_one_liners      = true     # true/false
1246
1247# Don't split one-line braced statements inside a 'class xx { }' body.
1248nl_class_leave_one_liners       = false    # true/false
1249
1250# Don't split one-line enums, as in 'enum foo { BAR = 15 };'
1251nl_enum_leave_one_liners        = false    # true/false
1252
1253# Don't split one-line get or set functions.
1254nl_getset_leave_one_liners      = false    # true/false
1255
1256# (C#) Don't split one-line property get or set functions.
1257nl_cs_property_leave_one_liners = false    # true/false
1258
1259# Don't split one-line function definitions, as in 'int foo() { return 0; }'.
1260nl_func_leave_one_liners        = false    # true/false
1261
1262# Don't split one-line C++11 lambdas, as in '[]() { return 0; }'.
1263nl_cpp_lambda_leave_one_liners  = false    # true/false
1264
1265# Don't split one-line if/else statements, as in 'if(...) b++;'.
1266nl_if_leave_one_liners          = false    # true/false
1267
1268# Don't split one-line while statements, as in 'while(...) b++;'.
1269nl_while_leave_one_liners       = false    # true/false
1270
1271# Don't split one-line for statements, as in 'for(...) b++;'.
1272nl_for_leave_one_liners         = false    # true/false
1273
1274# (OC) Don't split one-line Objective-C messages.
1275nl_oc_msg_leave_one_liner       = false    # true/false
1276
1277# (OC) Add or remove newline between method declaration and '{'.
1278nl_oc_mdef_brace                = ignore   # ignore/add/remove/force
1279
1280# (OC) Add or remove newline between Objective-C block signature and '{'.
1281nl_oc_block_brace               = ignore   # ignore/add/remove/force
1282
1283# (OC) Add or remove newline between '@interface' and '{'.
1284nl_oc_interface_brace           = ignore   # ignore/add/remove/force
1285
1286# (OC) Add or remove newline between '@implementation' and '{'.
1287nl_oc_implementation_brace      = ignore   # ignore/add/remove/force
1288
1289# Add or remove newlines at the start of the file.
1290nl_start_of_file                = ignore   # ignore/add/remove/force
1291
1292# The minimum number of newlines at the start of the file (only used if
1293# nl_start_of_file is 'add' or 'force').
1294nl_start_of_file_min            = 0        # unsigned number
1295
1296# Add or remove newline at the end of the file.
1297nl_end_of_file                  = ignore   # ignore/add/remove/force
1298
1299# The minimum number of newlines at the end of the file (only used if
1300# nl_end_of_file is 'add' or 'force').
1301nl_end_of_file_min              = 0        # unsigned number
1302
1303# Add or remove newline between '=' and '{'.
1304nl_assign_brace                 = ignore   # ignore/add/remove/force
1305
1306# (D) Add or remove newline between '=' and '['.
1307nl_assign_square                = ignore   # ignore/add/remove/force
1308
1309# Add or remove newline between '[]' and '{'.
1310nl_tsquare_brace                = ignore   # ignore/add/remove/force
1311
1312# (D) Add or remove newline after '= ['. Will also affect the newline before
1313# the ']'.
1314nl_after_square_assign          = ignore   # ignore/add/remove/force
1315
1316# Add or remove newline between a function call's ')' and '{', as in
1317# 'list_for_each(item, &list) { }'.
1318nl_fcall_brace                  = ignore   # ignore/add/remove/force
1319
1320# Add or remove newline between 'enum' and '{'.
1321nl_enum_brace                   = remove   # ignore/add/remove/force
1322
1323# Add or remove newline between 'enum' and 'class'.
1324nl_enum_class                   = ignore   # ignore/add/remove/force
1325
1326# Add or remove newline between 'enum class' and the identifier.
1327nl_enum_class_identifier        = ignore   # ignore/add/remove/force
1328
1329# Add or remove newline between 'enum class' type and ':'.
1330nl_enum_identifier_colon        = ignore   # ignore/add/remove/force
1331
1332# Add or remove newline between 'enum class identifier :' and type.
1333nl_enum_colon_type              = ignore   # ignore/add/remove/force
1334
1335# Add or remove newline between 'struct and '{'.
1336nl_struct_brace                 = remove   # ignore/add/remove/force
1337
1338# Add or remove newline between 'union' and '{'.
1339nl_union_brace                  = remove   # ignore/add/remove/force
1340
1341# Add or remove newline between 'if' and '{'.
1342nl_if_brace                     = remove   # ignore/add/remove/force
1343
1344# Add or remove newline between '}' and 'else'.
1345nl_brace_else                   = remove   # ignore/add/remove/force
1346
1347# Add or remove newline between 'else if' and '{'. If set to ignore,
1348# nl_if_brace is used instead.
1349nl_elseif_brace                 = remove   # ignore/add/remove/force
1350
1351# Add or remove newline between 'else' and '{'.
1352nl_else_brace                   = remove   # ignore/add/remove/force
1353
1354# Add or remove newline between 'else' and 'if'.
1355nl_else_if                      = remove   # ignore/add/remove/force
1356
1357# Add or remove newline before 'if'/'else if' closing parenthesis.
1358nl_before_if_closing_paren      = ignore   # ignore/add/remove/force
1359
1360# Add or remove newline between '}' and 'finally'.
1361nl_brace_finally                = remove   # ignore/add/remove/force
1362
1363# Add or remove newline between 'finally' and '{'.
1364nl_finally_brace                = remove   # ignore/add/remove/force
1365
1366# Add or remove newline between 'try' and '{'.
1367nl_try_brace                    = remove   # ignore/add/remove/force
1368
1369# Add or remove newline between get/set and '{'.
1370nl_getset_brace                 = remove   # ignore/add/remove/force
1371
1372# Add or remove newline between 'for' and '{'.
1373nl_for_brace                    = remove   # ignore/add/remove/force
1374
1375# Add or remove newline before the '{' of a 'catch' statement, as in
1376# 'catch (decl) <here> {'.
1377nl_catch_brace                  = remove   # ignore/add/remove/force
1378
1379# (OC) Add or remove newline before the '{' of a '@catch' statement, as in
1380# '@catch (decl) <here> {'. If set to ignore, nl_catch_brace is used.
1381nl_oc_catch_brace               = ignore   # ignore/add/remove/force
1382
1383# Add or remove newline between '}' and 'catch'.
1384nl_brace_catch                  = remove   # ignore/add/remove/force
1385
1386# (OC) Add or remove newline between '}' and '@catch'. If set to ignore,
1387# nl_brace_catch is used.
1388nl_oc_brace_catch               = ignore   # ignore/add/remove/force
1389
1390# Add or remove newline between '}' and ']'.
1391nl_brace_square                 = remove   # ignore/add/remove/force
1392
1393# Add or remove newline between '}' and ')' in a function invocation.
1394nl_brace_fparen                 = remove   # ignore/add/remove/force
1395
1396# Add or remove newline between 'while' and '{'.
1397nl_while_brace                  = remove   # ignore/add/remove/force
1398
1399# (D) Add or remove newline between 'scope (x)' and '{'.
1400nl_scope_brace                  = ignore   # ignore/add/remove/force
1401
1402# (D) Add or remove newline between 'unittest' and '{'.
1403nl_unittest_brace               = ignore   # ignore/add/remove/force
1404
1405# (D) Add or remove newline between 'version (x)' and '{'.
1406nl_version_brace                = ignore   # ignore/add/remove/force
1407
1408# (C#) Add or remove newline between 'using' and '{'.
1409nl_using_brace                  = remove   # ignore/add/remove/force
1410
1411# Add or remove newline between two open or close braces. Due to general
1412# newline/brace handling, REMOVE may not work.
1413nl_brace_brace                  = ignore   # ignore/add/remove/force
1414
1415# Add or remove newline between 'do' and '{'.
1416nl_do_brace                     = remove   # ignore/add/remove/force
1417
1418# Add or remove newline between '}' and 'while' of 'do' statement.
1419nl_brace_while                  = remove   # ignore/add/remove/force
1420
1421# Add or remove newline between 'switch' and '{'.
1422nl_switch_brace                 = remove   # ignore/add/remove/force
1423
1424# Add or remove newline between 'synchronized' and '{'.
1425nl_synchronized_brace           = ignore   # ignore/add/remove/force
1426
1427# Add a newline between ')' and '{' if the ')' is on a different line than the
1428# if/for/etc.
1429#
1430# Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch and
1431# nl_catch_brace.
1432nl_multi_line_cond              = false    # true/false
1433
1434# Force a newline in a define after the macro name for multi-line defines.
1435nl_multi_line_define            = false    # true/false
1436
1437# Whether to add a newline before 'case', and a blank line before a 'case'
1438# statement that follows a ';' or '}'.
1439nl_before_case                  = false    # true/false
1440
1441# Whether to add a newline after a 'case' statement.
1442nl_after_case                   = false    # true/false
1443
1444# Add or remove newline between a case ':' and '{'.
1445#
1446# Overrides nl_after_case.
1447nl_case_colon_brace             = ignore   # ignore/add/remove/force
1448
1449# Add or remove newline between ')' and 'throw'.
1450nl_before_throw                 = remove   # ignore/add/remove/force
1451
1452# Add or remove newline between 'namespace' and '{'.
1453nl_namespace_brace              = remove   # ignore/add/remove/force
1454
1455# Add or remove newline between 'template<>' and whatever follows.
1456nl_template_class               = ignore   # ignore/add/remove/force
1457
1458# Add or remove newline between 'class' and '{'.
1459nl_class_brace                  = remove   # ignore/add/remove/force
1460
1461# Add or remove newline before or after (depending on pos_class_comma,
1462# may not be IGNORE) each',' in the base class list.
1463nl_class_init_args              = remove   # ignore/add/remove/force
1464
1465# Add or remove newline after each ',' in the constructor member
1466# initialization. Related to nl_constr_colon, pos_constr_colon and
1467# pos_constr_comma.
1468nl_constr_init_args             = ignore   # ignore/add/remove/force
1469
1470# Add or remove newline before first element, after comma, and after last
1471# element, in 'enum'.
1472nl_enum_own_lines               = ignore   # ignore/add/remove/force
1473
1474# Add or remove newline between return type and function name in a function
1475# definition.
1476nl_func_type_name               = remove   # ignore/add/remove/force
1477
1478# Add or remove newline between return type and function name inside a class
1479# definition. If set to ignore, nl_func_type_name or nl_func_proto_type_name
1480# is used instead.
1481nl_func_type_name_class         = remove   # ignore/add/remove/force
1482
1483# Add or remove newline between class specification and '::'
1484# in 'void A::f() { }'. Only appears in separate member implementation (does
1485# not appear with in-line implementation).
1486nl_func_class_scope             = ignore   # ignore/add/remove/force
1487
1488# Add or remove newline between function scope and name, as in
1489# 'void A :: <here> f() { }'.
1490nl_func_scope_name              = ignore   # ignore/add/remove/force
1491
1492# Add or remove newline between return type and function name in a prototype.
1493nl_func_proto_type_name         = remove   # ignore/add/remove/force
1494
1495# Add or remove newline between a function name and the opening '(' in the
1496# declaration.
1497nl_func_paren                   = remove   # ignore/add/remove/force
1498
1499# Overrides nl_func_paren for functions with no parameters.
1500nl_func_paren_empty             = ignore   # ignore/add/remove/force
1501
1502# Add or remove newline between a function name and the opening '(' in the
1503# definition.
1504nl_func_def_paren               = remove   # ignore/add/remove/force
1505
1506# Overrides nl_func_def_paren for functions with no parameters.
1507nl_func_def_paren_empty         = ignore   # ignore/add/remove/force
1508
1509# Add or remove newline between a function name and the opening '(' in the
1510# call.
1511nl_func_call_paren              = ignore   # ignore/add/remove/force
1512
1513# Overrides nl_func_call_paren for functions with no parameters.
1514nl_func_call_paren_empty        = ignore   # ignore/add/remove/force
1515
1516# Add or remove newline after '(' in a function declaration.
1517nl_func_decl_start              = remove   # ignore/add/remove/force
1518
1519# Add or remove newline after '(' in a function definition.
1520nl_func_def_start               = remove   # ignore/add/remove/force
1521
1522# Overrides nl_func_decl_start when there is only one parameter.
1523nl_func_decl_start_single       = ignore   # ignore/add/remove/force
1524
1525# Overrides nl_func_def_start when there is only one parameter.
1526nl_func_def_start_single        = ignore   # ignore/add/remove/force
1527
1528# Whether to add a newline after '(' in a function declaration if '(' and ')'
1529# are in different lines. If false, nl_func_decl_start is used instead.
1530nl_func_decl_start_multi_line   = false    # true/false
1531
1532# Whether to add a newline after '(' in a function definition if '(' and ')'
1533# are in different lines. If false, nl_func_def_start is used instead.
1534nl_func_def_start_multi_line    = false    # true/false
1535
1536# Add or remove newline after each ',' in a function declaration.
1537nl_func_decl_args               = ignore   # ignore/add/remove/force
1538
1539# Add or remove newline after each ',' in a function definition.
1540nl_func_def_args                = ignore   # ignore/add/remove/force
1541
1542# Whether to add a newline after each ',' in a function declaration if '('
1543# and ')' are in different lines. If false, nl_func_decl_args is used instead.
1544nl_func_decl_args_multi_line    = false    # true/false
1545
1546# Whether to add a newline after each ',' in a function definition if '('
1547# and ')' are in different lines. If false, nl_func_def_args is used instead.
1548nl_func_def_args_multi_line     = false    # true/false
1549
1550# Add or remove newline before the ')' in a function declaration.
1551nl_func_decl_end                = remove   # ignore/add/remove/force
1552
1553# Add or remove newline before the ')' in a function definition.
1554nl_func_def_end                 = remove   # ignore/add/remove/force
1555
1556# Overrides nl_func_decl_end when there is only one parameter.
1557nl_func_decl_end_single         = ignore   # ignore/add/remove/force
1558
1559# Overrides nl_func_def_end when there is only one parameter.
1560nl_func_def_end_single          = ignore   # ignore/add/remove/force
1561
1562# Whether to add a newline before ')' in a function declaration if '(' and ')'
1563# are in different lines. If false, nl_func_decl_end is used instead.
1564nl_func_decl_end_multi_line     = false    # true/false
1565
1566# Whether to add a newline before ')' in a function definition if '(' and ')'
1567# are in different lines. If false, nl_func_def_end is used instead.
1568nl_func_def_end_multi_line      = false    # true/false
1569
1570# Add or remove newline between '()' in a function declaration.
1571nl_func_decl_empty              = remove   # ignore/add/remove/force
1572
1573# Add or remove newline between '()' in a function definition.
1574nl_func_def_empty               = remove   # ignore/add/remove/force
1575
1576# Add or remove newline between '()' in a function call.
1577nl_func_call_empty              = ignore   # ignore/add/remove/force
1578
1579# Whether to add a newline after '(' in a function call,
1580# has preference over nl_func_call_start_multi_line.
1581nl_func_call_start              = ignore   # ignore/add/remove/force
1582
1583# Whether to add a newline after '(' in a function call if '(' and ')' are in
1584# different lines.
1585nl_func_call_start_multi_line   = false    # true/false
1586
1587# Whether to add a newline after each ',' in a function call if '(' and ')'
1588# are in different lines.
1589nl_func_call_args_multi_line    = false    # true/false
1590
1591# Whether to add a newline before ')' in a function call if '(' and ')' are in
1592# different lines.
1593nl_func_call_end_multi_line     = false    # true/false
1594
1595# (OC) Whether to put each Objective-C message parameter on a separate line.
1596# See nl_oc_msg_leave_one_liner.
1597nl_oc_msg_args                  = false    # true/false
1598
1599# Add or remove newline between function signature and '{'.
1600nl_fdef_brace                   = remove   # ignore/add/remove/force
1601
1602# Add or remove newline between function signature and '{',
1603# if signature ends with ')'. Overrides nl_fdef_brace.
1604nl_fdef_brace_cond              = ignore   # ignore/add/remove/force
1605
1606# Add or remove newline between C++11 lambda signature and '{'.
1607nl_cpp_ldef_brace               = ignore   # ignore/add/remove/force
1608
1609# Add or remove newline between 'return' and the return expression.
1610nl_return_expr                  = remove   # ignore/add/remove/force
1611
1612# Whether to add a newline after semicolons, except in 'for' statements.
1613nl_after_semicolon              = false    # true/false
1614
1615# (Java) Add or remove newline between the ')' and '{{' of the double brace
1616# initializer.
1617nl_paren_dbrace_open            = ignore   # ignore/add/remove/force
1618
1619# Whether to add a newline after the type in an unnamed temporary
1620# direct-list-initialization.
1621nl_type_brace_init_lst          = ignore   # ignore/add/remove/force
1622
1623# Whether to add a newline after the open brace in an unnamed temporary
1624# direct-list-initialization.
1625nl_type_brace_init_lst_open     = ignore   # ignore/add/remove/force
1626
1627# Whether to add a newline before the close brace in an unnamed temporary
1628# direct-list-initialization.
1629nl_type_brace_init_lst_close    = ignore   # ignore/add/remove/force
1630
1631# Whether to add a newline after '{'. This also adds a newline before the
1632# matching '}'.
1633nl_after_brace_open             = false    # true/false
1634
1635# Whether to add a newline between the open brace and a trailing single-line
1636# comment. Requires nl_after_brace_open=true.
1637nl_after_brace_open_cmt         = false    # true/false
1638
1639# Whether to add a newline after a virtual brace open with a non-empty body.
1640# These occur in un-braced if/while/do/for statement bodies.
1641nl_after_vbrace_open            = false    # true/false
1642
1643# Whether to add a newline after a virtual brace open with an empty body.
1644# These occur in un-braced if/while/do/for statement bodies.
1645nl_after_vbrace_open_empty      = false    # true/false
1646
1647# Whether to add a newline after '}'. Does not apply if followed by a
1648# necessary ';'.
1649nl_after_brace_close            = false    # true/false
1650
1651# Whether to add a newline after a virtual brace close,
1652# as in 'if (foo) a++; <here> return;'.
1653nl_after_vbrace_close           = false    # true/false
1654
1655# Add or remove newline between the close brace and identifier,
1656# as in 'struct { int a; } <here> b;'. Affects enumerations, unions and
1657# structures. If set to ignore, uses nl_after_brace_close.
1658nl_brace_struct_var             = ignore   # ignore/add/remove/force
1659
1660# Whether to alter newlines in '#define' macros.
1661nl_define_macro                 = false    # true/false
1662
1663# Whether to alter newlines between consecutive parenthesis closes. The number
1664# of closing parentheses in a line will depend on respective open parenthesis
1665# lines.
1666nl_squeeze_paren_close          = false    # true/false
1667
1668# Whether to remove blanks after '#ifxx' and '#elxx', or before '#elxx' and
1669# '#endif'. Does not affect top-level #ifdefs.
1670nl_squeeze_ifdef                = false    # true/false
1671
1672# Makes the nl_squeeze_ifdef option affect the top-level #ifdefs as well.
1673nl_squeeze_ifdef_top_level      = false    # true/false
1674
1675# Add or remove blank line before 'if'.
1676nl_before_if                    = ignore   # ignore/add/remove/force
1677
1678# Add or remove blank line after 'if' statement. Add/Force work only if the
1679# next token is not a closing brace.
1680nl_after_if                     = ignore   # ignore/add/remove/force
1681
1682# Add or remove blank line before 'for'.
1683nl_before_for                   = ignore   # ignore/add/remove/force
1684
1685# Add or remove blank line after 'for' statement.
1686nl_after_for                    = ignore   # ignore/add/remove/force
1687
1688# Add or remove blank line before 'while'.
1689nl_before_while                 = ignore   # ignore/add/remove/force
1690
1691# Add or remove blank line after 'while' statement.
1692nl_after_while                  = ignore   # ignore/add/remove/force
1693
1694# Add or remove blank line before 'switch'.
1695nl_before_switch                = ignore   # ignore/add/remove/force
1696
1697# Add or remove blank line after 'switch' statement.
1698nl_after_switch                 = ignore   # ignore/add/remove/force
1699
1700# Add or remove blank line before 'synchronized'.
1701nl_before_synchronized          = ignore   # ignore/add/remove/force
1702
1703# Add or remove blank line after 'synchronized' statement.
1704nl_after_synchronized           = ignore   # ignore/add/remove/force
1705
1706# Add or remove blank line before 'do'.
1707nl_before_do                    = ignore   # ignore/add/remove/force
1708
1709# Add or remove blank line after 'do/while' statement.
1710nl_after_do                     = ignore   # ignore/add/remove/force
1711
1712# Whether to put a blank line before 'return' statements, unless after an open
1713# brace.
1714nl_before_return                = false    # true/false
1715
1716# Whether to put a blank line after 'return' statements, unless followed by a
1717# close brace.
1718nl_after_return                 = false    # true/false
1719
1720# Whether to double-space commented-entries in 'struct'/'union'/'enum'.
1721nl_ds_struct_enum_cmt           = false    # true/false
1722
1723# Whether to force a newline before '}' of a 'struct'/'union'/'enum'.
1724# (Lower priority than eat_blanks_before_close_brace.)
1725nl_ds_struct_enum_close_brace   = false    # true/false
1726
1727# Add or remove newline before or after (depending on pos_class_colon) a class
1728# colon, as in 'class Foo <here> : <or here> public Bar'.
1729nl_class_colon                  = ignore   # ignore/add/remove/force
1730
1731# Add or remove newline around a class constructor colon. The exact position
1732# depends on nl_constr_init_args, pos_constr_colon and pos_constr_comma.
1733nl_constr_colon                 = ignore   # ignore/add/remove/force
1734
1735# Whether to collapse a two-line namespace, like 'namespace foo\n{ decl; }'
1736# into a single line. If true, prevents other brace newline rules from turning
1737# such code into four lines.
1738nl_namespace_two_to_one_liner   = false    # true/false
1739
1740# Whether to remove a newline in simple unbraced if statements, turning them
1741# into one-liners, as in 'if(b)\n i++;' => 'if(b) i++;'.
1742nl_create_if_one_liner          = false    # true/false
1743
1744# Whether to remove a newline in simple unbraced for statements, turning them
1745# into one-liners, as in 'for (...)\n stmt;' => 'for (...) stmt;'.
1746nl_create_for_one_liner         = false    # true/false
1747
1748# Whether to remove a newline in simple unbraced while statements, turning
1749# them into one-liners, as in 'while (expr)\n stmt;' => 'while (expr) stmt;'.
1750nl_create_while_one_liner       = false    # true/false
1751
1752# Whether to collapse a function definition whose body (not counting braces)
1753# is only one line so that the entire definition (prototype, braces, body) is
1754# a single line.
1755nl_create_func_def_one_liner    = false    # true/false
1756
1757# Whether to split one-line simple unbraced if statements into two lines by
1758# adding a newline, as in 'if(b) <here> i++;'.
1759nl_split_if_one_liner           = false    # true/false
1760
1761# Whether to split one-line simple unbraced for statements into two lines by
1762# adding a newline, as in 'for (...) <here> stmt;'.
1763nl_split_for_one_liner          = false    # true/false
1764
1765# Whether to split one-line simple unbraced while statements into two lines by
1766# adding a newline, as in 'while (expr) <here> stmt;'.
1767nl_split_while_one_liner        = false    # true/false
1768
1769#
1770# Blank line options
1771#
1772
1773# The maximum number of consecutive newlines (3 = 2 blank lines).
1774nl_max                          = 0        # unsigned number
1775
1776# The maximum number of consecutive newlines in a function.
1777nl_max_blank_in_func            = 0        # unsigned number
1778
1779# The number of newlines before a function prototype.
1780nl_before_func_body_proto       = 0        # unsigned number
1781
1782# The number of newlines before a multi-line function definition.
1783nl_before_func_body_def         = 0        # unsigned number
1784
1785# The number of newlines before a class constructor/destructor prototype.
1786nl_before_func_class_proto      = 0        # unsigned number
1787
1788# The number of newlines before a class constructor/destructor definition.
1789nl_before_func_class_def        = 0        # unsigned number
1790
1791# The number of newlines after a function prototype.
1792nl_after_func_proto             = 0        # unsigned number
1793
1794# The number of newlines after a function prototype, if not followed by
1795# another function prototype.
1796nl_after_func_proto_group       = 2        # unsigned number
1797
1798# The number of newlines after a class constructor/destructor prototype.
1799nl_after_func_class_proto       = 0        # unsigned number
1800
1801# The number of newlines after a class constructor/destructor prototype,
1802# if not followed by another constructor/destructor prototype.
1803nl_after_func_class_proto_group = 0        # unsigned number
1804
1805# Whether one-line method definitions inside a class body should be treated
1806# as if they were prototypes for the purposes of adding newlines.
1807#
1808# Requires nl_class_leave_one_liners=true. Overrides nl_before_func_body_def
1809# and nl_before_func_class_def for one-liners.
1810nl_class_leave_one_liner_groups = false    # true/false
1811
1812# The number of newlines after '}' of a multi-line function body.
1813nl_after_func_body              = 2        # unsigned number
1814
1815# The number of newlines after '}' of a multi-line function body in a class
1816# declaration. Also affects class constructors/destructors.
1817#
1818# Overrides nl_after_func_body.
1819nl_after_func_body_class        = 2        # unsigned number
1820
1821# The number of newlines after '}' of a single line function body. Also
1822# affects class constructors/destructors.
1823#
1824# Overrides nl_after_func_body and nl_after_func_body_class.
1825nl_after_func_body_one_liner    = 0        # unsigned number
1826
1827# The number of blank lines after a block of variable definitions at the top
1828# of a function body.
1829#
1830# 0 = No change (default).
1831nl_func_var_def_blk             = 0        # unsigned number
1832
1833# The number of newlines before a block of typedefs. If nl_after_access_spec
1834# is non-zero, that option takes precedence.
1835#
1836# 0 = No change (default).
1837nl_typedef_blk_start            = 0        # unsigned number
1838
1839# The number of newlines after a block of typedefs.
1840#
1841# 0 = No change (default).
1842nl_typedef_blk_end              = 0        # unsigned number
1843
1844# The maximum number of consecutive newlines within a block of typedefs.
1845#
1846# 0 = No change (default).
1847nl_typedef_blk_in               = 0        # unsigned number
1848
1849# The number of newlines before a block of variable definitions not at the top
1850# of a function body. If nl_after_access_spec is non-zero, that option takes
1851# precedence.
1852#
1853# 0 = No change (default).
1854nl_var_def_blk_start            = 0        # unsigned number
1855
1856# The number of newlines after a block of variable definitions not at the top
1857# of a function body.
1858#
1859# 0 = No change (default).
1860nl_var_def_blk_end              = 0        # unsigned number
1861
1862# The maximum number of consecutive newlines within a block of variable
1863# definitions.
1864#
1865# 0 = No change (default).
1866nl_var_def_blk_in               = 0        # unsigned number
1867
1868# The minimum number of newlines before a multi-line comment.
1869# Doesn't apply if after a brace open or another multi-line comment.
1870nl_before_block_comment         = 0        # unsigned number
1871
1872# The minimum number of newlines before a single-line C comment.
1873# Doesn't apply if after a brace open or other single-line C comments.
1874nl_before_c_comment             = 0        # unsigned number
1875
1876# The minimum number of newlines before a CPP comment.
1877# Doesn't apply if after a brace open or other CPP comments.
1878nl_before_cpp_comment           = 0        # unsigned number
1879
1880# Whether to force a newline after a multi-line comment.
1881nl_after_multiline_comment      = false    # true/false
1882
1883# Whether to force a newline after a label's colon.
1884nl_after_label_colon            = false    # true/false
1885
1886# The number of newlines after '}' or ';' of a struct/enum/union definition.
1887nl_after_struct                 = 0        # unsigned number
1888
1889# The number of newlines before a class definition.
1890nl_before_class                 = 0        # unsigned number
1891
1892# The number of newlines after '}' or ';' of a class definition.
1893nl_after_class                  = 0        # unsigned number
1894
1895# The number of newlines before an access specifier label. This also includes
1896# the Qt-specific 'signals:' and 'slots:'. Will not change the newline count
1897# if after a brace open.
1898#
1899# 0 = No change (default).
1900nl_before_access_spec           = 0        # unsigned number
1901
1902# The number of newlines after an access specifier label. This also includes
1903# the Qt-specific 'signals:' and 'slots:'. Will not change the newline count
1904# if after a brace open.
1905#
1906# 0 = No change (default).
1907#
1908# Overrides nl_typedef_blk_start and nl_var_def_blk_start.
1909nl_after_access_spec            = 0        # unsigned number
1910
1911# The number of newlines between a function definition and the function
1912# comment, as in '// comment\n <here> void foo() {...}'.
1913#
1914# 0 = No change (default).
1915nl_comment_func_def             = 0        # unsigned number
1916
1917# The number of newlines after a try-catch-finally block that isn't followed
1918# by a brace close.
1919#
1920# 0 = No change (default).
1921nl_after_try_catch_finally      = 0        # unsigned number
1922
1923# (C#) The number of newlines before and after a property, indexer or event
1924# declaration.
1925#
1926# 0 = No change (default).
1927nl_around_cs_property           = 0        # unsigned number
1928
1929# (C#) The number of newlines between the get/set/add/remove handlers.
1930#
1931# 0 = No change (default).
1932nl_between_get_set              = 0        # unsigned number
1933
1934# (C#) Add or remove newline between property and the '{'.
1935nl_property_brace               = ignore   # ignore/add/remove/force
1936
1937# The number of newlines after '{' of a namespace. This also adds newlines
1938# before the matching '}'.
1939#
1940# 0 = Apply eat_blanks_after_open_brace or eat_blanks_before_close_brace if
1941#     applicable, otherwise no change.
1942#
1943# Overrides eat_blanks_after_open_brace and eat_blanks_before_close_brace.
1944nl_inside_namespace             = 0        # unsigned number
1945
1946# Whether to remove blank lines after '{'.
1947eat_blanks_after_open_brace     = false    # true/false
1948
1949# Whether to remove blank lines before '}'.
1950eat_blanks_before_close_brace   = false    # true/false
1951
1952# How aggressively to remove extra newlines not in preprocessor.
1953#
1954# 0: No change (default)
1955# 1: Remove most newlines not handled by other config
1956# 2: Remove all newlines and reformat completely by config
1957nl_remove_extra_newlines        = 0        # unsigned number
1958
1959# (Java) Add or remove newline after an annotation statement. Only affects
1960# annotations that are after a newline.
1961nl_after_annotation             = ignore   # ignore/add/remove/force
1962
1963# (Java) Add or remove newline between two annotations.
1964nl_between_annotation           = ignore   # ignore/add/remove/force
1965
1966#
1967# Positioning options
1968#
1969
1970# The position of arithmetic operators in wrapped expressions.
1971pos_arith                       = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1972
1973# The position of assignment in wrapped expressions. Do not affect '='
1974# followed by '{'.
1975pos_assign                      = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1976
1977# The position of Boolean operators in wrapped expressions.
1978pos_bool                        = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1979
1980# The position of comparison operators in wrapped expressions.
1981pos_compare                     = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1982
1983# The position of conditional operators, as in the '?' and ':' of
1984# 'expr ? stmt : stmt', in wrapped expressions.
1985pos_conditional                 = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1986
1987# The position of the comma in wrapped expressions.
1988pos_comma                       = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1989
1990# The position of the comma in enum entries.
1991pos_enum_comma                  = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1992
1993# The position of the comma in the base class list if there is more than one
1994# line. Affects nl_class_init_args.
1995pos_class_comma                 = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
1996
1997# The position of the comma in the constructor initialization list.
1998# Related to nl_constr_colon, nl_constr_init_args and pos_constr_colon.
1999pos_constr_comma                = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
2000
2001# The position of trailing/leading class colon, between class and base class
2002# list. Affects nl_class_colon.
2003pos_class_colon                 = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
2004
2005# The position of colons between constructor and member initialization.
2006# Related to nl_constr_colon, nl_constr_init_args and pos_constr_comma.
2007pos_constr_colon                = ignore   # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
2008
2009#
2010# Line splitting options
2011#
2012
2013# Try to limit code width to N columns.
2014code_width                      = 0        # unsigned number
2015
2016# Whether to fully split long 'for' statements at semi-colons.
2017ls_for_split_full               = false    # true/false
2018
2019# Whether to fully split long function prototypes/calls at commas.
2020# The option ls_code_width has priority over the option ls_func_split_full.
2021ls_func_split_full              = false    # true/false
2022
2023# Whether to split lines as close to code_width as possible and ignore some
2024# groupings.
2025# The option ls_code_width has priority over the option ls_func_split_full.
2026ls_code_width                   = false    # true/false
2027
2028#
2029# Code alignment options (not left column spaces/tabs)
2030#
2031
2032# Whether to keep non-indenting tabs.
2033align_keep_tabs                 = false    # true/false
2034
2035# Whether to use tabs for aligning.
2036align_with_tabs                 = false    # true/false
2037
2038# Whether to bump out to the next tab when aligning.
2039align_on_tabstop                = false    # true/false
2040
2041# Whether to right-align numbers.
2042align_number_right              = false    # true/false
2043
2044# Whether to keep whitespace not required for alignment.
2045align_keep_extra_space          = true     # true/false
2046
2047# Whether to align variable definitions in prototypes and functions.
2048align_func_params               = false    # true/false
2049
2050# The span for aligning parameter definitions in function on parameter name.
2051#
2052# 0 = Don't align (default).
2053align_func_params_span          = 0        # unsigned number
2054
2055# The threshold for aligning function parameter definitions.
2056# Use a negative number for absolute thresholds.
2057#
2058# 0 = No limit (default).
2059align_func_params_thresh        = 0        # number
2060
2061# The gap for aligning function parameter definitions.
2062align_func_params_gap           = 0        # unsigned number
2063
2064# The span for aligning constructor value.
2065#
2066# 0 = Don't align (default).
2067align_constr_value_span         = 0        # unsigned number
2068
2069# The threshold for aligning constructor value.
2070# Use a negative number for absolute thresholds.
2071#
2072# 0 = No limit (default).
2073align_constr_value_thresh       = 0        # number
2074
2075# The gap for aligning constructor value.
2076align_constr_value_gap          = 0        # unsigned number
2077
2078# Whether to align parameters in single-line functions that have the same
2079# name. The function names must already be aligned with each other.
2080align_same_func_call_params     = false    # true/false
2081
2082# The span for aligning function-call parameters for single line functions.
2083#
2084# 0 = Don't align (default).
2085align_same_func_call_params_span = 0        # unsigned number
2086
2087# The threshold for aligning function-call parameters for single line
2088# functions.
2089# Use a negative number for absolute thresholds.
2090#
2091# 0 = No limit (default).
2092align_same_func_call_params_thresh = 0        # number
2093
2094# The span for aligning variable definitions.
2095#
2096# 0 = Don't align (default).
2097align_var_def_span              = 0        # unsigned number
2098
2099# How to consider (or treat) the '*' in the alignment of variable definitions.
2100#
2101# 0: Part of the type     'void *   foo;' (default)
2102# 1: Part of the variable 'void     *foo;'
2103# 2: Dangling             'void    *foo;'
2104# Dangling: the '*' will not be taken into account when aligning.
2105align_var_def_star_style        = 0        # unsigned number
2106
2107# How to consider (or treat) the '&' in the alignment of variable definitions.
2108#
2109# 0: Part of the type     'long &   foo;' (default)
2110# 1: Part of the variable 'long     &foo;'
2111# 2: Dangling             'long    &foo;'
2112# Dangling: the '&' will not be taken into account when aligning.
2113align_var_def_amp_style         = 0        # unsigned number
2114
2115# The threshold for aligning variable definitions.
2116# Use a negative number for absolute thresholds.
2117#
2118# 0 = No limit (default).
2119align_var_def_thresh            = 0        # number
2120
2121# The gap for aligning variable definitions.
2122align_var_def_gap               = 0        # unsigned number
2123
2124# Whether to align the colon in struct bit fields.
2125align_var_def_colon             = false    # true/false
2126
2127# The gap for aligning the colon in struct bit fields.
2128align_var_def_colon_gap         = 0        # unsigned number
2129
2130# Whether to align any attribute after the variable name.
2131align_var_def_attribute         = false    # true/false
2132
2133# Whether to align inline struct/enum/union variable definitions.
2134align_var_def_inline            = false    # true/false
2135
2136# The span for aligning on '=' in assignments.
2137#
2138# 0 = Don't align (default).
2139align_assign_span               = 0        # unsigned number
2140
2141# The span for aligning on '=' in function prototype modifier.
2142#
2143# 0 = Don't align (default).
2144align_assign_func_proto_span    = 0        # unsigned number
2145
2146# The threshold for aligning on '=' in assignments.
2147# Use a negative number for absolute thresholds.
2148#
2149# 0 = No limit (default).
2150align_assign_thresh             = 0        # number
2151
2152# How to apply align_assign_span to function declaration "assignments", i.e.
2153# 'virtual void foo() = 0' or '~foo() = {default|delete}'.
2154#
2155# 0: Align with other assignments (default)
2156# 1: Align with each other, ignoring regular assignments
2157# 2: Don't align
2158align_assign_decl_func          = 0        # unsigned number
2159
2160# The span for aligning on '=' in enums.
2161#
2162# 0 = Don't align (default).
2163align_enum_equ_span             = 0        # unsigned number
2164
2165# The threshold for aligning on '=' in enums.
2166# Use a negative number for absolute thresholds.
2167#
2168# 0 = no limit (default).
2169align_enum_equ_thresh           = 0        # number
2170
2171# The span for aligning class member definitions.
2172#
2173# 0 = Don't align (default).
2174align_var_class_span            = 0        # unsigned number
2175
2176# The threshold for aligning class member definitions.
2177# Use a negative number for absolute thresholds.
2178#
2179# 0 = No limit (default).
2180align_var_class_thresh          = 0        # number
2181
2182# The gap for aligning class member definitions.
2183align_var_class_gap             = 0        # unsigned number
2184
2185# The span for aligning struct/union member definitions.
2186#
2187# 0 = Don't align (default).
2188align_var_struct_span           = 0        # unsigned number
2189
2190# The threshold for aligning struct/union member definitions.
2191# Use a negative number for absolute thresholds.
2192#
2193# 0 = No limit (default).
2194align_var_struct_thresh         = 0        # number
2195
2196# The gap for aligning struct/union member definitions.
2197align_var_struct_gap            = 0        # unsigned number
2198
2199# The span for aligning struct initializer values.
2200#
2201# 0 = Don't align (default).
2202align_struct_init_span          = 0        # unsigned number
2203
2204# The span for aligning single-line typedefs.
2205#
2206# 0 = Don't align (default).
2207align_typedef_span              = 0        # unsigned number
2208
2209# The minimum space between the type and the synonym of a typedef.
2210align_typedef_gap               = 0        # unsigned number
2211
2212# How to align typedef'd functions with other typedefs.
2213#
2214# 0: Don't mix them at all (default)
2215# 1: Align the open parenthesis with the types
2216# 2: Align the function type name with the other type names
2217align_typedef_func              = 0        # unsigned number
2218
2219# How to consider (or treat) the '*' in the alignment of typedefs.
2220#
2221# 0: Part of the typedef type, 'typedef int * pint;' (default)
2222# 1: Part of type name:        'typedef int   *pint;'
2223# 2: Dangling:                 'typedef int  *pint;'
2224# Dangling: the '*' will not be taken into account when aligning.
2225align_typedef_star_style        = 0        # unsigned number
2226
2227# How to consider (or treat) the '&' in the alignment of typedefs.
2228#
2229# 0: Part of the typedef type, 'typedef int & intref;' (default)
2230# 1: Part of type name:        'typedef int   &intref;'
2231# 2: Dangling:                 'typedef int  &intref;'
2232# Dangling: the '&' will not be taken into account when aligning.
2233align_typedef_amp_style         = 0        # unsigned number
2234
2235# The span for aligning comments that end lines.
2236#
2237# 0 = Don't align (default).
2238align_right_cmt_span            = 0        # unsigned number
2239
2240# Minimum number of columns between preceding text and a trailing comment in
2241# order for the comment to qualify for being aligned. Must be non-zero to have
2242# an effect.
2243align_right_cmt_gap             = 0        # unsigned number
2244
2245# If aligning comments, whether to mix with comments after '}' and #endif with
2246# less than three spaces before the comment.
2247align_right_cmt_mix             = false    # true/false
2248
2249# Whether to only align trailing comments that are at the same brace level.
2250align_right_cmt_same_level      = false    # true/false
2251
2252# Minimum column at which to align trailing comments. Comments which are
2253# aligned beyond this column, but which can be aligned in a lesser column,
2254# may be "pulled in".
2255#
2256# 0 = Ignore (default).
2257align_right_cmt_at_col          = 0        # unsigned number
2258
2259# The span for aligning function prototypes.
2260#
2261# 0 = Don't align (default).
2262align_func_proto_span           = 0        # unsigned number
2263
2264# The threshold for aligning function prototypes.
2265# Use a negative number for absolute thresholds.
2266#
2267# 0 = No limit (default).
2268align_func_proto_thresh         = 0        # number
2269
2270# Minimum gap between the return type and the function name.
2271align_func_proto_gap            = 0        # unsigned number
2272
2273# Whether to align function prototypes on the 'operator' keyword instead of
2274# what follows.
2275align_on_operator               = false    # true/false
2276
2277# Whether to mix aligning prototype and variable declarations. If true,
2278# align_var_def_XXX options are used instead of align_func_proto_XXX options.
2279align_mix_var_proto             = false    # true/false
2280
2281# Whether to align single-line functions with function prototypes.
2282# Uses align_func_proto_span.
2283align_single_line_func          = false    # true/false
2284
2285# Whether to align the open brace of single-line functions.
2286# Requires align_single_line_func=true. Uses align_func_proto_span.
2287align_single_line_brace         = false    # true/false
2288
2289# Gap for align_single_line_brace.
2290align_single_line_brace_gap     = 0        # unsigned number
2291
2292# (OC) The span for aligning Objective-C message specifications.
2293#
2294# 0 = Don't align (default).
2295align_oc_msg_spec_span          = 0        # unsigned number
2296
2297# Whether to align macros wrapped with a backslash and a newline. This will
2298# not work right if the macro contains a multi-line comment.
2299align_nl_cont                   = false    # true/false
2300
2301# Whether to align macro functions and variables together.
2302align_pp_define_together        = false    # true/false
2303
2304# The span for aligning on '#define' bodies.
2305#
2306# =0: Don't align (default)
2307# >0: Number of lines (including comments) between blocks
2308align_pp_define_span            = 0        # unsigned number
2309
2310# The minimum space between label and value of a preprocessor define.
2311align_pp_define_gap             = 0        # unsigned number
2312
2313# Whether to align lines that start with '<<' with previous '<<'.
2314#
2315# Default: true
2316align_left_shift                = true     # true/false
2317
2318# Whether to align text after 'asm volatile ()' colons.
2319align_asm_colon                 = false    # true/false
2320
2321# (OC) Span for aligning parameters in an Objective-C message call
2322# on the ':'.
2323#
2324# 0 = Don't align.
2325align_oc_msg_colon_span         = 0        # unsigned number
2326
2327# (OC) Whether to always align with the first parameter, even if it is too
2328# short.
2329align_oc_msg_colon_first        = false    # true/false
2330
2331# (OC) Whether to align parameters in an Objective-C '+' or '-' declaration
2332# on the ':'.
2333align_oc_decl_colon             = false    # true/false
2334
2335#
2336# Comment modification options
2337#
2338
2339# Try to wrap comments at N columns.
2340cmt_width                       = 0        # unsigned number
2341
2342# How to reflow comments.
2343#
2344# 0: No reflowing (apart from the line wrapping due to cmt_width) (default)
2345# 1: No touching at all
2346# 2: Full reflow
2347cmt_reflow_mode                 = 0        # unsigned number
2348
2349# Whether to convert all tabs to spaces in comments. If false, tabs in
2350# comments are left alone, unless used for indenting.
2351cmt_convert_tab_to_spaces       = false    # true/false
2352
2353# Whether to apply changes to multi-line comments, including cmt_width,
2354# keyword substitution and leading chars.
2355#
2356# Default: true
2357cmt_indent_multi                = true     # true/false
2358
2359# Whether to group c-comments that look like they are in a block.
2360cmt_c_group                     = false    # true/false
2361
2362# Whether to put an empty '/*' on the first line of the combined c-comment.
2363cmt_c_nl_start                  = false    # true/false
2364
2365# Whether to add a newline before the closing '*/' of the combined c-comment.
2366cmt_c_nl_end                    = false    # true/false
2367
2368# Whether to change cpp-comments into c-comments.
2369cmt_cpp_to_c                    = false    # true/false
2370
2371# Whether to group cpp-comments that look like they are in a block. Only
2372# meaningful if cmt_cpp_to_c=true.
2373cmt_cpp_group                   = false    # true/false
2374
2375# Whether to put an empty '/*' on the first line of the combined cpp-comment
2376# when converting to a c-comment.
2377#
2378# Requires cmt_cpp_to_c=true and cmt_cpp_group=true.
2379cmt_cpp_nl_start                = false    # true/false
2380
2381# Whether to add a newline before the closing '*/' of the combined cpp-comment
2382# when converting to a c-comment.
2383#
2384# Requires cmt_cpp_to_c=true and cmt_cpp_group=true.
2385cmt_cpp_nl_end                  = false    # true/false
2386
2387# Whether to put a star on subsequent comment lines.
2388cmt_star_cont                   = false    # true/false
2389
2390# The number of spaces to insert at the start of subsequent comment lines.
2391cmt_sp_before_star_cont         = 0        # unsigned number
2392
2393# The number of spaces to insert after the star on subsequent comment lines.
2394cmt_sp_after_star_cont          = 0        # unsigned number
2395
2396# For multi-line comments with a '*' lead, remove leading spaces if the first
2397# and last lines of the comment are the same length.
2398#
2399# Default: true
2400cmt_multi_check_last            = true     # true/false
2401
2402# For multi-line comments with a '*' lead, remove leading spaces if the first
2403# and last lines of the comment are the same length AND if the length is
2404# bigger as the first_len minimum.
2405#
2406# Default: 4
2407cmt_multi_first_len_minimum     = 4        # unsigned number
2408
2409# Path to a file that contains text to insert at the beginning of a file if
2410# the file doesn't start with a C/C++ comment. If the inserted text contains
2411# '$(filename)', that will be replaced with the current file's name.
2412cmt_insert_file_header          = ""         # string
2413
2414# Path to a file that contains text to insert at the end of a file if the
2415# file doesn't end with a C/C++ comment. If the inserted text contains
2416# '$(filename)', that will be replaced with the current file's name.
2417cmt_insert_file_footer          = ""         # string
2418
2419# Path to a file that contains text to insert before a function definition if
2420# the function isn't preceded by a C/C++ comment. If the inserted text
2421# contains '$(function)', '$(javaparam)' or '$(fclass)', these will be
2422# replaced with, respectively, the name of the function, the javadoc '@param'
2423# and '@return' stuff, or the name of the class to which the member function
2424# belongs.
2425cmt_insert_func_header          = ""         # string
2426
2427# Path to a file that contains text to insert before a class if the class
2428# isn't preceded by a C/C++ comment. If the inserted text contains '$(class)',
2429# that will be replaced with the class name.
2430cmt_insert_class_header         = ""         # string
2431
2432# Path to a file that contains text to insert before an Objective-C message
2433# specification, if the method isn't preceded by a C/C++ comment. If the
2434# inserted text contains '$(message)' or '$(javaparam)', these will be
2435# replaced with, respectively, the name of the function, or the javadoc
2436# '@param' and '@return' stuff.
2437cmt_insert_oc_msg_header        = ""         # string
2438
2439# Whether a comment should be inserted if a preprocessor is encountered when
2440# stepping backwards from a function name.
2441#
2442# Applies to cmt_insert_oc_msg_header, cmt_insert_func_header and
2443# cmt_insert_class_header.
2444cmt_insert_before_preproc       = false    # true/false
2445
2446# Whether a comment should be inserted if a function is declared inline to a
2447# class definition.
2448#
2449# Applies to cmt_insert_func_header.
2450#
2451# Default: true
2452cmt_insert_before_inlines       = true     # true/false
2453
2454# Whether a comment should be inserted if the function is a class constructor
2455# or destructor.
2456#
2457# Applies to cmt_insert_func_header.
2458cmt_insert_before_ctor_dtor     = false    # true/false
2459
2460#
2461# Code modifying options (non-whitespace)
2462#
2463
2464# Add or remove braces on a single-line 'do' statement.
2465mod_full_brace_do               = ignore   # ignore/add/remove/force
2466
2467# Add or remove braces on a single-line 'for' statement.
2468mod_full_brace_for              = ignore   # ignore/add/remove/force
2469
2470# (Pawn) Add or remove braces on a single-line function definition.
2471mod_full_brace_function         = ignore   # ignore/add/remove/force
2472
2473# Add or remove braces on a single-line 'if' statement. Braces will not be
2474# removed if the braced statement contains an 'else'.
2475mod_full_brace_if               = ignore   # ignore/add/remove/force
2476
2477# Whether to enforce that all blocks of an 'if'/'else if'/'else' chain either
2478# have, or do not have, braces. If true, braces will be added if any block
2479# needs braces, and will only be removed if they can be removed from all
2480# blocks.
2481#
2482# Overrides mod_full_brace_if.
2483mod_full_brace_if_chain         = false    # true/false
2484
2485# Whether to add braces to all blocks of an 'if'/'else if'/'else' chain.
2486# If true, mod_full_brace_if_chain will only remove braces from an 'if' that
2487# does not have an 'else if' or 'else'.
2488mod_full_brace_if_chain_only    = false    # true/false
2489
2490# Add or remove braces on single-line 'while' statement.
2491mod_full_brace_while            = ignore   # ignore/add/remove/force
2492
2493# Add or remove braces on single-line 'using ()' statement.
2494mod_full_brace_using            = ignore   # ignore/add/remove/force
2495
2496# Don't remove braces around statements that span N newlines
2497mod_full_brace_nl               = 0        # unsigned number
2498
2499# Whether to prevent removal of braces from 'if'/'for'/'while'/etc. blocks
2500# which span multiple lines.
2501#
2502# Affects:
2503#   mod_full_brace_for
2504#   mod_full_brace_if
2505#   mod_full_brace_if_chain
2506#   mod_full_brace_if_chain_only
2507#   mod_full_brace_while
2508#   mod_full_brace_using
2509#
2510# Does not affect:
2511#   mod_full_brace_do
2512#   mod_full_brace_function
2513mod_full_brace_nl_block_rem_mlcond = false    # true/false
2514
2515# Add or remove unnecessary parenthesis on 'return' statement.
2516mod_paren_on_return             = ignore   # ignore/add/remove/force
2517
2518# (Pawn) Whether to change optional semicolons to real semicolons.
2519mod_pawn_semicolon              = false    # true/false
2520
2521# Whether to fully parenthesize Boolean expressions in 'while' and 'if'
2522# statement, as in 'if (a && b > c)' => 'if (a && (b > c))'.
2523mod_full_paren_if_bool          = false    # true/false
2524
2525# Whether to remove superfluous semicolons.
2526mod_remove_extra_semicolon      = false    # true/false
2527
2528# If a function body exceeds the specified number of newlines and doesn't have
2529# a comment after the close brace, a comment will be added.
2530mod_add_long_function_closebrace_comment = 0        # unsigned number
2531
2532# If a namespace body exceeds the specified number of newlines and doesn't
2533# have a comment after the close brace, a comment will be added.
2534mod_add_long_namespace_closebrace_comment = 0        # unsigned number
2535
2536# If a class body exceeds the specified number of newlines and doesn't have a
2537# comment after the close brace, a comment will be added.
2538mod_add_long_class_closebrace_comment = 0        # unsigned number
2539
2540# If a switch body exceeds the specified number of newlines and doesn't have a
2541# comment after the close brace, a comment will be added.
2542mod_add_long_switch_closebrace_comment = 0        # unsigned number
2543
2544# If an #ifdef body exceeds the specified number of newlines and doesn't have
2545# a comment after the #endif, a comment will be added.
2546mod_add_long_ifdef_endif_comment = 0        # unsigned number
2547
2548# If an #ifdef or #else body exceeds the specified number of newlines and
2549# doesn't have a comment after the #else, a comment will be added.
2550mod_add_long_ifdef_else_comment = 0        # unsigned number
2551
2552# Whether to sort consecutive single-line 'import' statements.
2553mod_sort_import                 = false    # true/false
2554
2555# (C#) Whether to sort consecutive single-line 'using' statements.
2556mod_sort_using                  = false    # true/false
2557
2558# Whether to sort consecutive single-line '#include' statements (C/C++) and
2559# '#import' statements (Objective-C). Be aware that this has the potential to
2560# break your code if your includes/imports have ordering dependencies.
2561mod_sort_include                = false    # true/false
2562
2563# Whether to move a 'break' that appears after a fully braced 'case' before
2564# the close brace, as in 'case X: { ... } break;' => 'case X: { ... break; }'.
2565mod_move_case_break             = false    # true/false
2566
2567# Add or remove braces around a fully braced case statement. Will only remove
2568# braces if there are no variable declarations in the block.
2569mod_case_brace                  = ignore   # ignore/add/remove/force
2570
2571# Whether to remove a void 'return;' that appears as the last statement in a
2572# function.
2573mod_remove_empty_return         = false    # true/false
2574
2575# Add or remove the comma after the last value of an enumeration.
2576mod_enum_last_comma             = ignore   # ignore/add/remove/force
2577
2578# (OC) Whether to organize the properties. If true, properties will be
2579# rearranged according to the mod_sort_oc_property_*_weight factors.
2580mod_sort_oc_properties          = false    # true/false
2581
2582# (OC) Weight of a class property modifier.
2583mod_sort_oc_property_class_weight = 0        # number
2584
2585# (OC) Weight of 'atomic' and 'nonatomic'.
2586mod_sort_oc_property_thread_safe_weight = 0        # number
2587
2588# (OC) Weight of 'readwrite' when organizing properties.
2589mod_sort_oc_property_readwrite_weight = 0        # number
2590
2591# (OC) Weight of a reference type specifier ('retain', 'copy', 'assign',
2592# 'weak', 'strong') when organizing properties.
2593mod_sort_oc_property_reference_weight = 0        # number
2594
2595# (OC) Weight of getter type ('getter=') when organizing properties.
2596mod_sort_oc_property_getter_weight = 0        # number
2597
2598# (OC) Weight of setter type ('setter=') when organizing properties.
2599mod_sort_oc_property_setter_weight = 0        # number
2600
2601# (OC) Weight of nullability type ('nullable', 'nonnull', 'null_unspecified',
2602# 'null_resettable') when organizing properties.
2603mod_sort_oc_property_nullability_weight = 0        # number
2604
2605#
2606# Preprocessor options
2607#
2608
2609# Add or remove indentation of preprocessor directives inside #if blocks
2610# at brace level 0 (file-level).
2611pp_indent                       = ignore   # ignore/add/remove/force
2612
2613# Whether to indent #if/#else/#endif at the brace level. If false, these are
2614# indented from column 1.
2615pp_indent_at_level              = false    # true/false
2616
2617# Specifies the number of columns to indent preprocessors per level
2618# at brace level 0 (file-level). If pp_indent_at_level=false, also specifies
2619# the number of columns to indent preprocessors per level
2620# at brace level > 0 (function-level).
2621#
2622# Default: 1
2623pp_indent_count                 = 1        # unsigned number
2624
2625# Add or remove space after # based on pp_level of #if blocks.
2626pp_space                        = ignore   # ignore/add/remove/force
2627
2628# Sets the number of spaces per level added with pp_space.
2629pp_space_count                  = 0        # unsigned number
2630
2631# The indent for '#region' and '#endregion' in C# and '#pragma region' in
2632# C/C++. Negative values decrease indent down to the first column.
2633pp_indent_region                = 0        # number
2634
2635# Whether to indent the code between #region and #endregion.
2636pp_region_indent_code           = false    # true/false
2637
2638# If pp_indent_at_level=true, sets the indent for #if, #else and #endif when
2639# not at file-level. Negative values decrease indent down to the first column.
2640#
2641# =0: Indent preprocessors using output_tab_size
2642# >0: Column at which all preprocessors will be indented
2643pp_indent_if                    = 0        # number
2644
2645# Whether to indent the code between #if, #else and #endif.
2646pp_if_indent_code               = false    # true/false
2647
2648# Whether to indent '#define' at the brace level. If false, these are
2649# indented from column 1.
2650pp_define_at_level              = false    # true/false
2651
2652# Whether to ignore the '#define' body while formatting.
2653pp_ignore_define_body           = false    # true/false
2654
2655# Whether to indent case statements between #if, #else, and #endif.
2656# Only applies to the indent of the preprocesser that the case statements
2657# directly inside of.
2658#
2659# Default: true
2660pp_indent_case                  = true     # true/false
2661
2662# Whether to indent whole function definitions between #if, #else, and #endif.
2663# Only applies to the indent of the preprocesser that the function definition
2664# is directly inside of.
2665#
2666# Default: true
2667pp_indent_func_def              = true     # true/false
2668
2669# Whether to indent extern C blocks between #if, #else, and #endif.
2670# Only applies to the indent of the preprocesser that the extern block is
2671# directly inside of.
2672#
2673# Default: true
2674pp_indent_extern                = true     # true/false
2675
2676# Whether to indent braces directly inside #if, #else, and #endif.
2677# Only applies to the indent of the preprocesser that the braces are directly
2678# inside of.
2679#
2680# Default: true
2681pp_indent_brace                 = true     # true/false
2682
2683#
2684# Sort includes options
2685#
2686
2687# The regex for include category with priority 0.
2688include_category_0              = ""         # string
2689
2690# The regex for include category with priority 1.
2691include_category_1              = ""         # string
2692
2693# The regex for include category with priority 2.
2694include_category_2              = ""         # string
2695
2696#
2697# Use or Do not Use options
2698#
2699
2700# true:  indent_func_call_param will be used (default)
2701# false: indent_func_call_param will NOT be used
2702#
2703# Default: true
2704use_indent_func_call_param      = true     # true/false
2705
2706# The value of the indentation for a continuation line is calculated
2707# differently if the statement is:
2708# - a declaration: your case with QString fileName ...
2709# - an assignment: your case with pSettings = new QSettings( ...
2710#
2711# At the second case the indentation value might be used twice:
2712# - at the assignment
2713# - at the function call (if present)
2714#
2715# To prevent the double use of the indentation value, use this option with the
2716# value 'true'.
2717#
2718# true:  indent_continue will be used only once
2719# false: indent_continue will be used every time (default)
2720use_indent_continue_only_once   = false    # true/false
2721
2722# The value might be used twice:
2723# - at the assignment
2724# - at the opening brace
2725#
2726# To prevent the double use of the indentation value, use this option with the
2727# value 'true'.
2728#
2729# true:  indentation will be used only once
2730# false: indentation will be used every time (default)
2731indent_cpp_lambda_only_once     = false    # true/false
2732
2733# Whether to apply special formatting for Qt SIGNAL/SLOT macros. Essentially,
2734# this tries to format these so that they match Qt's normalized form (i.e. the
2735# result of QMetaObject::normalizedSignature), which can slightly improve the
2736# performance of the QObject::connect call, rather than how they would
2737# otherwise be formatted.
2738#
2739# See options_for_QT.cpp for details.
2740#
2741# Default: true
2742use_options_overriding_for_qt_macros = true     # true/false
2743
2744#
2745# Warn levels - 1: error, 2: warning (default), 3: note
2746#
2747
2748# (C#) Warning is given if doing tab-to-\t replacement and we have found one
2749# in a C# verbatim string literal.
2750#
2751# Default: 2
2752warn_level_tabs_found_in_verbatim_string_literals = 2        # unsigned number
2753
2754# Meaning of the settings:
2755#   Ignore - do not do any changes
2756#   Add    - makes sure there is 1 or more space/brace/newline/etc
2757#   Force  - makes sure there is exactly 1 space/brace/newline/etc,
2758#            behaves like Add in some contexts
2759#   Remove - removes space/brace/newline/etc
2760#
2761#
2762# - Token(s) can be treated as specific type(s) with the 'set' option:
2763#     `set tokenType tokenString [tokenString...]`
2764#
2765#     Example:
2766#       `set BOOL __AND__ __OR__`
2767#
2768#     tokenTypes are defined in src/token_enum.h, use them without the
2769#     'CT_' prefix: 'CT_BOOL' => 'BOOL'
2770#
2771#
2772# - Token(s) can be treated as type(s) with the 'type' option.
2773#     `type tokenString [tokenString...]`
2774#
2775#     Example:
2776#       `type int c_uint_8 Rectangle`
2777#
2778#     This can also be achieved with `set TYPE int c_uint_8 Rectangle`
2779#
2780#
2781# To embed whitespace in tokenStrings use the '\' escape character, or quote
2782# the tokenStrings. These quotes are supported: "'`
2783#
2784#
2785# - Support for the auto detection of languages through the file ending can be
2786#   added using the 'file_ext' command.
2787#     `file_ext langType langString [langString..]`
2788#
2789#     Example:
2790#       `file_ext CPP .ch .cxx .cpp.in`
2791#
2792#     langTypes are defined in uncrusify_types.h in the lang_flag_e enum, use
2793#     them without the 'LANG_' prefix: 'LANG_CPP' => 'CPP'
2794#
2795#
2796# - Custom macro-based indentation can be set up using 'macro-open',
2797#   'macro-else' and 'macro-close'.
2798#     `(macro-open | macro-else | macro-close) tokenString`
2799#
2800#     Example:
2801#       `macro-open  BEGIN_TEMPLATE_MESSAGE_MAP`
2802#       `macro-open  BEGIN_MESSAGE_MAP`
2803#       `macro-close END_MESSAGE_MAP`
2804#
2805#
2806# option(s) with 'not default' value: 151
2807#
2808