summaryrefslogtreecommitdiff
path: root/data/uncrustify.cfg
blob: 2a113a8d6feac02c2106b762694e8ca64a94fa95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2, or (at your option)
#  any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#  Allman style
#

# indent
indent_ternary_operator                  = 1

# indent using tabs
output_tab_size                          = 4
indent_columns                           = output_tab_size
indent_with_tabs                         = 0

# indent case
indent_switch_case                       = indent_columns
indent_case_brace                        = 0

# newlines
newlines                                 = lf
nl_after_semicolon                       = true
nl_start_of_file                         = remove
nl_end_of_file                           = force
nl_end_of_file_min                       = 1

# spaces
sp_return_paren                          = force      # "return (1);" vs "return(1);"
sp_sizeof_paren                          = force      # "sizeof (int)" vs "sizeof(int)"
sp_assign                                = force
sp_arith                                 = force
sp_bool                                  = force
sp_compare                               = force
sp_after_comma                           = force
sp_case_label                            = force
sp_else_brace                            = force
sp_brace_else                            = force
sp_func_call_paren                       = force      # "foo (" vs "foo("
sp_func_proto_paren                      = force      # "int foo ();" vs "int foo();"
sp_before_ptr_star                       = force
sp_after_ptr_star_qualifier              = force      # "const char * const" vs. "const char *const"
sp_after_ptr_star                        = remove
sp_between_ptr_star                      = remove     # "**var" vs "* *var"
sp_inside_paren                          = remove     # "( 1 )" vs "(1)"
sp_inside_fparen                         = remove     # "( 1 )" vs "(1)" - functions
sp_inside_sparen                         = remove     # "( 1 )" vs "(1)" - if/for/etc
sp_before_sparen                         = force      # "if (" vs "if("
sp_after_cast                            = force     # "(int) a" vs "(int)a"
sp_func_call_user_paren                  = remove     # For gettext, "_()" vs. "_ ()"
set func_call_user _ N_ C_                            # Needed for sp_after_cast
sp_before_semi                           = remove
sp_paren_paren                           = remove     # Space between (( and ))

eat_blanks_before_close_brace            = true
eat_blanks_after_open_brace              = true

# Allman style for curly braces
nl_assign_brace                          = force
nl_enum_brace                            = force
nl_union_brace                           = force
nl_struct_brace                          = force
nl_class_brace                           = force
nl_do_brace                              = force
nl_if_brace                              = force
nl_for_brace                             = force
nl_else_brace                            = force
nl_elseif_brace                          = force
nl_while_brace                           = force
nl_switch_brace                          = force
nl_before_case                           = true
nl_fcall_brace                           = force
nl_fdef_brace                            = force
nl_brace_else                            = force
nl_brace_while                           = force
nl_case_colon_brace                      = force
nl_after_brace_open                      = true

# Function calls and parameters
nl_func_paren                            = remove
nl_func_def_paren                        = remove
nl_func_decl_start                       = remove
nl_func_def_start                        = remove
nl_func_decl_args                        = force
nl_func_def_args                         = force
nl_func_decl_end                         = remove
nl_func_def_end                          = remove

# Code modifying options (non-whitespace)
mod_full_brace_do                        = force
mod_full_brace_for                       = force
mod_full_brace_function                  = force
mod_full_brace_if                        = force
mod_full_brace_while                     = force
mod_case_brace                           = force
mod_remove_extra_semicolon               = true

# Align
align_func_params                        = true
align_single_line_func                   = true
align_var_def_star_style                 = 2

# one liners
nl_func_leave_one_liners                 = true
nl_enum_leave_one_liners                 = true
nl_assign_leave_one_liners               = true

# Comments
cmt_cpp_to_c                             = true       # "/* */" vs. "//"
cmt_cpp_group                            = true       # Group single line comments to block
cmt_c_group                              = true
cmt_convert_tab_to_spaces                = true
#cmt_reflow_mode                         = 2          # Full reflow (seems doesn't work quite well, it doesn't reorder the comments)
#cmt_width                               = 80         # Line width
cmt_star_cont                            = true       # Whether to put a star on subsequent comment lines
cmt_sp_after_star_cont                   = 1          # The number of spaces to insert after the star on subsequent comment lines
cmt_c_nl_start                           = false      # false/true
cmt_c_nl_end                             = true       # false/true
# For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of
# the comment are the same length. Default=True
cmt_multi_check_last                     = false

# Encoding
utf8_bom                                 = remove
utf8_force                               = true