#
# GNU-like format
#

indent_with_tabs		= 0		# 1=indent to level only, 2=indent with tabs
input_tab_size			= 8		# original tab size
output_tab_size			= 2		# new tab size
indent_columns			= 2		# should usually match output_tab_size
indent_label			= 2		# pos: absolute col, neg: relative column
indent_align_string		= False		# align broken strings
indent_brace			= 2

nl_enum_brace			= remove	# "enum {" vs "enum \n {"
nl_union_brace			= remove	# "union {" vs "union \n {"
nl_struct_brace			= remove	# "struct {" vs "struct \n {"
nl_do_brace			= add		# "do {" vs "do \n {"
nl_if_brace			= add		# "if () {" vs "if () \n {"
nl_for_brace			= add		# "for () {" vs "for () \n {"
nl_else_brace			= add		# "else {" vs "else \n {"
nl_while_brace			= add		# "while () {" vs "while () \n {"
nl_switch_brace			= add		# "switch () {" vs "switch () \n {"
nl_func_var_def_blk		= 1
nl_before_case			= 1
nl_fcall_brace			= add		# "foo() {" vs "foo()\n{"
nl_fdef_brace			= add		# "int foo() {" vs "int foo()\n{"
# nl_after_return			= TRUE
nl_brace_while			= remove
nl_brace_else			= add
nl_squeeze_ifdef		= TRUE

# mod_paren_on_return		= ignore	# "return 1;" vs "return (1);"
# mod_full_brace_if		= ignore	# "if (a) a--;" vs "if (a) { a--; }"
# mod_full_brace_for		= ignore	# "for () a--;" vs "for () { a--; }"
# mod_full_brace_do		= ignore	# "do a--; while ();" vs "do { a--; } while ();"
# mod_full_brace_while		= ignore	# "while (a) a--;" vs "while (a) { a--; }"

sp_before_semi			= remove
sp_paren_paren			= remove	# space between (( and ))
sp_return_paren			= remove	# "return (1);" vs "return(1);"
sp_sizeof_paren			= remove	# "sizeof (int)" vs "sizeof(int)"
sp_before_sparen		= force		# "if (" vs "if("
sp_after_sparen			= force		# "if () {" vs "if (){"
sp_after_cast			= remove	# "(int) a" vs "(int)a"
sp_inside_braces		= force		# "{ 1 }" vs "{1}"
sp_inside_braces_struct		= force		# "{ 1 }" vs "{1}"
sp_inside_braces_enum		= force		# "{ 1 }" vs "{1}"
sp_inside_paren			= remove
sp_inside_fparen		= remove
sp_inside_sparen		= remove
#sp_type_func			= ignore
sp_assign			= force
sp_arith			= force
sp_bool				= force
sp_compare			= force
sp_after_comma			= force
sp_func_def_paren		= remove	# "int foo (){" vs "int foo(){"
sp_func_call_paren		= remove	# "foo (" vs "foo("
sp_func_proto_paren		= remove	# "int foo ();" vs "int foo();"

# align_with_tabs			= FALSE		# use tabs to align
# align_on_tabstop		= FALSE		# align on tabstops
# align_enum_equ_span		= 4
# align_nl_cont			= TRUE
# align_var_def_span		= 2
# align_var_def_inline		= TRUE
# align_var_def_star		= TRUE
# align_var_def_colon		= TRUE
# align_assign_span		= 1
# align_struct_init_span		= 3
# align_var_struct_span		= 3
# align_right_cmt_span		= 3
# align_pp_define_span		= 3
# align_pp_define_gap		= 4
# align_number_left		= TRUE
# align_typedef_span		= 5
# align_typedef_gap		= 3

# cmt_star_cont			= TRUE

eat_blanks_before_close_brace	= TRUE
eat_blanks_after_open_brace	= TRUE

