#
# My favorite format
#
code_width                    = 240
nl_max                        = 2
ls_func_split_full            = True
indent_with_tabs              = 0       # 1=indent to level only, 2=indent with tabs
input_tab_size                = 8       # original tab size
output_tab_size               = 4       # new tab size
indent_columns                = output_tab_size
indent_label                  = 2       # pos: absolute col, neg: relative column
indent_align_string           = False   # align broken strings
indent_brace                  = 0

nl_enum_brace                 = add     # "enum {" vs "enum \n {"
nl_union_brace                = add     # "union {" vs "union \n {"
nl_struct_brace               = add     # "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               = 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              = FALSE

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

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