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