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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
|
#
# AMX Mod X style for Pawn (or as close as possible)
#
#######################
# Basic Indenting Stuff
# (a/i/r) comment notation for add/ignore/remove which is the actual setting
input_tab_size = 1 # tab size on input file: usually 8
output_tab_size = 8 # tab size for output: usually 8
indent_columns = 8 # ie 3 or 8
indent_with_tabs = 2 # 1=only to the 'level' indent, 2=use tab indenting
#indent_paren_nl = 1 # indent-align under paren for open followed by nl
pp_indent = remove # indent preproc 1 space per level (a/i/r)
pp_space_after = remove # spaces between # and word (add/ignore/remove)
#indent_switch_case = 1 # spaces to indent case from switch
#indent_case_brace = 0 # spaces to indent '{' from case
# (usually 0 or indent_columns)
#indent_brace = 0 # spaces to indent '{' from level (usually 0)
indent_braces = 0 # whether to indent the braces or not
#indent_label = 0 # 0=left >0=col from left (absolute column),
# <0=sub from brace indent (relative column)
indent_align_string = false # True/False - indent align broken strings
indent_col1_comment = false # indent comments in column 1
indent_func_call_param = false # indent continued function calls to indent_columns otherwise index_columns + spaces to align with open paren.
indent_namespace = true # indent stuff inside namespace braces
indent_class = true # indent stuff inside class braces
############################
# Misc Inter-element Spacing
# Force,Ignore,Add,Remove
# ignored by nl_*_brace = true
sp_paren_brace = force # space between ')' and '{'
sp_fparen_brace = force # space between ')' and '{' of function
sp_sparen_brace = force # space between ')' and '{' of if, while, etc
sp_after_cast = force # space after cast - "(int) a" vs "(int)a"
sp_before_byref = force # space before '&' of 'fcn(int& idx)'
sp_inside_fparen = force # space inside 'foo( xxx )' vs 'foo(xxx)'
sp_inside_fparens = remove # space inside 'foo( )' vs 'foo()'
sp_inside_paren = remove # space inside '+ ( xxx )' vs '+ (xxx)'
sp_inside_square = remove # space inside 'byte[ 5 ]' vs 'byte[5]'
sp_inside_sparen = force # space inside 'if( xxx )' vs 'if(xxx)'
sp_inside_for = force # space inside 'for( xxx )' vs 'for(xxx)'
sp_inside_angle = ignore # space inside '<>', as in '<class T>'
sp_before_sparen = force # space before '(' of 'if/for/while/switch'
sp_after_sparen = force # space after ')' of 'if/for/while/switch'
# the do-while does not get set here
sp_before_angle = ignore # space before '<>', as in '<class T>'
sp_after_angle = ignore # space after '<>', as in '<class T>'
sp_before_square = ignore # space before single '['
sp_before_squares = remove # space before '[]', as in 'byte []'
sp_paren_paren = force # space between nested parens - '( (' vs '(('
sp_return_paren = remove # space between 'return' and '('
sp_sizeof_paren = remove # space between 'sizeof' and '('
sp_after_comma = force # space after ','
sp_arith = force # space around + - / * etc
sp_bool = force # space around || &&
sp_compare = force # space around < > ==, etc
sp_assign = force # space around =, +=, etc
sp_func_def_paren = remove # space between 'func' and '(' - "foo (" vs "foo("
sp_func_call_paren = remove # space between 'func' and '(' - "foo (" vs "foo("
sp_func_proto_paren = remove # space between 'func' and '(' - "foo (" vs "foo("
sp_func_class_paren = remove # space between ctor/dtor and '('
#sp_type_func = 1 # space between return type and 'func'
# a minimum of 1 is forced except for '*'
sp_special_semi = remove # space empty stmt ';' on while, if, for
# example "while (*p++ = ' ') ;"
sp_before_semi = remove # space before all ';'
sp_inside_braces = force # space inside '{' and '}' - "{ 1, 2, 3 }"
sp_inside_braces_enum = force # space inside enum '{' and '}' - "{ a, b, c }"
sp_inside_braces_struct = force # space inside struct/union '{' and '}'
sp_macro = force # space between macro and value, ie '#define a 6'
sp_macro_func = force # space between macro and value, ie '#define a 6'
sp_square_fparen = remove # weird pawn stuff: native yark[rect](a[rect])
sp_after_tag = remove # pawn: space after a tag colon
################################
# Code Alignment
# (not left column spaces/tabs)
align_with_tabs = true # use tabs for aligning (0/1)
align_keep_tabs = false # keep non-indenting tabs
align_on_tabstop = true # always align on tabstops
align_nl_cont = 0 # align the back-slash \n combo (macros)
align_enum_equ_span = 1 # align the '=' in enums
align_assign_span = 1 # align on '='. 0=don't align
align_assign_thresh = 0 # threshold for aligning on '='. 0=no limit
align_right_cmt_span = 8 # align comment that end lines. 0=don't align
align_var_def_span = 1 # align variable defs on variable (span for regular stuff)
align_var_def_thresh = 0 # align variable defs threshold
align_var_def_inline = true # also align inline struct/enum/union var defs
align_var_def_star_style = 1 # the star is part of the variable name
align_var_def_colon = false # align the colon in struct bit fields
align_var_struct_span = 1 # span for struct/union (0=don't align)
align_pp_define_span = 1 # align bodies in #define statements
align_pp_define_gap = 1 # min space between define label and value "#define a <---> 16"
align_struct_init_span = 1 # align structure initializer values
align_func_proto_span = 1 # align function prototypes
align_number_right = false # right-align numbers (not fully supported, yet)
align_typedef_span = 1 # align single-line typedefs
align_typedef_gap = 1 # minimum spacing
align_typedef_star_style = 1 # Start aligning style
# 0: '*' not part of type
# 1: '*' part of the type - no space
# 2: '*' part of type, dangling
#####################################
# Newline Adding and Removing Options
# Add/Remove/Ignore
nl_fdef_brace = add # "int foo() {" vs "int foo()\n{"
nl_func_decl_start = ignore # newline after the '(' in a function decl
nl_func_decl_args = ignore # newline after each ',' in a function decl
nl_func_decl_end = ignore # newline before the ')' in a function decl
nl_func_type_name = ignore # newline between return type and func name in def
nl_var_def_blk_end_func_top = 0 # newline after a block of variable defs
nl_before_case = false # newline before 'case' statement
nl_after_return = false # newline after return statement
nl_after_case = false # disallow nested "case 1: a=3;"
nl_fcall_brace = add # newline between function call and open brace
nl_squeeze_ifdef = false # no blanks after #ifxx, #elxx, or before #endif TRUE/F
nl_enum_brace = ignore # nl between enum and brace
nl_struct_brace = ignore # nl between struct and brace
nl_union_brace = ignore # nl between union and brace
nl_assign_brace = ignore # nl between '=' and brace
nl_class_brace = ignore # nl between class name and brace
nl_namespace_brace = ignore # nl between namespace name and brace
nl_do_brace = add # nl between do and {
nl_if_brace = add # nl between if and {
nl_for_brace = add # nl between for and {
nl_else_brace = remove # nl between else and {
nl_while_brace = add # nl between while and {
nl_switch_brace = add # nl between switch and {
nl_brace_else = remove # nl between } and else
nl_brace_while = add # nl between } and while of do stmt
nl_elseif_brace = add # nl between close paren and open brace in 'else if () {'
nl_define_macro = 0 # alter newlines in #define macros
nl_start_of_file = ignore # alter newlines at the start of file
nl_start_of_file_min = 0 # min number of newlines at the start of the file
nl_end_of_file = ignore # alter newlines at the end of file
nl_end_of_file_min = 0 # min number of newlines at the end of the file
pos_bool = start # end=move &&/|| to EOL ignore=gnore, start=move to SOL
#####################
# Blank Line Options
nl_before_block_comment = 3 # before a block comment (stand-alone
# comment-multi), except after brace open
nl_after_func_body = 3 # after the closing brace of a function body
nl_after_func_proto = 3 # after each prototype
nl_after_func_proto_group = 3 # after a block of prototypes
nl_max = 3 # maximum consecutive newlines (3=2 lines)
eat_blanks_after_open_brace = true # remove blank lines after {
eat_blanks_before_close_brace = true # remove blank lines before }
########################
# Code Modifying Options
# (non-whitespace)
mod_paren_on_return = force # add or remove paren on return
mod_full_brace_nl = 1 # max number of newlines to span w/o braces
mod_full_brace_if = ignore # add or remove braces on if
mod_full_brace_for = ignore # add or remove braces on for
mod_full_brace_do = ignore # add or remove braces on do
mod_full_brace_while = ignore # add or remove braces on while
mod_pawn_semicolon = True # add optional semicolons
mod_full_brace_function = add # add optional braces on Pawn functions
#######################
# Comment Modifications
cmt_star_cont = true # put a star on subsequent comment lines
cmt_cpp_to_c = true # convert CPP comments to C comments
cmt_cpp_group = true # if UO_cmt_cpp_to_c, try to group in one big C comment
cmt_cpp_nl_start = true # put a blank /* at the start of a converted group
cmt_cpp_nl_end = true # put a nl before the */ in a converted group
|