Я хочу отформатировать код следующим образом:
а) максимальная ширина линии 120
б) - параметры вызова функции по одному на строку с отступом, если длина вызываемой функции > 120, иначе вызов функции в одну строку
c) - если вызов функции находится внутри if, for, while и т. д., параметры должны быть отформатированы так, как написано в b)
У меня есть код (это просто выдумка):
void a_function()
{
if(verify_if_the_conditions_are_meet(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter ))
{
call_a_function_with_many_parameters(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}
save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}
И теперь я хочу получить результат:
void a_function()
{
if(verify_if_the_conditions_are_meet(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter ))
{
call_a_function_with_many_parameters(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter);
}
save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}
Я использовал следующие параметры в Uncrustify 0.63:
код_ширина = 120
ls_func_split_full = истина
ls_code_width = ложь
nl_func_leave_one_liners = истина
indent_func_call_param = истина
nl_func_def_start = добавить
nl_func_def_start_single = удалить
align_oc_msg_colon_first = ложь
С этими настройками я получаю примерно так:
void a_function()
{
if(verify_if_the_conditions_are_meet(first_parameter, second_parameter, third_parameter, fourth_parameter,
fifth_parameter, sixth_parameter ))
{
call_a_function_with_many_parameters(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter,
fifth_parameter,
sixth_parameter);
}
save(first_parameter, second_parameter, third_parameter, fourth_parameter, fifth_parameter, sixth_parameter);
}
Есть ли у кого-нибудь ситуация, когда вызов функции находится внутри if/for/while и требует разделения параметров таким образом?