uncrustify.cfg (297 lines of code) (raw):

# General configuration input_tab_size = 4 output_tab_size = 4 string_replace_tab_chars = false disable_processing_nl_cont = true # Avoid mangling multi-line macros, like static init utf8_bom = remove # disable_processing_cmt = " *INDENT-OFF*" # enable_processing_cmt = " *INDENT-ON*" # processing_cmt_as_regex = false # Enum spacing sp_enum_brace = force sp_inside_braces_enum = remove sp_enum_paren = force sp_enum_assign = force # Preprocessor spacing sp_pp_concat = force sp_pp_stringify = ignore sp_before_pp_stringify = force # Operator spacing sp_arith = force sp_arith_additive = force sp_assign = force sp_bool = force sp_compare = force sp_inside_paren = remove sp_paren_paren = remove sp_cparen_oparen = force # sp_balance_nested_parens = false sp_paren_brace = force # Pointer spacing sp_before_ptr_star = force sp_before_unnamed_ptr_star = remove sp_before_qualifier_ptr_star = force sp_qualifier_unnamed_ptr_star = remove sp_between_ptr_star = remove sp_after_ptr_star = remove sp_after_ptr_star_qualifier = remove sp_after_ptr_star_func = force sp_ptr_star_func_var = remove sp_ptr_star_func_type = remove sp_ptr_star_paren = force sp_before_ptr_star_func = remove sp_qualifier_ptr_star_func = remove # Variable spacing sp_after_type = force # Control statement spacing sp_before_sparen = force sp_inside_sparen = remove sp_inside_for = remove sp_sparen_paren = remove # sp_after_sparen = force sp_sparen_brace = force sp_do_brace_open = force sp_brace_close_while = force sp_while_paren_open = force # Semicolon spacing # sp_special_semi = remove sp_before_semi = remove sp_before_semi_for = remove sp_before_semi_for_empty = remove sp_between_semi_for_empty = remove sp_after_semi = remove sp_after_semi_for = force sp_after_semi_for_empty = remove # Array spacing sp_before_square = remove sp_before_vardef_square = remove sp_before_squares = remove sp_inside_square = remove sp_inside_square_empty = remove # Comma spacing sp_after_comma = force sp_before_comma = remove sp_paren_comma = force # Misc spacing sp_paren_qualifier = force sp_after_cast = force sp_inside_paren_cast = remove sp_sizeof_paren = force sp_attribute_paren = remove sp_defined_paren = force sp_endif_cmt = force # force_tab_after_define = true # Braces spacing sp_brace_brace = remove sp_inside_braces_struct = remove sp_inside_type_brace_init_lst = remove sp_inside_braces = remove sp_inside_braces_empty = remove sp_type_brace_init_lst = force sp_else_brace = force sp_brace_else = force sp_brace_typedef = force # Function spacing sp_type_func = force sp_func_proto_paren = force sp_func_proto_paren_empty = force sp_func_type_paren = force sp_func_def_paren = force sp_func_def_paren_empty = force sp_inside_fparens = remove sp_inside_fparen = remove sp_inside_tparen = remove sp_after_tparen_close = force sp_square_fparen = force sp_fparen_brace = force sp_fparen_brace_initializer = force sp_func_call_paren = force sp_func_call_paren_empty = force sp_return = force sp_return_paren = force sp_return_brace = force # Macro spacing sp_macro = add sp_macro_func = add # Unary spacing sp_not = remove sp_not_not = remove sp_inv = remove sp_addr = remove sp_member = remove sp_deref = remove sp_sign = remove sp_incdec = remove sp_before_nl_cont = ignore # Ternary spacing sp_cond_colon = force sp_cond_question = force # Switch spacing sp_case_label = force sp_before_case_colon = remove # Comment spacing sp_before_tr_cmt = add sp_num_before_tr_cmt = 4 sp_before_emb_cmt = force sp_num_before_emb_cmt = 1 sp_after_emb_cmt = force sp_num_after_emb_cmt = 1 # Bitfield spacing sp_before_bit_colon = remove sp_after_bit_colon = remove # Indent configuration indent_columns = 4 indent_ignore_first_continue = false indent_continue = 4 indent_single_newlines = false indent_param = 4 indent_with_tabs = 2 indent_cmt_with_tabs = true indent_align_string = false indent_brace = 0 indent_braces = false indent_brace_parent = false indent_paren_open_brace = false indent_else_if = false indent_var_def_blk = 0 indent_var_def_cont = true indent_shift = 1 align_left_shift = false # Function parameter indenting indent_func_call_param = true indent_func_def_param = true indent_func_proto_param = true indent_func_class_param = true indent_macro_brace = true indent_member_single = true # When opening a paren for a control statement (if, for, while, etc), increase # the indent level by this value. Negative values decrease the indent level. indent_sparen_extra = 0 indent_relative_single_line_comments = true # Switch indenting indent_switch_case = 4 indent_switch_body = 4 indent_switch_break_with_case = false # indent_switch_pp = false indent_comment_align_thresh = 4 indent_paren_close = 2 # indent_compound_literal_return = true indent_align_assign = false indent_align_paren = false indent_ternary_operator = 0 indent_inside_ternary_operator = true # Newline handling nl_end_of_file = force nl_end_of_file_min = 1 # Brace newlines nl_assign_brace = remove nl_fcall_brace = remove nl_enum_brace = remove nl_struct_brace = remove nl_union_brace = remove nl_if_brace = remove nl_brace_else = force nl_elseif_brace = remove nl_else_brace = remove nl_else_if = remove nl_before_if_closing_paren = remove nl_for_brace = remove nl_while_brace = remove nl_do_brace = remove nl_brace_while = remove nl_switch_brace = remove nl_multi_line_cond = false nl_case_colon_brace = remove nl_fdef_brace = force nl_type_brace_init_lst = remove nl_type_brace_init_lst_open = force nl_type_brace_init_lst_close = ignore nl_before_brace_open = false nl_after_brace_open = true nl_assign_leave_one_liners = true nl_before_case = true nl_enum_own_lines = force # nl_after_semicolon = true nl_define_macro = false nl_after_label_colon = true # Function newlines nl_func_type_name = remove nl_func_proto_type_name = remove nl_func_paren = remove nl_func_paren_empty = remove nl_func_def_paren = remove nl_func_def_paren_empty = remove nl_func_call_paren = remove nl_func_call_paren_empty = remove nl_func_decl_start = ignore nl_func_def_start = ignore nl_func_decl_start_single = ignore nl_func_def_start_single = ignore nl_func_decl_start_multi_line = false nl_func_def_start_multi_line = false nl_func_decl_args = remove nl_func_def_args = remove nl_func_call_args = remove nl_func_decl_args_multi_line = false nl_func_def_args_multi_line = false nl_func_decl_end = remove nl_func_def_end = remove nl_func_decl_end_single = remove nl_func_def_end_single = remove nl_func_decl_end_multi_line = false nl_func_def_end_multi_line = false nl_func_decl_empty = remove nl_func_def_empty = remove nl_func_call_empty = remove nl_func_call_start = remove nl_func_call_end = remove nl_func_call_start_multi_line = false nl_func_call_args_multi_line = false nl_func_call_end_multi_line = false nl_return_expr = remove nl_before_return = true nl_after_return = false nl_before_member = remove nl_split_if_one_liner = true nl_split_for_one_liner = true nl_split_while_one_liner = true # Blank lines nl_max = 4 nl_max_blank_in_func = 2 nl_inside_empty_func = 2 # Disable these for now as they don't work well in the presence of #if/#endif # nl_after_func_proto_group = 2 # nl_after_func_body = 2 nl_after_func_body_one_liner = 2 nl_var_def_blk_end_func_top = 2 nl_var_def_blk_end = 2 nl_after_struct = 2 eat_blanks_after_open_brace = true eat_blanks_before_close_brace = true # nl_remove_extra_newlines = 0 nl_before_whole_file_ifdef = 2 nl_after_whole_file_ifdef = 1 nl_before_whole_file_endif = 3 nl_after_whole_file_endif = 2 # Positioning options pos_arith = trail pos_assign = trail pos_bool = trail pos_compare = trail pos_conditional = trail pos_comma = trail pos_enum_comma = trail_force pos_shift = trail # Line splitting options code_width = 100 ls_for_split_full = false ls_func_split_full = false ls_code_width = false # Code alignment options (not left column spaces/tabs) align_keep_tabs = true align_with_tabs = true align_on_tabstop = true align_func_params = false align_same_func_call_params = false align_var_def_span = 0 align_var_def_colon = false align_var_def_inline = false align_assign_span = 0 align_assign_func_proto_span = 0 align_enum_equ_span = 0 align_var_struct_span = 0 align_struct_init_span = 0 align_typedef_span = 0 align_func_proto_span = 0 align_right_cmt_span = 4 align_right_cmt_gap = 1 align_right_cmt_mix = false align_right_cmt_same_level = false align_right_cmt_at_col = 4 # Comment modification options cmt_width = 0 cmt_reflow_mode = 0 cmt_indent_multi = false # cmt_c_nl_start = false # cmt_c_nl_end = false # cmt_star_cont = true # cmt_sp_before_star_cont = 1 # cmt_sp_after_star_cont = 1 # cmt_multi_check_last = true # cmt_multi_first_len_minimum = 4 # Code modifying options (non-whitespace) mod_full_brace_do = force mod_full_brace_for = force mod_full_brace_if = force mod_full_brace_while = force mod_full_paren_if_bool = true mod_full_paren_assign_bool = true mod_full_paren_return_bool = true mod_remove_extra_semicolon = true mod_remove_duplicate_include = true mod_sort_include = true mod_sort_incl_import_prioritize_angle_over_quotes = true include_category_0 = '^"[^/]+"$' include_category_1 = '^".*"$' include_category_2 = '^"testing/.*"$' mod_move_case_break = true mod_move_case_return = true mod_case_brace = remove mod_remove_empty_return = true mod_enum_last_comma = force # Preprocessor options pp_indent_with_tabs = 2 pp_indent = remove pp_indent_at_level = false pp_indent_at_level0 = false pp_if_indent_code = false pp_indent_in_guard = false pp_define_at_level = false pp_include_at_level = false pp_ignore_define_body = true pp_multiline_define_body_indent = 4