llvm/llvm-project
Vedi su GitHubAdd equivalent of LambdaBodyIndentation for ObjC blocks
Open
#53.740 aperta il 11 feb 2022
clang-formatgood first issueobjective-c
Metriche repository
- Star
- (26.378 star)
- Metriche merge PR
- (Merge medio 1g 2h) (1000 PR mergiate in 30 g)
Descrizione
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.