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