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