Commit 1557bcef authored by Brad King's avatar Brad King Committed by Kitware Robot
Browse files

Merge topic 'uncrustify'

a023478b

 uncrustify: add formatter
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Acked-by: Brad King's avatarBrad King <brad.king@kitware.com>
Merge-request: !13
parents 0a62b768 a023478b
Pipeline #138275 failed with stage
in 0 seconds
......@@ -10,3 +10,5 @@ foreach(v
endforeach()
add_formatter(clang-format-kwsys reformat clang-format-3.8)
set_property(GLOBAL PROPERTY "formatter_clang-format-kwsys_exclude_from_all" "1")
add_formatter(uncrustify reformat uncrustify)
set_property(GLOBAL PROPERTY "formatter_uncrustify_exclude_from_all" "1")
#!/bin/sh
# This formatter uses the `uncrustify` tool to perform formatting of files
# written in C, C++, and other C-like languages (CUDA, GLSL, etc.).
#
# It uses the `uncrustify` executable in `$PATH` and checks for the existence
# of the `.uncrustify.cfg` file as its configuration.
set -e
readonly path="$1"
shift
if ! [ -f "$path" ]; then
echo >&2 'error: could not find file to format: '"$path"
exit 4
fi
if ! type "uncrustify" > /dev/null; then
echo >&2 'error: could not find the `uncrustify` binary'
exit 3
fi
if ! [ -f ".uncrustify.cfg" ]; then
echo >&2 'error: the `.uncrustify.cfg` file is missing'
exit 2
fi
exec uncrustify -c .uncrustify.cfg --replace --no-backup "$path"
formatter_uncrustify:
kind: "uncrustify"
script: "@script@"
config_files:
- ".uncrustify.cfg"
add_formatter_test(uncrustify pass format.c pass)
add_formatter_test(uncrustify format format.c format)
add_formatter_test(uncrustify no-config-file format.c fail)
# Uncrustify-0.68_f
newlines = auto
input_tab_size = 8
output_tab_size = 8
string_escape_char = 92
string_escape_char2 = 0
string_replace_tab_chars = false
tok_split_gte = false
disable_processing_cmt = ""
enable_processing_cmt = ""
enable_digraphs = false
utf8_bom = ignore
utf8_byte = true
utf8_force = true
sp_arith = add
sp_arith_additive = ignore
sp_assign = add
sp_cpp_lambda_assign = remove
sp_cpp_lambda_paren = ignore
sp_assign_default = add
sp_before_assign = add
sp_after_assign = force
sp_enum_paren = ignore
sp_enum_assign = add
sp_enum_before_assign = add
sp_enum_after_assign = force
sp_enum_colon = add
sp_pp_concat = ignore
sp_pp_stringify = remove
sp_before_pp_stringify = ignore
sp_bool = add
sp_compare = add
sp_inside_paren = add
sp_paren_paren = add
sp_cparen_oparen = remove
sp_balance_nested_parens = true
sp_paren_brace = add
sp_brace_brace = add
sp_before_ptr_star = remove
sp_before_unnamed_ptr_star = ignore
sp_between_ptr_star = remove
sp_after_ptr_star = add
sp_after_ptr_block_caret = ignore
sp_after_ptr_star_qualifier = add
sp_after_ptr_star_func = add
sp_ptr_star_paren = add
sp_before_ptr_star_func = remove
sp_before_byref = remove
sp_before_unnamed_byref = ignore
sp_after_byref = add
sp_after_byref_func = add
sp_before_byref_func = remove
sp_after_type = force
sp_after_decltype = force
sp_before_template_paren = ignore
sp_template_angle = add
sp_before_angle = remove
sp_inside_angle = add
sp_angle_colon = remove
sp_after_angle = add
sp_angle_paren = remove
sp_angle_paren_empty = remove
sp_angle_word = add
sp_angle_shift = add
sp_permit_cpp11_shift = true
sp_before_sparen = force
sp_inside_sparen = force
sp_inside_sparen_open = ignore
sp_inside_sparen_close = ignore
sp_after_sparen = force
sp_sparen_brace = force
sp_invariant_paren = ignore
sp_after_invariant_paren = ignore
sp_special_semi = ignore
sp_before_semi = remove
sp_before_semi_for = remove
sp_before_semi_for_empty = remove
sp_after_semi = add
sp_after_semi_for = force
sp_after_semi_for_empty = remove
sp_before_square = remove
sp_before_squares = remove
sp_cpp_before_struct_binding = add
sp_inside_square = add
sp_inside_square_oc_array = ignore
sp_after_comma = add
sp_before_comma = remove
sp_after_mdatype_commas = ignore
sp_before_mdatype_commas = ignore
sp_between_mdatype_commas = ignore
sp_paren_comma = force
sp_before_ellipsis = remove
sp_type_ellipsis = remove
sp_paren_ellipsis = remove
sp_after_class_colon = add
sp_before_class_colon = add
sp_after_constr_colon = add
sp_before_constr_colon = add
sp_before_case_colon = remove
sp_after_operator = remove
sp_after_operator_sym = remove
sp_after_operator_sym_empty = remove
sp_after_cast = add
sp_inside_paren_cast = remove
sp_cpp_cast_paren = remove
sp_sizeof_paren = remove
sp_sizeof_ellipsis = remove
sp_sizeof_ellipsis_paren = remove
sp_decltype_paren = remove
sp_after_tag = ignore
sp_inside_braces_enum = add
sp_inside_braces_struct = add
sp_inside_braces_oc_dict = ignore
sp_after_type_brace_init_lst_open = add
sp_before_type_brace_init_lst_close = add
sp_inside_type_brace_init_lst = add
sp_inside_braces = add
sp_inside_braces_empty = remove
sp_type_func = add
sp_type_brace_init_lst = remove
sp_func_proto_paren = remove
sp_func_proto_paren_empty = remove
sp_func_def_paren = remove
sp_func_def_paren_empty = remove
sp_inside_fparens = remove
sp_inside_fparen = add
sp_inside_tparen = add
sp_after_tparen_close = remove
sp_square_fparen = remove
sp_fparen_brace = add
sp_fparen_brace_initializer = remove
sp_fparen_dbrace = ignore
sp_func_call_paren = remove
sp_func_call_paren_empty = remove
sp_func_call_user_paren = ignore
sp_func_call_user_inside_fparen = ignore
sp_func_call_user_paren_paren = ignore
sp_func_class_paren = remove
sp_func_class_paren_empty = remove
sp_return_paren = force
sp_return_brace = force
sp_attribute_paren = remove
sp_defined_paren = remove
sp_throw_paren = force
sp_after_throw = force
sp_catch_paren = force
sp_oc_catch_paren = ignore
sp_version_paren = ignore
sp_scope_paren = ignore
sp_super_paren = remove
sp_this_paren = remove
sp_macro = force
sp_macro_func = force
sp_else_brace = force
sp_brace_else = force
sp_brace_typedef = ignore
sp_catch_brace = force
sp_oc_catch_brace = ignore
sp_brace_catch = force
sp_oc_brace_catch = ignore
sp_finally_brace = force
sp_brace_finally = force
sp_try_brace = force
sp_getset_brace = ignore
sp_word_brace = remove
sp_word_brace_ns = force
sp_before_dc = remove
sp_after_dc = remove
sp_d_array_colon = ignore
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_after_oc_scope = ignore
sp_after_oc_colon = ignore
sp_before_oc_colon = ignore
sp_after_oc_dict_colon = ignore
sp_before_oc_dict_colon = ignore
sp_after_send_oc_colon = ignore
sp_before_send_oc_colon = ignore
sp_after_oc_type = ignore
sp_after_oc_return_type = ignore
sp_after_oc_at_sel = ignore
sp_after_oc_at_sel_parens = ignore
sp_inside_oc_at_sel_parens = ignore
sp_before_oc_block_caret = ignore
sp_after_oc_block_caret = ignore
sp_after_oc_msg_receiver = ignore
sp_after_oc_property = ignore
sp_after_oc_synchronized = ignore
sp_cond_colon = add
sp_cond_colon_before = ignore
sp_cond_colon_after = ignore
sp_cond_question = add
sp_cond_question_before = ignore
sp_cond_question_after = ignore
sp_cond_ternary_short = remove
sp_case_label = force
sp_range = ignore
sp_after_for_colon = force
sp_before_for_colon = force
sp_extern_paren = ignore
sp_cmt_cpp_start = add
sp_cmt_cpp_doxygen = true
sp_cmt_cpp_qttr = true
sp_endif_cmt = force
sp_after_new = force
sp_between_new_paren = force
sp_after_newop_paren = force
sp_inside_newop_paren = force
sp_inside_newop_paren_open = ignore
sp_inside_newop_paren_close = ignore
sp_before_tr_emb_cmt = add
sp_num_before_tr_emb_cmt = 1
sp_annotation_paren = ignore
sp_skip_vbrace_tokens = false
sp_after_noexcept = remove
force_tab_after_define = false
indent_columns = 2
indent_continue = 0
indent_continue_class_head = 0
indent_single_newlines = false
indent_param = 0
indent_with_tabs = 0
indent_cmt_with_tabs = false
indent_align_string = true
indent_xml_string = 2
indent_brace = 0
indent_braces = false
indent_braces_no_func = false
indent_braces_no_class = false
indent_braces_no_struct = false
indent_brace_parent = false
indent_paren_open_brace = false
indent_cs_delegate_brace = false
indent_cs_delegate_body = false
indent_namespace = false
indent_namespace_single_indent = false
indent_namespace_level = 0
indent_namespace_limit = 0
indent_extern = false
indent_class = true
indent_class_colon = true
indent_class_on_colon = false
indent_constr_colon = true
indent_ctor_init_leading = 2
indent_ctor_init = 0
indent_else_if = false
indent_var_def_blk = 0
indent_var_def_cont = false
indent_shift = false
indent_func_def_force_col1 = false
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_template_param = false
indent_func_param_double = false
indent_func_const = 0
indent_func_throw = 0
indent_member = 2
indent_member_single = true
indent_sing_line_comments = 0
indent_relative_single_line_comments = false
indent_switch_case = 2
indent_switch_pp = true
indent_case_shift = 0
indent_case_brace = 0
indent_col1_comment = false
indent_label = 0
indent_access_spec = -2
indent_access_spec_body = false
indent_paren_nl = false
indent_paren_close = 0
indent_paren_after_func_def = false
indent_paren_after_func_decl = false
indent_paren_after_func_call = false
indent_comma_paren = false
indent_bool_paren = false
indent_semicolon_for_paren = false
indent_first_bool_expr = false
indent_first_for_expr = false
indent_square_nl = false
indent_preserve_sql = false
indent_align_assign = true
indent_align_paren = true
indent_oc_block = false
indent_oc_block_msg = 0
indent_oc_msg_colon = 0
indent_oc_msg_prioritize_first_colon = true
indent_oc_block_msg_xcode_style = false
indent_oc_block_msg_from_keyword = false
indent_oc_block_msg_from_colon = false
indent_oc_block_msg_from_caret = false
indent_oc_block_msg_from_brace = false
indent_min_vbrace_open = 0
indent_vbrace_open_on_tabstop = false
indent_token_after_brace = true
indent_cpp_lambda_body = true
indent_using_block = true
indent_ternary_operator = 2
indent_off_after_return_new = false
indent_single_after_return = false
indent_ignore_asm_block = false
nl_collapse_empty_body = false
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_cs_property_leave_one_liners = false
nl_func_leave_one_liners = true
nl_cpp_lambda_leave_one_liners = true
nl_if_leave_one_liners = true
nl_while_leave_one_liners = true
nl_for_leave_one_liners = true
nl_oc_msg_leave_one_liner = false
nl_oc_mdef_brace = ignore
nl_oc_block_brace = ignore
nl_oc_interface_brace = ignore
nl_oc_implementation_brace = ignore
nl_start_of_file = remove
nl_start_of_file_min = 0
nl_end_of_file = force
nl_end_of_file_min = 1
nl_assign_brace = ignore
nl_assign_square = ignore
nl_tsquare_brace = remove
nl_after_square_assign = ignore
nl_func_var_def_blk = 0
nl_typedef_blk_start = 0
nl_typedef_blk_end = 0
nl_typedef_blk_in = 0
nl_var_def_blk_start = 2
nl_var_def_blk_end = 0
nl_var_def_blk_in = 0
nl_fcall_brace = force
nl_enum_brace = force
nl_enum_class = remove
nl_enum_class_identifier = remove
nl_enum_identifier_colon = ignore
nl_enum_colon_type = remove
nl_struct_brace = force
nl_union_brace = force
nl_if_brace = force
nl_brace_else = force
nl_elseif_brace = force
nl_else_brace = force
nl_else_if = remove
nl_before_if_closing_paren = remove
nl_brace_finally = force
nl_finally_brace = force
nl_try_brace = force
nl_getset_brace = ignore
nl_for_brace = force
nl_catch_brace = force
nl_oc_catch_brace = ignore
nl_brace_catch = force
nl_oc_brace_catch = ignore
nl_brace_square = remove
nl_brace_fparen = remove
nl_while_brace = force
nl_scope_brace = ignore
nl_unittest_brace = ignore
nl_version_brace = ignore
nl_using_brace = ignore
nl_brace_brace = ignore
nl_do_brace = force
nl_brace_while = remove
nl_switch_brace = force
nl_synchronized_brace = force
nl_multi_line_cond = false
nl_multi_line_define = false
nl_before_case = false
nl_after_case = false
nl_case_colon_brace = force
nl_before_throw = ignore
nl_namespace_brace = remove
nl_template_class = ignore
nl_class_brace = force
nl_class_init_args = ignore
nl_constr_init_args = ignore
nl_enum_own_lines = ignore
nl_func_type_name = force
nl_func_type_name_class = ignore
nl_func_class_scope = force
nl_func_scope_name = remove
nl_func_proto_type_name = ignore
nl_func_paren = remove
nl_func_paren_empty = ignore
nl_func_def_paren = remove
nl_func_def_paren_empty = ignore
nl_func_call_paren = remove
nl_func_call_paren_empty = ignore
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 = ignore
nl_func_def_args = ignore
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 = ignore
nl_func_def_end_single = ignore
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_multi_line = false
nl_func_call_args_multi_line = false
nl_func_call_end_multi_line = false
nl_oc_msg_args = false
nl_fdef_brace = force
nl_cpp_ldef_brace = remove
nl_return_expr = ignore
nl_after_semicolon = true
nl_paren_dbrace_open = ignore
nl_type_brace_init_lst = remove
nl_type_brace_init_lst_open = ignore
nl_type_brace_init_lst_close = remove
nl_after_brace_open = true
nl_after_brace_open_cmt = true
nl_after_vbrace_open = false
nl_after_vbrace_open_empty = false
nl_after_brace_close = true
nl_after_vbrace_close = true
nl_brace_struct_var = remove
nl_define_macro = false
nl_squeeze_paren_close = true
nl_squeeze_ifdef = false
nl_squeeze_ifdef_top_level = false
nl_before_if = ignore
nl_after_if = ignore
nl_before_for = ignore
nl_after_for = ignore
nl_before_while = ignore
nl_after_while = ignore
nl_before_switch = ignore
nl_after_switch = ignore
nl_before_synchronized = ignore
nl_after_synchronized = ignore
nl_before_do = ignore
nl_after_do = ignore
nl_ds_struct_enum_cmt = false
nl_ds_struct_enum_close_brace = false
nl_class_colon = ignore
nl_constr_colon = ignore
nl_namespace_two_to_one_liner = true
nl_create_if_one_liner = false
nl_create_for_one_liner = false
nl_create_while_one_liner = false
nl_create_func_def_one_liner = false
nl_split_if_one_liner = true
nl_split_for_one_liner = true
nl_split_while_one_liner = true
nl_max = 2
nl_max_blank_in_func = 0
nl_before_func_body_proto = 0
nl_before_func_body_def = 2
nl_before_func_class_proto = 0
nl_before_func_class_def = 2
nl_after_func_proto = 0
nl_after_func_proto_group = 0
nl_after_func_class_proto = 0
nl_after_func_class_proto_group = 0
nl_class_leave_one_liner_groups = true
nl_after_func_body = 2
nl_after_func_body_class = 2
nl_after_func_body_one_liner = 0
nl_before_block_comment = 2
nl_before_c_comment = 0
nl_before_cpp_comment = 0
nl_after_multiline_comment = false
nl_after_label_colon = true
nl_after_struct = 2
nl_before_class = 2
nl_after_class = 2
nl_before_access_spec = 2
nl_after_access_spec = 1
nl_comment_func_def = 0
nl_after_try_catch_finally = 0
nl_around_cs_property = 0
nl_between_get_set = 0
nl_property_brace = ignore
nl_inside_namespace = 2
eat_blanks_after_open_brace = true
eat_blanks_before_close_brace = true
nl_remove_extra_newlines = 0
nl_before_return = false
nl_after_return = false
nl_after_annotation = ignore
nl_between_annotation = ignore
pos_arith = trail
pos_assign = trail
pos_bool = trail
pos_compare = trail
pos_conditional = lead
pos_comma = trail
pos_enum_comma = trail
pos_class_comma = trail
pos_constr_comma = trail
pos_class_colon = lead
pos_constr_colon = lead
code_width = 79
ls_for_split_full = false
ls_func_split_full = false
ls_code_width = false
align_keep_tabs = false
align_with_tabs = false
align_on_tabstop = true
align_number_right = false
align_keep_extra_space = false
align_func_params = false
align_func_params_span = 0
align_func_params_thresh = 0
align_func_params_gap = 0
align_same_func_call_params = false
align_same_func_call_params_span = 0
align_same_func_call_params_thresh = 0
align_var_def_span = 0
align_var_def_star_style = 0
align_var_def_amp_style = 0
align_var_def_thresh = 0
align_var_def_gap = 0
align_var_def_colon = false
align_var_def_colon_gap = 0
align_var_def_attribute = false
align_var_def_inline = false
align_assign_span = 0
align_assign_thresh = 0
align_assign_decl_func = 0
align_enum_equ_span = 0
align_enum_equ_thresh = 0
align_var_class_span = 0
align_var_class_thresh = 0
align_var_class_gap = 0
align_var_struct_span = 0
align_var_struct_thresh = 0
align_var_struct_gap = 0
align_struct_init_span = 0
align_typedef_gap = 0
align_typedef_span = 0
align_typedef_func = 0
align_typedef_star_style = 0
align_typedef_amp_style = 0
align_right_cmt_span = 0
align_right_cmt_mix = false
align_right_cmt_same_level = false
align_right_cmt_gap = 0
align_right_cmt_at_col = 0
align_func_proto_span = 0
align_func_proto_gap = 0
align_on_operator = false
align_mix_var_proto = false
align_single_line_func = false
align_single_line_brace = false
align_single_line_brace_gap = 0
align_oc_msg_spec_span = 0
align_nl_cont = false
align_pp_define_together = false
align_pp_define_gap = 0
align_pp_define_span = 0
align_left_shift = true
align_asm_colon = false
align_oc_msg_colon_span = 0
align_oc_msg_colon_first = false
align_oc_decl_colon = false
cmt_width = 79
cmt_reflow_mode = 0
cmt_convert_tab_to_spaces = true
cmt_indent_multi = true
cmt_c_group = false
cmt_c_nl_start = false
cmt_c_nl_end = false
cmt_cpp_to_c = false
cmt_cpp_group = false
cmt_cpp_nl_start = false
cmt_cpp_nl_end = false