diff --git a/src/vs/platform/files/common/files.ts b/src/vs/platform/files/common/files.ts index c625aad7a663cecb96a55ad1247347caddb180ec..48dc8339fc4c64bba9e4aa19f2e6e8eca250c1eb 100644 --- a/src/vs/platform/files/common/files.ts +++ b/src/vs/platform/files/common/files.ts @@ -209,7 +209,7 @@ export interface IFileSystemProvider { readonly onDidErrorOccur?: Event; // TODO@ben remove once file watchers are solid - readonly onDidChangeFile: Event; + readonly onDidChangeFile: Event; watch(resource: URI, opts: IWatchOptions): IDisposable; stat(resource: URI): Promise; @@ -389,12 +389,12 @@ export interface IFileChange { /** * The type of change that occurred to the file. */ - type: FileChangeType; + readonly type: FileChangeType; /** * The unified resource identifier of the file that changed. */ - resource: URI; + readonly resource: URI; } export class FileChangesEvent { diff --git a/src/vs/platform/files/node/diskFileSystemProvider.ts b/src/vs/platform/files/node/diskFileSystemProvider.ts index d66ef03839cdacc02c8548579f53a394ed73dbee..a7d483ffda2c9d669854f4a1c61cbb5191cca6af 100644 --- a/src/vs/platform/files/node/diskFileSystemProvider.ts +++ b/src/vs/platform/files/node/diskFileSystemProvider.ts @@ -449,8 +449,8 @@ export class DiskFileSystemProvider extends Disposable implements IFileSystemPro private _onDidWatchErrorOccur: Emitter = this._register(new Emitter()); readonly onDidErrorOccur: Event = this._onDidWatchErrorOccur.event; - private _onDidChangeFile: Emitter = this._register(new Emitter()); - get onDidChangeFile(): Event { return this._onDidChangeFile.event; } + private _onDidChangeFile = this._register(new Emitter()); + get onDidChangeFile(): Event { return this._onDidChangeFile.event; } private recursiveWatcher: WindowsWatcherService | UnixWatcherService | NsfwWatcherService | undefined; private recursiveFoldersToWatch: { path: string, excludes: string[] }[] = []; diff --git a/src/vs/platform/files/test/common/nullFileSystemProvider.ts b/src/vs/platform/files/test/common/nullFileSystemProvider.ts index b4b1c3af6fe512273e892dcab02629574f11e19d..59ba8e873cdc8fbc09d4705c143c4f474d07a60e 100644 --- a/src/vs/platform/files/test/common/nullFileSystemProvider.ts +++ b/src/vs/platform/files/test/common/nullFileSystemProvider.ts @@ -13,7 +13,7 @@ export class NullFileSystemProvider implements IFileSystemProvider { capabilities: FileSystemProviderCapabilities = FileSystemProviderCapabilities.Readonly; onDidChangeCapabilities: Event = Event.None; - onDidChangeFile: Event = Event.None; + onDidChangeFile: Event = Event.None; constructor(private disposableFactory: () => IDisposable = () => Disposable.None) { } @@ -30,4 +30,4 @@ export class NullFileSystemProvider implements IFileSystemProvider { close?(fd: number): Promise { return Promise.resolve(undefined!); } read?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise { return Promise.resolve(undefined!); } write?(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise { return Promise.resolve(undefined!); } -} \ No newline at end of file +} diff --git a/src/vs/platform/remote/common/remoteAgentFileSystemChannel.ts b/src/vs/platform/remote/common/remoteAgentFileSystemChannel.ts index 1f8b5fee33ca5046d1f742f9b76afa3faf241638..7d0ac33af9fd1482075d203b3dc81f55133e4680 100644 --- a/src/vs/platform/remote/common/remoteAgentFileSystemChannel.ts +++ b/src/vs/platform/remote/common/remoteAgentFileSystemChannel.ts @@ -24,8 +24,8 @@ export class RemoteExtensionsFileSystemProvider extends Disposable implements IF private readonly session: string = generateUuid(); - private readonly _onDidChange = this._register(new Emitter()); - readonly onDidChangeFile: Event = this._onDidChange.event; + private readonly _onDidChange = this._register(new Emitter()); + readonly onDidChangeFile: Event = this._onDidChange.event; private _onDidWatchErrorOccur: Emitter = this._register(new Emitter()); readonly onDidErrorOccur: Event = this._onDidWatchErrorOccur.event; diff --git a/src/vs/workbench/api/browser/mainThreadFileSystem.ts b/src/vs/workbench/api/browser/mainThreadFileSystem.ts index 0d232f2870d1842a173b7e4321dc6d045a626a58..b8c0cb9dfdc7be0fdb894fadbea1b30eb2be56e0 100644 --- a/src/vs/workbench/api/browser/mainThreadFileSystem.ts +++ b/src/vs/workbench/api/browser/mainThreadFileSystem.ts @@ -123,10 +123,10 @@ export class MainThreadFileSystem implements MainThreadFileSystemShape { class RemoteFileSystemProvider implements IFileSystemProvider { - private readonly _onDidChange = new Emitter(); + private readonly _onDidChange = new Emitter(); private readonly _registration: IDisposable; - readonly onDidChangeFile: Event = this._onDidChange.event; + readonly onDidChangeFile: Event = this._onDidChange.event; readonly capabilities: FileSystemProviderCapabilities; readonly onDidChangeCapabilities: Event = Event.None; diff --git a/src/vs/workbench/services/log/common/keyValueLogProvider.ts b/src/vs/workbench/services/log/common/keyValueLogProvider.ts index 8bcdb579c758ba58923d15625e5c04ba8801f879..0db6b00da32b0f2e69cef058b869295363a67c99 100644 --- a/src/vs/workbench/services/log/common/keyValueLogProvider.ts +++ b/src/vs/workbench/services/log/common/keyValueLogProvider.ts @@ -17,8 +17,8 @@ export abstract class KeyValueLogProvider extends Disposable implements IFileSys readonly capabilities: FileSystemProviderCapabilities = FileSystemProviderCapabilities.FileReadWrite; readonly onDidChangeCapabilities: Event = Event.None; - private readonly _onDidChangeFile: Emitter = this._register(new Emitter()); - readonly onDidChangeFile: Event = this._onDidChangeFile.event; + private readonly _onDidChangeFile = this._register(new Emitter()); + readonly onDidChangeFile: Event = this._onDidChangeFile.event; private readonly versions: Map = new Map(); diff --git a/src/vs/workbench/services/userData/common/fileUserDataProvider.ts b/src/vs/workbench/services/userData/common/fileUserDataProvider.ts index 4bf98510ac441183cc236960579b5ef039bf1a43..cef3768ec9614b560cc538c3b083c0a3bd6066a9 100644 --- a/src/vs/workbench/services/userData/common/fileUserDataProvider.ts +++ b/src/vs/workbench/services/userData/common/fileUserDataProvider.ts @@ -17,8 +17,8 @@ export class FileUserDataProvider extends Disposable implements IFileSystemProvi readonly capabilities: FileSystemProviderCapabilities = this.fileSystemProvider.capabilities; readonly onDidChangeCapabilities: Event = Event.None; - private readonly _onDidChangeFile: Emitter = this._register(new Emitter()); - readonly onDidChangeFile: Event = this._onDidChangeFile.event; + private readonly _onDidChangeFile = this._register(new Emitter()); + readonly onDidChangeFile: Event = this._onDidChangeFile.event; private readonly userDataHome: URI; @@ -103,7 +103,7 @@ export class FileUserDataProvider extends Disposable implements IFileSystemProvi return this.fileSystemProvider.delete(this.toFileSystemResource(resource), opts); } - private handleFileChanges(changes: IFileChange[]): void { + private handleFileChanges(changes: readonly IFileChange[]): void { const userDataChanges: IFileChange[] = []; for (const change of changes) { const userDataResource = this.toUserDataResource(change.resource); @@ -139,4 +139,4 @@ export class FileUserDataProvider extends Disposable implements IFileSystemProvi return null; } -} \ No newline at end of file +} diff --git a/src/vs/workbench/services/userData/common/inMemoryUserDataProvider.ts b/src/vs/workbench/services/userData/common/inMemoryUserDataProvider.ts index 3fbd91518a6eaaabdc18c063228e137cd8751b69..99f3f826f3bd8445609fb558b051ff22eb12bbb4 100644 --- a/src/vs/workbench/services/userData/common/inMemoryUserDataProvider.ts +++ b/src/vs/workbench/services/userData/common/inMemoryUserDataProvider.ts @@ -205,8 +205,8 @@ export class InMemoryFileSystemProvider extends Disposable implements IFileSyste // --- manage file events - private readonly _onDidChangeFile: Emitter = this._register(new Emitter()); - readonly onDidChangeFile: Event = this._onDidChangeFile.event; + private readonly _onDidChangeFile = this._register(new Emitter()); + readonly onDidChangeFile: Event = this._onDidChangeFile.event; private _bufferedChanges: IFileChange[] = []; private _fireSoonHandle?: any; diff --git a/src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts b/src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts index e927331f93bf8e349619109a577dbbbb1611c083..d93f23bdbe10efa00c9aaa0c5eabeb85242365e7 100644 --- a/src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts +++ b/src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts @@ -277,7 +277,7 @@ suite('FileUserDataProvider', () => { class TestFileSystemProvider implements IFileSystemProviderWithFileReadWriteCapability { - constructor(readonly onDidChangeFile: Event) { } + constructor(readonly onDidChangeFile: Event) { } readonly capabilities: FileSystemProviderCapabilities = FileSystemProviderCapabilities.FileReadWrite; @@ -309,7 +309,7 @@ suite('FileUserDataProvider - Watching', () => { let userDataResource: URI; const disposables = new DisposableStore(); - const fileEventEmitter: Emitter = new Emitter(); + const fileEventEmitter: Emitter = new Emitter(); disposables.add(fileEventEmitter); setup(() => { diff --git a/src/vs/workbench/test/workbenchTestServices.ts b/src/vs/workbench/test/workbenchTestServices.ts index d585c154e162e7f86a9e9c79ec5e1741d4784e9f..024a570162727c912c6fc523b50f4f058324da1a 100644 --- a/src/vs/workbench/test/workbenchTestServices.ts +++ b/src/vs/workbench/test/workbenchTestServices.ts @@ -1346,7 +1346,12 @@ export class RemoteFileSystemProvider implements IFileSystemProvider { readonly capabilities: FileSystemProviderCapabilities = this.diskFileSystemProvider.capabilities; readonly onDidChangeCapabilities: Event = this.diskFileSystemProvider.onDidChangeCapabilities; - readonly onDidChangeFile: Event = Event.map(this.diskFileSystemProvider.onDidChangeFile, changes => changes.map(c => { c.resource = c.resource.with({ scheme: Schemas.vscodeRemote, authority: this.remoteAuthority }); return c; })); + readonly onDidChangeFile: Event = Event.map(this.diskFileSystemProvider.onDidChangeFile, changes => changes.map((c): IFileChange => { + return { + type: c.type, + resource: c.resource.with({ scheme: Schemas.vscodeRemote, authority: this.remoteAuthority }), + }; + })); watch(resource: URI, opts: IWatchOptions): IDisposable { return this.diskFileSystemProvider.watch(this.toFileResource(resource), opts); } stat(resource: URI): Promise { return this.diskFileSystemProvider.stat(this.toFileResource(resource)); }