]> git.lyx.org Git - lyx.git/blob - development/coding/uncrustify.cfg
Autotools: optimize with -Og when debugging
[lyx.git] / development / coding / uncrustify.cfg
1 #
2 # uncrustify config file used by LyX
3 #
4 # This file is part of LyX, the document processor.
5 # Licence details can be found in the file COPYING.
6 #
7 # \author Bo Peng
8 #
9 # Full author contact details are available in file CREDITS.
10 #
11
12 #
13 # How to use this file:
14 #
15 # Before any patch is committed to the trunk, it is recommended that
16 # developers run
17 #     > uncrustify -c /path/to/this/file source_file
18 # to identify format problems. Please report to the maintainer of this file
19 # if uncrustify suggests non-conforming format changes.
20 #
21 #
22 # Remarks:
23
24 # The main body of this file can be replaced by
25 #     > uncrustify -c /path/to/this/file --update-config-with-doc
26 # when a new version of uncrustify becomes available. Any remark should be
27 # list here.
28 #
29 # 1. There is a bug with indent_namespace = false in that anonymous 
30 #    namespace is still indented. A bug report has been registered.
31 #
32
33
34 #
35 # General options
36 #
37
38 # The type of line endings
39 newlines                      = auto     # auto/lf/crlf/cr
40
41 # The original size of tabs in the input
42 input_tab_size                = 4        # number
43
44 # The size of tabs in the output (only used if align_with_tabs=true)
45 output_tab_size               = 4        # number
46
47 # The ascii value of the string escape char, usually 92 (\) or 94 (^). (Pawn)
48 string_escape_char            = 92       # number
49
50 # Alternate string escape char for Pawn. Only works right before the quote char.
51 string_escape_char2           = 0        # number
52
53 #
54 # Indenting
55 #
56
57 # The number of columns to indent per level.
58 # Usually 2, 3, 4, or 8.
59 indent_columns                = 4        # number
60
61 # How to use tabs when indenting code
62 # 0=spaces only
63 # 1=indent with tabs, align with spaces
64 # 2=indent and align with tabs
65 indent_with_tabs              = 1        # number
66
67 # Whether to indent strings broken by '\' so that they line up
68 indent_align_string           = false    # false/true
69
70 # The number of spaces to indent multi-line XML strings.
71 # Requires indent_align_string=True
72 indent_xml_string             = 0        # number
73
74 # Spaces to indent '{' from level
75 indent_brace                  = 0        # number
76
77 # Whether braces are indented to the body level
78 indent_braces                 = false    # false/true
79
80 # Disabled indenting function braces if indent_braces is true
81 indent_braces_no_func         = false    # false/true
82
83 # Indent based on the size of the brace parent, ie 'if' => 3 spaces, 'for' => 4 spaces, etc.
84 indent_brace_parent           = false    # false/true
85
86 # Whether the 'namespace' body is indented
87 indent_namespace              = false    # false/true
88
89 # Whether the 'class' body is indented
90 indent_class                  = true     # false/true
91
92 # Whether to indent the stuff after a leading class colon
93 indent_class_colon            = false    # false/true
94
95 # Whether to indent continued function call parameters one indent level (true) or aligns instead of indent (false)
96 indent_func_call_param        = true    # false/true
97
98 # The number of spaces to indent a continued '->' or '.'
99 # Usually set to 0, 1, or indent_columns.
100 indent_member                 = 0        # number
101
102 # Spaces to indent single line ('//') comments on lines before code
103 indent_sing_line_comments     = 0        # number
104
105 # Spaces to indent 'case' from 'switch'
106 # Usually 0 or indent_columns.
107 indent_switch_case            = 0        # number
108
109 # Spaces to shift the 'case' line, without affecting any other lines
110 # Usually 0.
111 indent_case_shift             = 0        # number
112
113 # Spaces to indent '{' from 'case'.
114 # By default, the brace will appear under the 'c' in case.
115 # Usually set to 0 or indent_columns.
116 indent_case_brace             = 0        # number
117
118 # Whether to indent comments found in first column
119 indent_col1_comment           = false    # false/true
120
121 # How to indent goto labels
122 #  >0 : absolute column where 1 is the leftmost column
123 #  <=0 : subtract from brace indent
124 indent_label                  = 1        # number
125
126 # Same as indent_label, but for access specifiers that are followed by a colon
127 indent_access_spec            = 1        # number
128
129 # If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended)
130 indent_paren_nl               = true     # false/true
131
132 # Controls the indent of a close paren after a newline.
133 # 0: Indent to body level
134 # 1: Align under the open paren
135 # 2: Indent to the brace level
136 indent_paren_close            = 0        # number
137
138 # Controls the indent of a comma when inside a paren.If TRUE, aligns under the open paren
139 indent_comma_paren            = false    # false/true
140
141 # Controls the indent of a BOOL operator when inside a paren.If TRUE, aligns under the open paren
142 indent_bool_paren             = false    # false/true
143
144 # If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended)
145 indent_square_nl              = false    # false/true
146
147 # Don't change the relative indent of ESQL/C 'EXEC SQL' bodies
148 indent_preserve_sql           = false    # false/true
149
150 #
151 # Spacing options
152 #
153
154 # Add or remove space around arithmetic operator '+', '-', '/', '*', etc
155 sp_arith                      = add      # ignore/add/remove/force
156
157 # Add or remove space around assignment operator '=', '+=', etc
158 sp_assign                     = add      # ignore/add/remove/force
159
160 # Add or remove space around boolean operators '&&' and '||'
161 sp_bool                       = add      # ignore/add/remove/force
162
163 # Add or remove space around compare operator '<', '>', '==', etc
164 sp_compare                    = add      # ignore/add/remove/force
165
166 # Add or remove space inside '(' and ')'
167 sp_inside_paren               = ignore   # ignore/add/remove/force
168
169 # Add or remove space between nested parens
170 sp_paren_paren                = ignore   # ignore/add/remove/force
171
172 # Whether to balance spaces inside nested parens
173 sp_balance_nested_parens      = false    # false/true
174
175 # Add or remove space between ')' and '{'
176 sp_paren_brace                = ignore   # ignore/add/remove/force
177
178 # Add or remove space before pointer star '*'
179 sp_before_ptr_star            = add      # ignore/add/remove/force
180
181 # Add or remove space between pointer stars '*'
182 sp_between_ptr_star           = ignore   # ignore/add/remove/force
183
184 # Add or remove space after pointer star '*'
185 sp_after_ptr_star             = add      # ignore/add/remove/force
186
187 # Add or remove space before reference sign '&'
188 sp_before_byref               = ignore   # ignore/add/remove/force
189
190 # Add or remove space after reference sign '&'
191 sp_after_byref                = ignore   # ignore/add/remove/force
192
193 # Add or remove space before '<>'
194 sp_before_angle               = ignore   # ignore/add/remove/force
195
196 # Add or remove space after '<>'
197 sp_after_angle                = ignore   # ignore/add/remove/force
198
199 # Add or remove space between '<>' and '(' as found in 'new List<byte>();'
200 sp_angle_paren                = ignore   # ignore/add/remove/force
201
202 # Add or remove space between '<>' and a word as in 'List<byte> m;'
203 sp_angle_word                 = ignore   # ignore/add/remove/force
204
205 # Add or remove space before '(' of 'if', 'for', 'switch', and 'while'
206 sp_before_sparen              = force    # ignore/add/remove/force
207
208 # Add or remove space inside if-condition '(' and ')'
209 sp_inside_sparen              = remove   # ignore/add/remove/force
210
211 # Add or remove space after ')' of 'if', 'for', 'switch', and 'while'
212 sp_after_sparen               = force    # ignore/add/remove/force
213
214 # Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while'
215 sp_sparen_brace               = ignore   # ignore/add/remove/force
216
217 # Add or remove space before empty statement ';' on 'if', 'for' and 'while'
218 sp_special_semi               = ignore   # ignore/add/remove/force
219
220 # Add or remove space before ';'
221 sp_before_semi                = ignore   # ignore/add/remove/force
222
223 # Add or remove space before ';' in non-empty 'for' statements
224 sp_before_semi_for            = ignore   # ignore/add/remove/force
225
226 # Add or remove space before a semicolon of an empty part of a for statment.
227 sp_before_semi_for_empty      = ignore   # ignore/add/remove/force
228
229 # Add or remove space after the final semicolon of an empty part of a for statment: for ( ; ; <here> ).
230 sp_after_semi_for_empty       = ignore   # ignore/add/remove/force
231
232 # Add or remove space before '[' (except '[]')
233 sp_before_square              = ignore   # ignore/add/remove/force
234
235 # Add or remove space before '[]'
236 sp_before_squares             = ignore   # ignore/add/remove/force
237
238 # Add or remove space inside '[' and ']'
239 sp_inside_square              = ignore   # ignore/add/remove/force
240
241 # Add or remove space after ','
242 sp_after_comma                = add      # ignore/add/remove/force
243
244 # Add or remove space before ','
245 sp_before_comma               = remove   # ignore/add/remove/force
246
247 # Add or remove space between 'operator' and operator sign
248 sp_after_operator             = ignore   # ignore/add/remove/force
249
250 # Add or remove space after cast
251 sp_after_cast                 = remove   # ignore/add/remove/force
252
253 # Add or remove spaces inside cast parens
254 sp_inside_paren_cast          = ignore   # ignore/add/remove/force
255
256 # Add or remove space between 'sizeof' and '('
257 sp_sizeof_paren               = remove   # ignore/add/remove/force
258
259 # Add or remove space after the tag keyword (Pawn)
260 sp_after_tag                  = ignore   # ignore/add/remove/force
261
262 # Add or remove space inside enum '{' and '}'
263 sp_inside_braces_enum         = add      # ignore/add/remove/force
264
265 # Add or remove space inside struct/union '{' and '}'
266 sp_inside_braces_struct       = add      # ignore/add/remove/force
267
268 # Add or remove space inside '{' and '}'
269 sp_inside_braces              = add      # ignore/add/remove/force
270
271 # Add or remove space inside '<' and '>'
272 sp_inside_angle               = ignore   # ignore/add/remove/force
273
274 # Add or remove space between return type and function name
275 # A minimum of 1 is forced except for pointer return types.
276 sp_type_func                  = ignore   # ignore/add/remove/force
277
278 # Add or remove space between function name and '(' on function declaration
279 sp_func_proto_paren           = remove   # ignore/add/remove/force
280
281 # Add or remove space between function name and '(' on function definition
282 sp_func_def_paren             = remove   # ignore/add/remove/force
283
284 # Add or remove space inside empty function '()'
285 sp_inside_fparens             = remove   # ignore/add/remove/force
286
287 # Add or remove space inside function '(' and ')'
288 sp_inside_fparen              = remove   # ignore/add/remove/force
289
290 # Add or remove space between ']' and '(' when part of a function call.
291 sp_square_fparen              = ignore   # ignore/add/remove/force
292
293 # Add or remove space between ')' and '{' of function
294 sp_fparen_brace               = ignore   # ignore/add/remove/force
295
296 # Add or remove space between function name and '(' on function calls
297 sp_func_call_paren            = remove   # ignore/add/remove/force
298
299 # Add or remove space between a constructor/destructor and the open paren
300 sp_func_class_paren           = ignore   # ignore/add/remove/force
301
302 # Add or remove space between 'return' and '('
303 sp_return_paren               = ignore   # ignore/add/remove/force
304
305 # Add or remove space between '__attribute__' and '('
306 sp_attribute_paren            = ignore   # ignore/add/remove/force
307
308 # Add or remove space between macro and value
309 sp_macro                      = ignore   # ignore/add/remove/force
310
311 # Add or remove space between macro function ')' and value
312 sp_macro_func                 = ignore   # ignore/add/remove/force
313
314 # Add or remove space between 'else' and '{' if on the same line
315 sp_else_brace                 = ignore   # ignore/add/remove/force
316
317 # Add or remove space between '}' and 'else' if on the same line
318 sp_brace_else                 = ignore   # ignore/add/remove/force
319
320 # Add or remove space between 'catch' and '{' if on the same line
321 sp_catch_brace                = ignore   # ignore/add/remove/force
322
323 # Add or remove space between '}' and 'catch' if on the same line
324 sp_brace_catch                = add      # ignore/add/remove/force
325
326 # Add or remove space between 'finally' and '{' if on the same line
327 sp_finally_brace              = ignore   # ignore/add/remove/force
328
329 # Add or remove space between '}' and 'finally' if on the same line
330 sp_brace_finally              = ignore   # ignore/add/remove/force
331
332 # Add or remove space between 'try' and '{' if on the same line
333 sp_try_brace                  = add   # ignore/add/remove/force
334
335 # Add or remove space between get/set and '{' if on the same line
336 sp_getset_brace               = ignore   # ignore/add/remove/force
337
338 # Add or remove space before the '::' operator
339 sp_before_dc                  = ignore   # ignore/add/remove/force
340
341 # Add or remove space after the '::' operator
342 sp_after_dc                   = ignore   # ignore/add/remove/force
343
344 # Add or remove around the D named array initializer ':' operator
345 sp_d_array_colon              = ignore   # ignore/add/remove/force
346
347 # Add or remove space after the '!' (not) operator.
348 sp_not                        = remove   # ignore/add/remove/force
349
350 # Add or remove space after the '~' (invert) operator.
351 sp_inv                        = remove   # ignore/add/remove/force
352
353 # Add or remove space after the '&' (address-of) operator.
354 # This does not affect the spacing after a '&' that is part of a type.
355 sp_addr                       = remove   # ignore/add/remove/force
356
357 # Add or remove space after the '*' (dereference) operator.
358 # This does not affect the spacing after a '*' that is part of a type.
359 sp_deref                      = remove   # ignore/add/remove/force
360
361 #
362 # Code alignment (not left column spaces/tabs)
363 #
364
365 # Whether to keep non-indenting tabs
366 align_keep_tabs               = false    # false/true
367
368 # Whether to use tabs for alinging
369 align_with_tabs               = true     # false/true
370
371 # Whether to bump out to the next tab when aligning
372 align_on_tabstop              = true     # false/true
373
374 # Whether to left-align numbers
375 align_number_left             = false    # false/true
376
377 # Align variable definitions in prototypes and functions
378 align_func_params             = false    # false/true
379
380 # The span for aligning variable definitions (0=don't align)
381 align_var_def_span            = 0        # number
382
383 # How to align the star in variable definitions.
384 #  0=Part of the type
385 #  1=Part of the variable
386 #  2=Dangling
387 align_var_def_star_style      = 0        # number
388
389 # How to align the '&' in variable definitions.
390 #  0=Part of the type
391 #  1=Part of the variable
392 #  2=Dangling
393 align_var_def_amp_style       = 0        # number
394
395 # The threshold for aligning variable definitions (0=no limit)
396 align_var_def_thresh          = 0        # number
397
398 # Whether to align the colon in struct bit fields
399 align_var_def_colon           = false    # false/true
400
401 # Whether to align inline struct/enum/union variable definitions
402 align_var_def_inline          = false    # false/true
403
404 # The span for aligning on '=' in assignments (0=don't align)
405 align_assign_span             = 0        # number
406
407 # The threshold for aligning on '=' in assignments (0=no limit)
408 align_assign_thresh           = 0        # number
409
410 # The span for aligning on '=' in enums (0=don't align)
411 align_enum_equ_span           = 4        # number
412
413 # The threshold for aligning on '=' in enums (0=no limit)
414 align_enum_equ_thresh         = 0        # number
415
416 # The span for aligning struct/union (0=don't align)
417 align_var_struct_span         = 0        # number
418
419 # The threshold for aligning struct/union member definitions (0=no limit)
420 align_var_struct_thresh       = 0        # number
421
422 # The span for aligning struct initializer values (0=don't align)
423 align_struct_init_span        = 3        # number
424
425 # The minimum space between the type and the synonym of a typedef
426 align_typedef_gap             = 0        # number
427
428 # The span for aligning single-line typedefs (0=don't align)
429 align_typedef_span            = 0        # number
430
431 # How to align typedef'd functions with other typedefs
432 # 0: Don't mix them at all
433 # 1: align the open paren with the types
434 # 2: align the function type name with the other type names
435 align_typedef_func            = 0        # number
436
437 # Controls the positioning of the '*' in typedefs. Just try it.
438 # 0: Align on typdef type, ignore '*'
439 # 1: The '*' is part of type name: typedef int  *pint;
440 # 2: The '*' is part of the type, but dangling: typedef int *pint;
441 align_typedef_star_style      = 0        # number
442
443 # Controls the positioning of the '&' in typedefs. Just try it.
444 # 0: Align on typdef type, ignore '&'
445 # 1: The '&' is part of type name: typedef int  &pint;
446 # 2: The '&' is part of the type, but dangling: typedef int &pint;
447 align_typedef_amp_style       = 0        # number
448
449 # The span for aligning comments that end lines (0=don't align)
450 align_right_cmt_span          = 3        # number
451
452 # The span for aligning function prototypes (0=don't align)
453 align_func_proto_span         = 0        # number
454
455 # Whether to align macros wrapped with a backslash and a newline
456 align_nl_cont                 = false    # false/true
457
458 # The minimum space between label and value of a preprocessor define
459 align_pp_define_gap           = 0        # number
460
461 # The span for aligning on '#define' bodies (0=don't align)
462 align_pp_define_span          = 0        # number
463
464 #
465 # Newline adding and removing options
466 #
467
468 # Whether to collapse empty blocks between '{' and '}'
469 nl_collapse_empty_body        = false    # false/true
470
471 # Don't split one-line braced assignments - 'foo_t f = { 1, 2 };'
472 nl_assign_leave_one_liners    = false    # false/true
473
474 # Don't split one-line braced statements inside a class xx { } body
475 nl_class_leave_one_liners     = true     # false/true
476
477 # Don't split one-line enums: 'enum foo { BAR = 15 };'
478 nl_enum_leave_one_liners      = false    # false/true
479
480 # Don't split one-line get or set functions
481 nl_getset_leave_one_liners    = false    # false/true
482
483 # Don't split one-line function definitions - 'int foo() { return 0; }'
484 nl_func_leave_one_liners      = false    # false/true
485
486 # Don't split one-line if/else statements - 'if(a) b++;'
487 nl_if_leave_one_liners        = false    # false/true
488
489 # Add or remove newlines at the start of the file
490 nl_start_of_file              = ignore   # ignore/add/remove/force
491
492 # The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'force'
493 nl_start_of_file_min          = 0        # number
494
495 # Add or remove newline at the end of the file
496 nl_end_of_file                = ignore   # ignore/add/remove/force
497
498 # The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'force')
499 nl_end_of_file_min            = 0        # number
500
501 # Add or remove newline between '=' and '{'
502 nl_assign_brace               = ignore   # ignore/add/remove/force
503
504 # Add or remove newline between '=' and '[' (D only)
505 nl_assign_square              = ignore   # ignore/add/remove/force
506
507 # Add or remove newline after '= [' (D only). Will also affect the newline before the ']'
508 nl_after_square_assign        = ignore   # ignore/add/remove/force
509
510 # The number of newlines after a block of variable definitions
511 nl_func_var_def_blk           = 1        # number
512
513 # Add or remove newline between a function call's ')' and '{', as in:
514 # list_for_each(item, &list) { }
515 nl_fcall_brace                = remove   # ignore/add/remove/force
516
517 # Add or remove newline between 'enum' and '{'
518 nl_enum_brace                 = remove   # ignore/add/remove/force
519
520 # Add or remove newline between 'struct and '{'
521 nl_struct_brace               = force    # ignore/add/remove/force
522
523 # Add or remove newline between 'union' and '{'
524 nl_union_brace                = remove   # ignore/add/remove/force
525
526 # Add or remove newline between 'if' and '{'
527 nl_if_brace                   = remove   # ignore/add/remove/force
528
529 # Add or remove newline between '}' and 'else'
530 nl_brace_else                 = remove   # ignore/add/remove/force
531
532 # Add or remove newline between 'else if' and '{'
533 # If set to ignore, nl_if_brace is used instead
534 nl_elseif_brace               = ignore   # ignore/add/remove/force
535
536 # Add or remove newline between 'else' and '{'
537 nl_else_brace                 = remove   # ignore/add/remove/force
538
539 # Add or remove newline between '}' and 'finally'
540 nl_brace_finally              = ignore   # ignore/add/remove/force
541
542 # Add or remove newline between 'finally' and '{'
543 nl_finally_brace              = ignore   # ignore/add/remove/force
544
545 # Add or remove newline between 'try' and '{'
546 nl_try_brace                  = remove   # ignore/add/remove/force
547
548 # Add or remove newline between get/set and '{'
549 nl_getset_brace               = ignore   # ignore/add/remove/force
550
551 # Add or remove newline between 'for' and '{'
552 nl_for_brace                  = remove   # ignore/add/remove/force
553
554 # Add or remove newline between 'catch' and '{'
555 nl_catch_brace                = remove   # ignore/add/remove/force
556
557 # Add or remove newline between '}' and 'catch'
558 nl_brace_catch                = remove   # ignore/add/remove/force
559
560 # Add or remove newline between 'while' and '{'
561 nl_while_brace                = remove   # ignore/add/remove/force
562
563 # Add or remove newline between 'do' and '{'
564 nl_do_brace                   = remove   # ignore/add/remove/force
565
566 # Add or remove newline between '}' and 'while' of 'do' statement
567 nl_brace_while                = remove   # ignore/add/remove/force
568
569 # Add or remove newline between 'switch' and '{'
570 nl_switch_brace               = remove   # ignore/add/remove/force
571
572 # Add or remove newline when condition spans two or more lines
573 nl_multi_line_cond            = false    # false/true
574
575 # Whether to put a newline before 'case' statement
576 nl_before_case                = false    # false/true
577
578 # Whether to put a newline after 'case' statement
579 nl_after_case                 = false    # false/true
580
581 # Newline between namespace and {
582 nl_namespace_brace            = remove   # ignore/add/remove/force
583
584 # Add or remove newline between 'template<>' and 'class'
585 nl_template_class             = ignore   # ignore/add/remove/force
586
587 # Add or remove newline between 'class' and '{'
588 nl_class_brace                = add      # ignore/add/remove/force
589
590 # Add or remove newline after each ',' in the constructor member initialization
591 nl_class_init_args            = ignore   # ignore/add/remove/force
592
593 # Add or remove newline between return type and function name in definition
594 nl_func_type_name             = ignore   # ignore/add/remove/force
595
596 # Add or remove newline between a function name and the opening '('
597 nl_func_paren                 = ignore   # ignore/add/remove/force
598
599 # Add or remove newline after '(' in a function declaration
600 nl_func_decl_start            = ignore   # ignore/add/remove/force
601
602 # Add or remove newline after each ',' in a function declaration
603 nl_func_decl_args             = ignore   # ignore/add/remove/force
604
605 # Add or remove newline before the ')' in a function declaration
606 nl_func_decl_end              = ignore   # ignore/add/remove/force
607
608 # Add or remove newline between function signature and '{'
609 nl_fdef_brace                 = add      # ignore/add/remove/force
610
611 # Whether to put a newline after 'return' statement
612 nl_after_return               = false    # false/true
613
614 # Whether to put a newline after semicolons, except in 'for' statements
615 nl_after_semicolon            = false    # false/true
616
617 # Whether to put a newline after brace open.
618 # This also adds a newline before the matching brace close.
619 nl_after_brace_open           = false    # false/true
620
621 # Whether to put a newline after a virtual brace open.
622 # These occur in un-braced if/while/do/for statement bodies.
623 nl_after_vbrace_open          = false    # false/true
624
625 # Whether to alter newlines in '#define' macros
626 nl_define_macro               = false    # false/true
627
628 # Whether to not put blanks after '#ifxx', '#elxx', or before '#endif'
629 nl_squeeze_ifdef              = false    # false/true
630
631 # Add or remove newline before 'if'
632 nl_before_if                  = ignore   # ignore/add/remove/force
633
634 # Add or remove newline after 'if'
635 nl_after_if                   = ignore   # ignore/add/remove/force
636
637 # Add or remove newline before 'for'
638 nl_before_for                 = ignore   # ignore/add/remove/force
639
640 # Add or remove newline after 'for'
641 nl_after_for                  = ignore   # ignore/add/remove/force
642
643 # Add or remove newline before 'while'
644 nl_before_while               = ignore   # ignore/add/remove/force
645
646 # Add or remove newline after 'while'
647 nl_after_while                = ignore   # ignore/add/remove/force
648
649 # Add or remove newline before 'switch'
650 nl_before_switch              = ignore   # ignore/add/remove/force
651
652 # Add or remove newline after 'switch'
653 nl_after_switch               = ignore   # ignore/add/remove/force
654
655 # Add or remove newline before 'do'
656 nl_before_do                  = ignore   # ignore/add/remove/force
657
658 # Add or remove newline after 'do'
659 nl_after_do                   = ignore   # ignore/add/remove/force
660
661 # Whether to double-space commented-entries in struct/enum
662 nl_ds_struct_enum_cmt         = false    # false/true
663
664 # Whether to double-space before the close brace of a struct/union/enum
665 nl_ds_struct_enum_close_brace = false    # false/true
666
667 # Add or remove a newline around a class colon.
668 # Related to pos_class_colon, nl_class_init_args, and pos_comma.
669 nl_class_colon                = ignore   # ignore/add/remove/force
670
671 # Change simple unbraced if statements into a one-liner
672 # 'if(b)\n i++;' => 'if(b) i++;'
673 nl_create_if_one_liner        = false    # false/true
674
675 # Change simple unbraced for statements into a one-liner
676 # 'for (i=0;i<5;i++)\n foo(i);' => 'for (i=0;i<5;i++) foo(i);'
677 nl_create_for_one_liner       = false    # false/true
678
679 # Change simple unbraced while statements into a one-liner
680 # 'while (i<5)\n foo(i++);' => 'while (i<5) foo(i++);'
681 nl_create_while_one_liner     = false    # false/true
682
683 #
684 # Positioning options
685 #
686
687 # The position of boolean operators in wrapped expressions
688 pos_bool                      = ignore   # ignore/lead/trail
689
690 # The position of the comma in wrapped expressions
691 pos_comma                     = ignore   # ignore/lead/trail
692
693 # The position of the comma in the constructor initialization list
694 pos_class_comma               = ignore   # ignore/lead/trail
695
696 # The position of colons between constructor and member initialization
697 pos_class_colon               = ignore   # ignore/lead/trail
698
699 #
700 # Line Splitting options
701 #
702
703 # Try to limit code width to N number of columns
704 code_width                    = 0        # number
705
706 # Whether to fully split long 'for' statements at semi-colons
707 ls_for_split_full             = false    # false/true
708
709 # Whether to fully split long function protos/calls at commas
710 ls_func_split_full            = false    # false/true
711
712 #
713 # Blank line options
714 #
715
716 # The maximum consecutive newlines
717 nl_max                        = 3        # number
718
719 # The number of newlines after a function prototype, if followed by another function prototype
720 nl_after_func_proto           = 2        # number
721
722 # The number of newlines after a function prototype, if not followed by another function prototype
723 nl_after_func_proto_group     = 0        # number
724
725 # The number of newlines after '}' of a multi-line function body
726 nl_after_func_body            = 3        # number
727
728 # The number of newlines after '}' of a single line function body
729 nl_after_func_body_one_liner  = 0        # number
730
731 # The minimum number of newlines before a multi-line comment.
732 # Doesn't apply if after a brace open or another multi-line comment.
733 nl_before_block_comment       = 0        # number
734
735 # The minimum number of newlines before a single-line C comment.
736 # Doesn't apply if after a brace open or other single-line C comments.
737 nl_before_c_comment           = 0        # number
738
739 # The minimum number of newlines before a CPP comment.
740 # Doesn't apply if after a brace open or other CPP comments.
741 nl_before_cpp_comment         = 0        # number
742
743 # Whether to force a newline after a mulit-line comment.
744 nl_after_multiline_comment    = false    # false/true
745
746 # The number of newlines before a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
747 # Will not change the newline count if after a brace open.
748 # 0 = No change.
749 nl_before_access_spec         = 2        # number
750
751 # The number of newlines after a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label.
752 # 0 = No change.
753 nl_after_access_spec          = 1        # number
754
755 # Whether to remove blank lines after '{'
756 eat_blanks_after_open_brace   = false    # false/true
757
758 # Whether to remove blank lines before '}'
759 eat_blanks_before_close_brace = false    # false/true
760
761 #
762 # Code modifying options (non-whitespace)
763 #
764
765 # Add or remove braces on single-line 'do' statement
766 mod_full_brace_do             = ignore   # ignore/add/remove/force
767
768 # Add or remove braces on single-line 'for' statement
769 mod_full_brace_for            = ignore   # ignore/add/remove/force
770
771 # Add or remove braces on single-line function defintions. (Pawn)
772 mod_full_brace_function       = ignore   # ignore/add/remove/force
773
774 # Add or remove braces on single-line 'if' statement
775 mod_full_brace_if             = ignore   # ignore/add/remove/force
776
777 # Don't remove braces around statements that span N newlines
778 mod_full_brace_nl             = 3        # number
779
780 # Add or remove braces on single-line 'while' statement
781 mod_full_brace_while          = ignore   # ignore/add/remove/force
782
783 # Add or remove unnecessary paren on 'return' statement
784 mod_paren_on_return           = ignore   # ignore/add/remove/force
785
786 # Whether to change optional semicolons to real semicolons
787 mod_pawn_semicolon            = false    # false/true
788
789 # Add parens on 'while' and 'if' statement around bools
790 mod_full_paren_if_bool        = false    # false/true
791
792 # Whether to remove superfluous semicolons
793 mod_remove_extra_semicolon    = false    # false/true
794
795 #
796 # Comment modifications
797 #
798
799 # Try to wrap comments at cmt_witdth columns
800 cmt_width                     = 0        # number
801
802 # Whether to group c-comments that look like they are in a block
803 cmt_c_group                   = false    # false/true
804
805 # Whether to put an empty '/*' on the first line of the combined c-comment
806 cmt_c_nl_start                = false    # false/true
807
808 # Whether to put a newline before the closing '*/' of the combined c-comment
809 cmt_c_nl_end                  = false    # false/true
810
811 # Whether to group cpp-comments that look like they are in a block
812 cmt_cpp_group                 = false    # false/true
813
814 # Whether to put an empty '/*' on the first line of the combined cpp-comment
815 cmt_cpp_nl_start              = false    # false/true
816
817 # Whether to put a newline before the closing '*/' of the combined cpp-comment
818 cmt_cpp_nl_end                = false    # false/true
819
820 # Whether to change cpp-comments into c-comments
821 cmt_cpp_to_c                  = false    # false/true
822
823 # Whether to put a star on subsequent comment lines
824 cmt_star_cont                 = false    # false/true
825
826 # The number of spaces to insert at the start of subsequent comment lines
827 cmt_sp_before_star_cont       = 0        # number
828
829 # The number of spaces to insert after the star on subsequent comment lines
830 cmt_sp_after_star_cont        = 0        # number
831
832 #
833 # Preprocessor options
834 #
835
836 # Control indent of preprocessors inside #if blocks at brace level 0
837 pp_indent                     = remove   # ignore/add/remove/force
838
839 # Whether to indent at the brace level (true) or from column 1 (false)
840 # Region stuff is always explicitly controlled
841 pp_indent_at_level            = false    # false/true
842
843 # Add or remove space after # based on pp_level of #if blocks
844 pp_space                      = remove   # ignore/add/remove/force
845
846 # The indent for #region and #endregion in C# and '#pragma region' in C/C++
847 pp_indent_region              = 0        # number
848
849 # Whether to indent the code between #region and #endregion
850 pp_region_indent_code         = false    # false/true
851
852 # If pp_indent_at_level=true, sets the indent for #if, #else, and #endif when not at file-level
853 pp_indent_if                  = 0        # number
854
855 # If pp_indent_at_level=true, control whether to indent the code between #if, #else and #endif when not a file-level
856 pp_if_indent_code             = false    # false/true
857
858 # You can force a token to be a type with the 'type' option.
859 # Example:
860 # type myfoo1 myfoo2
861 #
862 # You can create custom macro-based indentation using macro-open, 
863 # macro-else and macro-close.
864 # Example:
865 # macro-open  BEGIN_TEMPLATE_MESSAGE_MAP
866 # macro-open  BEGIN_MESSAGE_MAP
867 # macro-close END_MESSAGE_MAP