@@ -18,7 +18,7 @@ import { extUri, extUriIgnorePathCase, IExtUri, isAbsolutePath } from 'vs/base/c
18
18
import { consumeStream , isReadableBufferedStream , isReadableStream , listenStream , newWriteableStream , peekReadable , peekStream , transform } from 'vs/base/common/stream' ;
19
19
import { URI } from 'vs/base/common/uri' ;
20
20
import { localize } from 'vs/nls' ;
21
- import { ensureFileSystemProviderError , etag , ETAG_DISABLED , FileChangesEvent , IFileDeleteOptions , FileOperation , FileOperationError , FileOperationEvent , FileOperationResult , FilePermission , FileSystemProviderCapabilities , FileSystemProviderErrorCode , FileType , hasFileAtomicReadCapability , hasFileFolderCopyCapability , hasFileReadStreamCapability , hasOpenReadWriteCloseCapability , hasReadWriteCapability , ICreateFileOptions , IFileContent , IFileService , IFileStat , IFileStatWithMetadata , IFileStreamContent , IFileSystemProvider , IFileSystemProviderActivationEvent , IFileSystemProviderCapabilitiesChangeEvent , IFileSystemProviderRegistrationEvent , IFileSystemProviderWithFileAtomicReadCapability , IFileSystemProviderWithFileReadStreamCapability , IFileSystemProviderWithFileReadWriteCapability , IFileSystemProviderWithOpenReadWriteCloseCapability , IReadFileOptions , IReadFileStreamOptions , IResolveFileOptions , IFileStatResult , IFileStatResultWithMetadata , IResolveMetadataFileOptions , IStat , IFileStatWithPartialMetadata , IWatchOptions , IWriteFileOptions , NotModifiedSinceFileOperationError , toFileOperationResult , toFileSystemProviderErrorCode , hasFileCloneCapability , hasFileReadCapability , IFileSystemProviderWithFileReadCapability } from 'vs/platform/files/common/files' ;
21
+ import { ensureFileSystemProviderError , etag , ETAG_DISABLED , FileChangesEvent , IFileDeleteOptions , FileOperation , FileOperationError , FileOperationEvent , FileOperationResult , FilePermission , FileSystemProviderCapabilities , FileSystemProviderErrorCode , FileType , hasFileAtomicReadCapability , hasFileFolderCopyCapability , hasFileReadStreamCapability , hasOpenReadWriteCloseCapability , hasReadWriteCapability , ICreateFileOptions , IFileContent , IFileService , IFileStat , IFileStatWithMetadata , IFileStreamContent , IFileSystemProvider , IFileSystemProviderActivationEvent , IFileSystemProviderCapabilitiesChangeEvent , IFileSystemProviderRegistrationEvent , IFileSystemProviderWithFileAtomicReadCapability , IFileSystemProviderWithFileReadStreamCapability , IFileSystemProviderWithFileReadWriteCapability , IFileSystemProviderWithOpenReadWriteCloseCapability , IReadFileOptions , IReadFileStreamOptions , IResolveFileOptions , IFileStatResult , IFileStatResultWithMetadata , IResolveMetadataFileOptions , IStat , IFileStatWithPartialMetadata , IWatchOptions , IWriteFileOptions , NotModifiedSinceFileOperationError , toFileOperationResult , toFileSystemProviderErrorCode , hasFileCloneCapability } from 'vs/platform/files/common/files' ;
22
22
import { readFileIntoStream } from 'vs/platform/files/common/io' ;
23
23
import { ILogService } from 'vs/platform/log/common/log' ;
24
24
@@ -146,14 +146,14 @@ export class FileService extends Disposable implements IFileService {
146
146
return provider ;
147
147
}
148
148
149
- private async withReadProvider ( resource : URI ) : Promise < IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileReadCapability > {
149
+ private async withReadProvider ( resource : URI ) : Promise < IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability > {
150
150
const provider = await this . withProvider ( resource ) ;
151
151
152
- if ( hasOpenReadWriteCloseCapability ( provider ) || hasReadWriteCapability ( provider ) || hasFileReadStreamCapability ( provider ) || hasFileReadCapability ( provider ) ) {
152
+ if ( hasOpenReadWriteCloseCapability ( provider ) || hasReadWriteCapability ( provider ) || hasFileReadStreamCapability ( provider ) ) {
153
153
return provider ;
154
154
}
155
155
156
- throw new Error ( `Filesystem provider for scheme '${ resource . scheme } ' neither has FileReadWrite, FileReadStream, FileOpenReadWriteClose nor Readonly capability which is needed for the read operation.` ) ;
156
+ throw new Error ( `Filesystem provider for scheme '${ resource . scheme } ' neither has FileReadWrite, FileReadStream nor FileOpenReadWriteClose capability which is needed for the read operation.` ) ;
157
157
}
158
158
159
159
private async withWriteProvider ( resource : URI ) : Promise < IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability > {
@@ -464,7 +464,7 @@ export class FileService extends Disposable implements IFileService {
464
464
return this . doReadFile ( provider , resource , options , token ) ;
465
465
}
466
466
467
- private async doReadFileAtomic ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileReadCapability , resource : URI , options ?: IReadFileOptions , token ?: CancellationToken ) : Promise < IFileContent > {
467
+ private async doReadFileAtomic ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability , resource : URI , options ?: IReadFileOptions , token ?: CancellationToken ) : Promise < IFileContent > {
468
468
return new Promise < IFileContent > ( ( resolve , reject ) => {
469
469
this . writeQueue . queueFor ( resource , this . getExtUri ( provider ) . providerExtUri ) . queue ( async ( ) => {
470
470
try {
@@ -477,7 +477,7 @@ export class FileService extends Disposable implements IFileService {
477
477
} ) ;
478
478
}
479
479
480
- private async doReadFile ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileReadCapability , resource : URI , options ?: IReadFileOptions , token ?: CancellationToken ) : Promise < IFileContent > {
480
+ private async doReadFile ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability , resource : URI , options ?: IReadFileOptions , token ?: CancellationToken ) : Promise < IFileContent > {
481
481
const stream = await this . doReadFileStream ( provider , resource , {
482
482
...options ,
483
483
// optimization: since we know that the caller does not
@@ -500,7 +500,7 @@ export class FileService extends Disposable implements IFileService {
500
500
return this . doReadFileStream ( provider , resource , options , token ) ;
501
501
}
502
502
503
- private async doReadFileStream ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability | IFileSystemProviderWithFileReadCapability , resource : URI , options ?: IReadFileOptions & IReadFileStreamOptions & { preferUnbuffered ?: boolean } , token ?: CancellationToken ) : Promise < IFileStreamContent > {
503
+ private async doReadFileStream ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithOpenReadWriteCloseCapability | IFileSystemProviderWithFileReadStreamCapability , resource : URI , options ?: IReadFileOptions & IReadFileStreamOptions & { preferUnbuffered ?: boolean } , token ?: CancellationToken ) : Promise < IFileStreamContent > {
504
504
505
505
// install a cancellation token that gets cancelled
506
506
// when any error occurs. this allows us to resolve
@@ -596,7 +596,7 @@ export class FileService extends Disposable implements IFileService {
596
596
return stream ;
597
597
}
598
598
599
- private readFileUnbuffered ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithFileAtomicReadCapability | IFileSystemProviderWithFileReadCapability , resource : URI , options ?: IReadFileOptions & IReadFileStreamOptions ) : VSBufferReadableStream {
599
+ private readFileUnbuffered ( provider : IFileSystemProviderWithFileReadWriteCapability | IFileSystemProviderWithFileAtomicReadCapability , resource : URI , options ?: IReadFileOptions & IReadFileStreamOptions ) : VSBufferReadableStream {
600
600
const stream = newWriteableStream < VSBuffer > ( data => VSBuffer . concat ( data ) ) ;
601
601
602
602
// Read the file into the stream async but do not wait for
0 commit comments