Last active
May 20, 2022 05:11
-
-
Save rindeal/25f8cd7815ad35542ba9 to your computer and use it in GitHub Desktop.
Uncrustify C/C++ config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -------------------------------------------------------------------------------------------------# | |
# # | |
# _ _ _ _ __ ___ _____ _ _ __ _ # | |
# | | | |_ _ __ _ _ _ _ __| |_(_)/ _|_ _ / __| / / __|| |_ _| |_ __ ___ _ _ / _(_)__ _ # | |
# | |_| | ' \/ _| '_| || (_-< _| | _| || | | (__ / / (_|_ _|_ _| / _/ _ \ ' \| _| / _` | # | |
# \___/|_||_\__|_| \_,_/__/\__|_|_| \_, | \___/_/ \___||_| |_| \__\___/_||_|_| |_\__, | # | |
# |__/ |___/ # | |
# # | |
# -------------------------------------------------------------------------------------------------# | |
# # | |
# Style: rindeal # | |
# # | |
# -------------------------------------------------------------------------------------------------# | |
# Boilerplate: https://github.com/bengardner/uncrustify/blob/master/etc/defaults.cfg # | |
# -------------------------------------------------------------------------------------------------# | |
## General | |
## ------------------------------------------------------------------------------------------------- | |
# The type of line endings | |
newlines = lf # auto/lf/crlf/cr | |
# - 80 limit is completely deprecated | |
# - 100 is the new soft limit | |
# - 120 is hard limit | |
code_width = 120 | |
# empty_lines_max = nl_max - 1 | |
nl_max = 3 | |
## UNICODE | |
## ------------------------------------------------------------------------------------------------- | |
## Ideally ASCII, UTF-8 otherwise | |
# If the file contains bytes with values between 128 and 255, but is not UTF-8, then output as UTF-8 | |
utf8_byte = false | |
# Force the output encoding to UTF-8 | |
utf8_force = true | |
## Tabs | |
## ------------------------------------------------------------------------------------------------- | |
## Always use 4 spaces | |
input_tab_size = 4 | |
output_tab_size = 4 | |
indent_with_tabs = 0 | |
# Comments that are not a brace level are indented with tabs on a tabstop. | |
# Requires indent_with_tabs = 2. If false, will use spaces. | |
indent_cmt_with_tabs = false | |
# Whether to use tabs for aligning | |
align_with_tabs = false | |
# Whether to keep non-indenting tabs | |
align_keep_tabs = false | |
# Whether to bump out to the next tab when aligning | |
align_on_tabstop = false | |
## Indenting | |
## ------------------------------------------------------------------------------------------------- | |
# The number of columns to indent per level. | |
# Usually 2, 3, 4, or 8. | |
indent_columns = 4 | |
# The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents. | |
# For FreeBSD, this is set to 4. Negative value is absolute and not increased for each ( level | |
indent_continue = 2 | |
## Spacing | |
## ------------------------------------------------------------------------------------------------- | |
# Whether to balance spaces inside nested parens | |
sp_balance_nested_parens = false | |
## Parentheses | |
## ------------------------------------------------------------------------------------------------- | |
# Controls the indent of a close paren after a newline. | |
# 0: Indent to body level | |
# 1: Align under the open paren | |
# 2: Indent to the brace level | |
indent_paren_close = 2 | |
## Preprocessor | |
## ------------------------------------------------------------------------------------------------- | |
# Control indent of preprocessors inside #if blocks at brace level 0 | |
pp_indent = remove # ignore/add/remove/force | |
# indent by 1 space | |
pp_space = add | |
pp_space_count = 1 | |
# indent pp at code level | |
pp_indent_at_level = true | |
pp_define_at_level = true | |
# Control whether to indent the code between #if, #else and #endif when not at file-level | |
pp_if_indent_code = false | |
# # Align macro functions and variables together | |
align_pp_define_together = false | |
# The minimum space between label and value of a preprocessor define | |
align_pp_define_gap = 1 | |
# The span for aligning on '#define' bodies (0=don't align) | |
align_pp_define_span = 2 | |
# Add or remove space around preprocessor '##' concatenation operator. Default=Add | |
sp_pp_concat = add # ignore/add/remove/force | |
# Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator. | |
sp_pp_stringify = ignore # ignore/add/remove/force | |
# Add or remove space before preprocessor '#' stringify operator as in '#define x(y) L#y'. | |
sp_before_pp_stringify = ignore # ignore/add/remove/force | |
# Template | |
# -------------------------------------------------------------------------------------------------- | |
# Add or remove space in 'template <' vs 'template<'. | |
# If set to ignore, sp_before_angle is used. | |
sp_template_angle = add # ignore/add/remove/force | |
# Add or remove space before '<>' | |
sp_before_angle = remove # ignore/add/remove/force | |
# Add or remove space inside '<' and '>' | |
sp_inside_angle = remove # ignore/add/remove/force | |
# Add or remove space after '<>' | |
sp_after_angle = add # ignore/add/remove/force | |
# Add or remove space between '<>' and '(' as found in 'new List<byte>();' | |
sp_angle_paren = remove # ignore/add/remove/force | |
# Add or remove space between '<>' and a word as in 'List<byte> m;' | |
sp_angle_word = add # ignore/add/remove/force | |
# Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add | |
sp_angle_shift = add # ignore/add/remove/force | |
indent_align_string = false | |
# Whether braces are indented to the body level | |
indent_braces = false | |
# Disabled indenting function braces if indent_braces is true | |
indent_braces_no_func = false | |
# Disabled indenting class braces if indent_braces is true | |
indent_braces_no_class = false | |
# Disabled indenting struct braces if indent_braces is true | |
indent_braces_no_struct = false | |
# Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc. | |
indent_brace_parent = false | |
indent_namespace = false | |
indent_extern = false | |
indent_class = true | |
indent_class_colon = false | |
indent_else_if = false | |
indent_var_def_cont = true | |
indent_func_call_param = false | |
indent_func_def_param = false | |
indent_func_proto_param = false | |
indent_func_class_param = false | |
indent_func_ctor_var_param = false | |
indent_func_param_double = true | |
indent_template_param = false | |
indent_relative_single_line_comments = false | |
indent_col1_comment = true | |
indent_access_spec_body = false | |
indent_paren_nl = false | |
indent_comma_paren = false | |
indent_bool_paren = false | |
indent_first_bool_expr = false | |
indent_square_nl = false | |
indent_preserve_sql = false | |
indent_align_assign = true | |
align_number_left = true | |
align_func_params = true | |
align_same_func_call_params = false | |
align_var_def_colon = false | |
align_var_def_attribute = true | |
align_var_def_inline = true | |
align_right_cmt_mix = false | |
align_on_operator = false | |
align_mix_var_proto = false | |
align_single_line_func = false | |
align_single_line_brace = false | |
align_nl_cont = false | |
align_left_shift = true | |
align_oc_decl_colon = false | |
nl_collapse_empty_body = true | |
nl_assign_leave_one_liners = true | |
nl_class_leave_one_liners = true | |
nl_enum_leave_one_liners = true | |
nl_getset_leave_one_liners = true | |
nl_func_leave_one_liners = true | |
nl_if_leave_one_liners = true | |
nl_multi_line_cond = true | |
nl_multi_line_define = true | |
nl_before_case = false | |
nl_after_case = false | |
nl_after_return = true | |
nl_after_semicolon = true | |
nl_after_brace_open = false | |
nl_after_brace_open_cmt = false | |
nl_after_vbrace_open = false | |
nl_after_vbrace_open_empty = false | |
nl_after_brace_close = false | |
nl_after_vbrace_close = false | |
nl_define_macro = false | |
nl_squeeze_ifdef = false | |
nl_ds_struct_enum_cmt = false | |
nl_ds_struct_enum_close_brace = false | |
nl_create_if_one_liner = false | |
nl_create_for_one_liner = false | |
nl_create_while_one_liner = false | |
ls_for_split_full = true | |
ls_func_split_full = false | |
nl_after_multiline_comment = true | |
eat_blanks_after_open_brace = true | |
eat_blanks_before_close_brace = true | |
mod_full_brace_if_chain = true | |
mod_pawn_semicolon = false | |
mod_full_paren_if_bool = false | |
mod_remove_extra_semicolon = false | |
mod_sort_import = false | |
mod_sort_using = false | |
mod_sort_include = false | |
mod_move_case_break = false | |
mod_remove_empty_return = true | |
cmt_indent_multi = true | |
cmt_c_group = false | |
cmt_c_nl_start = false | |
cmt_c_nl_end = false | |
cmt_cpp_group = false | |
cmt_cpp_nl_start = false | |
cmt_cpp_nl_end = false | |
cmt_cpp_to_c = false | |
cmt_star_cont = true | |
cmt_multi_check_last = true | |
cmt_insert_before_preproc = false | |
indent_sing_line_comments = 0 | |
indent_switch_case = 4 | |
indent_case_shift = 0 | |
align_var_def_star_style = 0 | |
align_var_def_amp_style = 1 | |
align_assign_span = 1 | |
align_assign_thresh = 8 | |
align_enum_equ_span = 3 | |
align_var_struct_span = 3 | |
align_var_struct_gap = 1 | |
align_struct_init_span = 2 | |
align_right_cmt_span = 2 | |
align_right_cmt_gap = 1 | |
align_right_cmt_at_col = 2 | |
nl_end_of_file_min = 1 | |
nl_func_var_def_blk = 1 | |
nl_after_func_body = 2 | |
nl_after_func_body_one_liner = 2 | |
nl_before_block_comment = 2 | |
nl_after_struct = 1 | |
mod_full_brace_nl = 1 | |
mod_add_long_function_closebrace_comment = 32 | |
mod_add_long_ifdef_endif_comment = 10 | |
mod_add_long_ifdef_else_comment = 10 | |
sp_arith = force | |
sp_assign = force | |
sp_assign_default = add | |
sp_enum_assign = force | |
sp_bool = force | |
sp_compare = force | |
sp_before_ptr_star = add | |
sp_before_unnamed_ptr_star = add | |
sp_between_ptr_star = remove | |
sp_after_ptr_star = add | |
sp_after_ptr_star_func = force | |
sp_before_ptr_star_func = force | |
sp_after_type = force | |
sp_before_sparen = force | |
sp_inside_sparen = remove | |
sp_after_sparen = add | |
sp_sparen_brace = add | |
sp_special_semi = remove | |
sp_before_semi = remove | |
sp_before_semi_for_empty = remove | |
sp_after_semi = add | |
sp_after_semi_for_empty = remove | |
sp_after_comma = force | |
sp_before_comma = remove | |
sp_before_case_colon = remove | |
sp_after_operator = add | |
sp_after_operator_sym = add | |
sp_after_cast = add | |
sp_inside_paren_cast = remove | |
sp_sizeof_paren = remove | |
sp_inside_braces_enum = add | |
sp_inside_braces_struct = add | |
sp_inside_braces = add | |
sp_inside_braces_empty = add | |
sp_func_proto_paren = remove | |
sp_func_def_paren = remove | |
sp_inside_fparens = remove | |
sp_inside_fparen = remove | |
sp_fparen_brace = remove | |
sp_func_call_paren = remove | |
sp_func_call_paren_empty = remove | |
sp_func_call_user_paren = remove | |
sp_return_paren = add | |
sp_attribute_paren = remove | |
sp_defined_paren = remove | |
sp_macro = add | |
sp_macro_func = add | |
sp_else_brace = add | |
sp_brace_else = add | |
sp_brace_typedef = add | |
sp_not = remove | |
sp_inv = remove | |
sp_addr = remove | |
sp_member = remove | |
sp_deref = remove | |
sp_sign = remove | |
sp_incdec = remove | |
sp_before_nl_cont = add | |
sp_cond_colon = force | |
sp_cond_question = force | |
sp_cmt_cpp_start = add | |
nl_start_of_file = remove | |
nl_end_of_file = force | |
nl_assign_brace = remove | |
nl_assign_square = remove | |
nl_enum_brace = remove | |
nl_struct_brace = remove | |
nl_union_brace = remove | |
nl_if_brace = remove | |
nl_brace_else = remove | |
nl_elseif_brace = remove | |
nl_else_brace = remove | |
nl_else_if = remove | |
nl_for_brace = remove | |
nl_while_brace = remove | |
nl_do_brace = remove | |
nl_brace_while = remove | |
nl_switch_brace = remove | |
nl_case_colon_brace = remove | |
nl_func_type_name = add | |
nl_func_proto_type_name = add | |
nl_func_paren = remove | |
nl_func_def_paren = remove | |
nl_func_decl_empty = remove | |
nl_func_def_empty = remove | |
nl_fdef_brace = add | |
nl_return_expr = remove | |
pos_arith = lead | |
pos_assign = trail | |
pos_bool = trail | |
pos_conditional = trail | |
pos_comma = trail | |
pos_class_comma = lead | |
pos_class_colon = lead | |
mod_full_brace_do = remove | |
mod_full_brace_for = remove | |
mod_full_brace_function = force | |
mod_full_brace_while = remove | |
mod_paren_on_return = ignore | |
# Misc | |
# -------------------------------------------------------------------------------------------------- | |
# Allow interpreting '>=' and '>>=' as part of a template in 'void f(list<list<B>>=val);'. | |
# If true (default), 'assert(x<0 && y>=3)' will be broken. | |
# Improvements to template detection may make this option obsolete. | |
tok_split_gte = false |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment