# # http://uncrustify.sourceforge.net/ # # Source beautifier configuration which helps to create # more consistent look to your source with the expected # coding style in VICE # # Usage: "uncrustify -c uncrustify.cfg source.c" # # There's no guarantee the look is perfect after this # but at least the most common stuff is corrected. # # Make sure to use the latest version. # # no cr/lf newlines = lf # no tabs indent_with_tabs = 0 # no tabs output_tab_size = 2 # small indents indent_columns = 2 # Spaces to indent '{' from 'case'. # By default, the brace will appear under the 'c' in case. # Usually set to 0 or indent_columns. indent_case_brace = 0 # Spaces to indent 'case' from 'switch' # Usually 0 or indent_columns. indent_switch_case = 2 # indent 'break' with 'case' from 'switch'. indent_switch_break_with_case = false # Whether to indent continued function call parameters one indent level, # rather than aligning parameters under the open parenthesis. indent_func_call_param = true # Whether to indent continued function definition parameters one indent level, # rather than aligning parameters under the open parenthesis. indent_func_def_param = true # Add or remove space between function name and '(' on function declaration. sp_func_proto_paren = remove # Add or remove space between function name and '(' on function calls. sp_func_call_paren = remove # Add or remove space around arithmetic operator '+', '-', '/', '*', etc sp_arith = force # Add or remove space around assignment operator '=', '+=', etc sp_assign = force # Add or remove space around boolean operators '&&' and '||' sp_bool = force # Add or remove space around compare operator '<', '>', '==', etc sp_compare = force # Add or remove space around the ':' in 'b ? t : f' sp_cond_colon = force # Add or remove space around the '?' in 'b ? t : f' sp_cond_question = force # In the abbreviated ternary form '(a ?: b)', add or remove space between '?' # and ':'. # # Overrides all other sp_cond_* options. sp_cond_ternary_short = remove # Add or remove space between nested parens sp_paren_paren = remove # Add or remove space inside '(' and ')' sp_inside_sparen = remove # Add or remove space between 'else' and '{' if on the same line sp_else_brace = add # Add or remove space between '}' and 'else' if on the same line sp_brace_else = add # Add or remove space inside a non-empty '[' and ']' sp_inside_square = remove # Add or remove space before '(' of 'if', 'for', 'switch', and 'while' sp_before_sparen = add # Add or remove space after ',' sp_after_comma = add # Add or remove space before ',' sp_before_comma = remove # Add or remove space between ')' and '{' sp_paren_brace = add # Add or remove space between ')' and '{' of function. sp_fparen_brace = add # Add or remove space after ')' of 'if', 'for', 'switch', and 'while' sp_after_sparen = add # Add or remove space after ';', except when followed by a comment. Default=Add sp_after_semi = add # Add or remove newline between '}' and 'else' nl_brace_else = add # Add or remove newline between 'enum' and '{' nl_enum_brace = remove # Add or remove newline between 'struct and '{' nl_struct_brace = remove # Add or remove newline between 'union' and '{' nl_union_brace = remove # Whether to put a newline after brace open. # This also adds a newline before the matching brace close. nl_after_brace_open = true # Add or remove newline between 'if' and '{' nl_if_brace = remove # Add or remove newline between 'else' and '{' nl_else_brace = remove # Add or remove newline between 'switch' and '{' nl_switch_brace = remove # Add or remove newline at the end of the file nl_end_of_file = add # Add or remove newline between function signature and '{' nl_fdef_brace = remove # Whether to collapse a function definition whose body (not counting braces) # is only one line so that the entire definition (prototype, braces, body) is # a single line. nl_create_func_def_one_liner = true # Whether to remove blank lines after '{' eat_blanks_after_open_brace = false # Whether to remove blank lines before '}' eat_blanks_before_close_brace = false # Whether to enforce that all blocks of an 'if'/'else if'/'else' chain either # have, or do not have, braces. If true, braces will be added if any block # needs braces, and will only be removed if they can be removed from all # blocks. # # Overrides mod_full_brace_if. mod_full_brace_if_chain = true # Add or remove braces on single-line 'if' statement. Will not remove the braces if they contain an 'else'. mod_full_brace_if = false # Add or remove braces on single-line 'do' statement mod_full_brace_do = false # Add or remove braces on single-line 'for' statement mod_full_brace_for = false # Add or remove braces on single-line 'while' statement mod_full_brace_while = false # Whether to remove superfluous semicolons mod_remove_extra_semicolon = true # Whether to put a newline after a brace close. # Does not apply if followed by a necessary ';'. nl_after_brace_close = true # If false, disable all multi-line comment changes, including cmt_width. keyword substitution, and leading chars. # Default is true. cmt_indent_multi = false # # Indent all code and preprocessor directives together # to remove all ambiguity and permit code folding. # TODO: Reduce indent at the "whole file" level. # # Add or remove indentation of preprocessor directives inside #if blocks # at brace level 0 (file-level). pp_indent = add # Whether to indent #if/#else/#endif at the brace level. If false, these are # indented from column 1. pp_indent_at_level = true # Whether to indent '#define' at the brace level. If false, these are # indented from column 1. pp_define_at_level = true # If pp_indent_at_level=true, sets the indent for #if, #else and #endif when # not at file-level. Negative values decrease indent down to the first column. # # =0: Indent preprocessors using output_tab_size # >0: Column at which all preprocessors will be indented pp_indent_if = 0 # Whether to indent case statements between #if, #else, and #endif. # Only applies to the indent of the preprocesser that the case statements # directly inside of. # # Default: true pp_indent_case = false # Whether to indent the code between #if, #else and #endif. pp_if_indent_code = true # Specifies the number of columns to indent preprocessors per level # at brace level 0 (file-level). If pp_indent_at_level=false, also specifies # the number of columns to indent preprocessors per level # at brace level > 0 (function-level). # # Default: 1 pp_indent_count = 2 # Whether to ignore the '#define' body while formatting. pp_ignore_define_body = true # Whether to indent extern C blocks between #if, #else, and #endif. # Only applies to the indent of the preprocesser that the extern block is # directly inside of. # # Default: true pp_indent_extern = false # Whether to indent braces directly inside #if, #else, and #endif. # Only applies to the indent of the preprocesser that the braces are directly # inside of. # # Default: true pp_indent_brace = false # If an #ifdef body exceeds the specified number of newlines and doesn't have # a comment after the #endif, a comment will be added. mod_add_long_ifdef_endif_comment = 40 # If an #ifdef or #else body exceeds the specified number of newlines and # doesn't have a comment after the #else, a comment will be added. mod_add_long_ifdef_else_comment = 40 # Whether to remove blanks after '#ifxx' and '#elxx', or before '#elxx' and # '#endif'. Does not affect top-level #ifdefs. nl_squeeze_ifdef = true # # Newline adding and removing options # # Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'. nl_assign_leave_one_liners = true # Don't split one-line braced statements inside a 'class xx { }' body. nl_class_leave_one_liners = true # Don't split one-line enums, as in 'enum foo { BAR = 15 };' nl_enum_leave_one_liners = true # Don't split one-line get or set functions. nl_getset_leave_one_liners = true # (C#) Don't split one-line property get or set functions. nl_cs_property_leave_one_liners = true # Don't split one-line function definitions, as in 'int foo() { return 0; }'. # might modify nl_func_type_name nl_func_leave_one_liners = true # Don't split one-line C++11 lambdas, as in '[]() { return 0; }'. nl_cpp_lambda_leave_one_liners = false # Don't split one-line if/else statements, as in 'if(...) b++;'. nl_if_leave_one_liners = true # Don't split one-line while statements, as in 'while(...) b++;'. nl_while_leave_one_liners = true # Don't split one-line for statements, as in 'for(...) b++;'. nl_for_leave_one_liners = true # Whether to indent the body of a C++11 lambda. indent_cpp_lambda_body = true # The value might be used twice: # - at the assignment # - at the opening brace # # To prevent the double use of the indentation value, use this option with the # value 'true'. # # true: indentation will be used only once # false: indentation will be used every time (default) indent_cpp_lambda_only_once = true # How to reflow comments. # # 0: No reflowing (apart from the line wrapping due to cmt_width) (default) # 1: No touching at all # 2: Full reflow cmt_reflow_mode = 1 # Whether to group cpp-comments that look like they are in a block. Only # meaningful if cmt_cpp_to_c=true. cmt_cpp_group = true # Whether to put a star on subsequent comment lines. cmt_star_cont = true # The number of spaces to insert at the start of subsequent comment lines. cmt_sp_before_star_cont = 1 # The number of spaces to insert after the star on subsequent comment lines. cmt_sp_after_star_cont = 1 # Whether to convert all tabs to spaces in comments. If false, tabs in # comments are left alone, unless used for indenting. cmt_convert_tab_to_spaces = true # Add a newline before ')' if an if/for/while/switch condition spans multiple # lines. Overrides nl_before_if_closing_paren if both are specified. nl_multi_line_sparen_close = ignore # Add or remove newline before 'if'/'else if' closing parenthesis. nl_before_if_closing_paren = ignore # Add or remove space around assignment operator '=' in a prototype. # # If set to ignore, use sp_assign. sp_assign_default = remove # Whether to right-align numbers. align_number_right = true