Может Uncrustify выровнять двоеточия в вызовах метода Objective-C?
Я использую uncrustify 0.52. Когда я запускаю его против файлов Objective-C, он хочет конвертировать вызовы метода следующим образом:
[NSApp beginSheet:startTimerDialog
modalForWindow:nil
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
:
[NSApp beginSheet:startTimerDialog
modalForWindow:nil
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
Я предпочитаю первую версию с выровненными двоеточиями. Есть ли опция в файле uncrustify config, который может поддерживать то, что я хочу, или выполняет uncrustify, но не поддерживает выровненные двоеточия?
Если uncrustify не может выровнять двоеточия, существует ли способ предотвратить его выравнивание двоеточий, который я выровнял самостоятельно?
Update:
mmc отмечает, что эта функция доступна в репозитории Uncrustify svn по состоянию на сборке 1581. Она находится в uncrustify 0.54. Установите align_oc_msg_colon = true
в свой файл конфигурации, чтобы включить его.
Дальнейшее обновление
Для людей, которые находят этот ответ в будущем:
Имя предпочтения в файле .cfg было изменено. Теперь align_oc_msg_colon_span= 1
получить описанное выше поведение. Также существует align_oc_decl_colon = true
, который будет делать имя для многострочных объявлений.
Ответы
Ответ 1
Я играл с этим некоторое время прошлой ночью, и (хотя я не думаю, что это заслуживает щедрости), ответ на оба ваших вопроса: "Нет, текущие версии (.53) Uncrustify не делают этого."
Я даже исследовал запись патча, чтобы сделать именно это (потому что я тоже этого хочу), и посмотрев на источник Uncrustify, и пришел к выводу, что потребуется гораздо больше времени, чем я мог бы узнать, куда вставить патч для выполнения "многострочного выравнивания двоеточия параметра сообщения", а не "выравнивания левой строки нескольких строк". Кажется, что были некоторые улучшения в анализе Objective-C в последних исправлениях.
Я так надеялся, что кто-то ответит на этот вопрос. Я тоже хотел знать.
ПРИМЕЧАНИЕ: Для людей, которые находят этот ответ в будущем:
Имя предпочтения в файле .cfg было изменено. В настоящее время align_oc_msg_colon_span = 1, чтобы получить описанное выше поведение. Существует также теперь файл align_oc_decl_colon, который будет делать имя для многострочных объявлений.
Ответ 2
Вы пытались:
align_var_def_colon=true