Я ищу способ форматирования приведенного ниже кода C ++ в формате clang (версия 9.0.0), чтобы определения функций, превышающие предел в 80 столбцов, нарушались после объявления аргументов вместо квалификаторов функций C ++, таких как noexcept
:
void scheduler::stop_mark(service ¤t, service const &stopped) const
noexcept {
// ...
}
В приведенном выше фрагменте показан мой код, отформатированный с использованием стиля LLVM
по умолчанию, а следующий код - тот, который я хочу получить после правильного форматирования:
void scheduler::stop_mark(service& current,
service const& stopped) const noexcept {
// ...
}
Разница между двумя фрагментами кода строка разрывается после service& current,
вместо noexcept
.
Это поведение воспроизводимо при использовании стиля по умолчанию LLVM
, но я использую следующие параметры для справки:
---
BasedOnStyle: LLVM
AlignAfterOpenBracket: Align
AllowAllArgumentsOnNextLine: 'true'
AllowAllConstructorInitializersOnNextLine: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortCaseLabelsOnASingleLine: 'false'
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: Empty
AlwaysBreakTemplateDeclarations: 'Yes'
BinPackArguments: 'true'
BinPackParameters: 'true'
BreakConstructorInitializers: BeforeComma
BreakConstructorInitializersBeforeComma: 'true'
ConstructorInitializerIndentWidth: 2
FixNamespaceComments: 'true'
IndentCaseLabels: 'true'
IndentPPDirectives: AfterHash
PenaltyBreakAssignment: 1000
PenaltyBreakBeforeFirstCallParameter: 50
PointerAlignment: Left
...
Возможно ли получить такое форматирование с помощью clang-format?
Я уже проверил все возможные параметры на https://zed0.co.uk/clang-format-configurator/ и не смог найти соответствующий clang- опция формата.