indent_with_tabs    = 2     # 1=indent to level only, 2=indent with tabs
input_tab_size      = 8     # original tab size
output_tab_size     = 8     # new tab size
indent_columns      = output_tab_size
indent_label        = 1     # pos: absolute col, neg: relative column
indent_switch_case  = 0     # number

#
# inter-symbol newlines
#

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         = remove    # "do {" vs "do \n {"
nl_if_brace         = remove    # "if () {" vs "if () \n {"
nl_for_brace        = remove    # "for () {" vs "for () \n {"
nl_else_brace       = remove    # "else {" vs "else \n {"
nl_while_brace      = remove    # "while () {" vs "while () \n {"
nl_switch_brace     = remove    # "switch () {" vs "switch () \n {"
nl_brace_while      = remove    # "} while" vs "} \n while" - cuddle while
nl_brace_else       = remove    # "} \n else" vs "} else"
nl_func_var_def_blk = 1
nl_fcall_brace      = remove    # "list_for_each() {" vs "list_for_each()\n{"
nl_fdef_brace       = add       # "int foo() {" vs "int foo()\n{"

#
# Source code modifications
#

mod_paren_on_return = ignore    # "return 1;" vs "return (1);"
mod_full_brace_if   = add       # "if() { } else { }" vs "if() else"

#
# inter-character spacing options
#

sp_sizeof_paren     = remove    # "sizeof (int)" vs "sizeof(int)"
sp_before_sparen    = force     # "if (" vs "if("
sp_after_sparen     = force     # "if () {" vs "if (){"
sp_inside_braces    = add       # "{ 1 }" vs "{1}"
sp_inside_braces_struct = add   # "{ 1 }" vs "{1}"
sp_inside_braces_enum   = add   # "{ 1 }" vs "{1}"
sp_assign           = add
sp_arith            = add
sp_bool             = add
sp_compare          = add
sp_assign           = add
sp_after_comma      = add
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();"
sp_else_brace       = add       # ignore/add/remove/force
sp_before_ptr_star  = add       # ignore/add/remove/force
sp_after_ptr_star   = remove    # ignore/add/remove/force
sp_between_ptr_star = remove    # ignore/add/remove/force
sp_inside_paren     = remove    # remove spaces inside parens
sp_paren_paren      = remove    # remove spaces between nested parens
sp_inside_sparen    = remove    # remove spaces inside parens for if, while and the like
sp_brace_else       = add       # ignore/add/remove/force
sp_before_nl_cont   = ignore
sp_cmt_cpp_start    = add
sp_brace_typedef    = add       # }typedefd_name -> } typedefd_name

cmt_sp_after_star_cont          = 1
#
# Aligning stuff
#

align_with_tabs     = FALSE     # use tabs to align
align_on_tabstop    = TRUE      # align on tabstops
align_enum_equ_span = 4         # '=' in enum definition
align_struct_init_span  = 0     # align stuff in a structure init '= { }'
align_right_cmt_span    = 3
align_nl_cont	    = TRUE



sp_pp_concat                              = ignore      # ignore/add/remove/force
