llvm/llvm-project
GitHub で見るAdd equivalent of LambdaBodyIndentation for ObjC blocks
Open
#53,740 opened on 2022年2月11日
clang-formatgood first issueobjective-c
Repository metrics
- Stars
- (26,378 stars)
- PR merge metrics
- (平均マージ 1d 2h) (30d で 1,000 merged PRs)
説明
With the attached clang-format file, the following (mildly reduced) Objective-C snippet formats as displayed:
- (void)test
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
do {
DatabaseStorageWrite(self.databaseStorage, ^(SDSAnyWriteTransaction *transaction) {
[interactionFinder enumerateUnreadMessagesBeforeSortId:sortId
transaction:transaction.unwrapGrdbWrite
block:^(id<OWSReadTracking> readItem, BOOL *stop) {
[readItem markAsReadAtTimestamp:readTimestamp
thread:thread
circumstance:circumstance
transaction:transaction];
--batchQuotaRemaining;
if (batchQuotaRemaining == 0) {
*stop = true;
}
}];
});
} while (batchQuotaRemaining == 0);
});
}
when I would like it to format as
- (void)test
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
do {
batchQuotaRemaining = maxBatchSize;
DatabaseStorageWrite(self.databaseStorage, ^(SDSAnyWriteTransaction *transaction) {
[interactionFinder enumerateUnreadMessagesBeforeSortId:sortId
transaction:transaction.unwrapGrdbWrite
block:^(id<OWSReadTracking> readItem, BOOL *stop) {
[readItem markAsReadAtTimestamp:readTimestamp
thread:thread
circumstance:circumstance
transaction:transaction];
--batchQuotaRemaining;
if (batchQuotaRemaining == 0) {
*stop = true;
}
}];
});
} while (batchQuotaRemaining == 0);
});
which is what Xcode does. This seems equivalent to LambdaBodyIndentation, but there's no equivalent setting for ObjC blocks.