У меня старый код на C, и я хотел бы переформатировать его в формате clang. Одна из возникающих проблем состоит в том, что многие старые функции написаны с использованием списков инициализаторов параметров K & R.
И clang-format делает странное переформатирование в этих строках.
Пример:
int tz_start_new( nr, start, old )
char *nr;
char *start;
char *old;
{
return 0;
}
форматируется в:
int tz_start_new( nr, start, old ) char *nr;
char *start;
char *old;
{
return 0;
}
Таким образом, первый параметр записывается непосредственно после объявления функции.
Остальные говорят так, как были раньше.
Это формат файла, который я использую:
---
AlignAfterOpenBracket: DontAlign
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortBlocksOnASingleLine: 'false'
AllowShortCaseLabelsOnASingleLine: 'false'
AllowShortIfStatementsOnASingleLine: 'false'
AllowShortLoopsOnASingleLine: 'false'
AlwaysBreakAfterDefinitionReturnType: None
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeTernaryOperators: 'false'
IndentCaseLabels: 'true'
ColumnLimit: '80'
IndentWidth: '4'
Language: Cpp
PointerAlignment: Right
SortIncludes: 'false'
SpaceAfterCStyleCast: 'false'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeParens: Never
SpaceInEmptyParentheses: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInParentheses: 'true'
SpacesInSquareBrackets: 'true'
TabWidth: '4'
UseTab: ForIndentation
...
Так как мне добиться, чтобы все параметры оставались под объявлением функции, как раньше?