在Macro块上使用Objective-C的clang格式并对齐args

时间:2019-04-02 11:26:30

标签: objective-c clang-format

我刚开始使用clang格式,并且在格式化包含args的宏块时遇到麻烦;例如,React Native有一个RCT_EXPORT_METHOD,它生成带有args的方法。但是,这弄乱了大多数格式设置选项,并且输出如下所示:

RCT_EXPORT_METHOD(preferencesSetBool
                  : (NSString *)key boolValue
                  : (BOOL)boolValue resolver
                  : (RCTPromiseResolveBlock)resolve rejecter
                  : (RCTPromiseRejectBlock)reject) {
  [[RNFBPreferences shared] setBooleanValue:key boolValue:boolValue];
  resolve([NSNull null]);
}

您可以在上面看到arg名称不匹配,并且位于不同的行上。

这是我理想地尝试实现的格式:

  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,并尝试摆弄该选项和其他选项,但似乎工作量不大。

如果有人可以帮助我或向正确的方向指点我,那就太好了!

0 个答案:

没有答案