436
437
private async updateSyncResourcePreview(resource: URI, updateResourcePreview: (resourcePreview: IEditableResourcePreview) => Promise<IEditableResourcePreview>): Promise<void> {
439
return;
440
}
442
>
let preview = await this.syncPreviewPromise;
443
>
const index = preview.resourcePreviews.findIndex(({ localResource, remoteResource, previewResource }) =>
444
>
this.extUri.isEqual(localResource, resource) || this.extUri.isEqual(remoteResource, resource) || this.extUri.isEqual(previewResource, resource));
445
>
if (index === -1) {
446
return;
447
}
449
>
this.syncPreviewPromise = createCancelablePromise(async token => {
450
>
const resourcePreviews = [...preview.resourcePreviews];
451
>
resourcePreviews[index] = await updateResourcePreview(resourcePreviews[index]);
452
>
return {
453
>
...preview,
454
>
resourcePreviews
455
>
};
456
>
});
457
>
458
>
preview = await this.syncPreviewPromise;
459
>
this.updateConflicts(preview.resourcePreviews);
460
>
if (preview.resourcePreviews.some(({ mergeState }) => mergeState === MergeState.Conflict)) {
461
this.setStatus(SyncStatus.HasConflicts);
463
this.setStatus(SyncStatus.Syncing);
464
}
466
467
private async doApply(force: boolean): Promise<SyncStatus> {