Я довольно новичок в использовании clang-формата и у меня проблемы с форматированием макроблоков, содержащих аргументы; например, React Native имеет RCT_EXPORT_METHOD
, который создает метод с аргументами. Однако это приводит к путанице в большинстве опций форматирования, и результат получается следующим образом:
RCT_EXPORT_METHOD(preferencesSetBool
: (NSString *)key boolValue
: (BOOL)boolValue resolver
: (RCTPromiseResolveBlock)resolve rejecter
: (RCTPromiseRejectBlock)reject) {
[[RNFBPreferences shared] setBooleanValue:key boolValue:boolValue];
resolve([NSNull null]);
}
Как вы можете видеть выше, имена аргументов не совпадают и находятся в разных строках.
Это формат, который я в идеале пытаюсь достичь:
RCT_EXPORT_METHOD(
preferencesSetBool : (NSString *) key
boolValue : (BOOL) boolValue
resolver : (RCTPromiseResolveBlock) resolve
rejecter : (RCTPromiseRejectBlock) reject
) {
[[RNFBPreferences shared] setBooleanValue:key boolValue:boolValue];
resolve([NSNull null]);
}
Возможно ли это даже с помощью clang-формата? Я посмотрел на MacroBlockBegin
в своем файле формата и попытался поиграть с этим и другими вариантами, но, похоже, не могу сделать много работы.
Если бы кто-нибудь мог помочь мне или указать мне правильное направление, это было бы здорово, спасибо!