From d0fcf07040623d569201ec3cc38b98f653cf5777 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 9 Jul 2019 17:03:30 +0200 Subject: [PATCH] debt - better check for reserved schemes --- .../api/common/extHostDocumentContentProviders.ts | 2 +- src/vs/workbench/api/common/extHostFileSystem.ts | 14 +++----------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/vs/workbench/api/common/extHostDocumentContentProviders.ts b/src/vs/workbench/api/common/extHostDocumentContentProviders.ts index 196b5d2bfe3..b6f46b8f759 100644 --- a/src/vs/workbench/api/common/extHostDocumentContentProviders.ts +++ b/src/vs/workbench/api/common/extHostDocumentContentProviders.ts @@ -32,7 +32,7 @@ export class ExtHostDocumentContentProvider implements ExtHostDocumentContentPro registerTextDocumentContentProvider(scheme: string, provider: vscode.TextDocumentContentProvider): vscode.Disposable { // todo@remote // check with scheme from fs-providers! - if (scheme === Schemas.file || scheme === Schemas.untitled) { + if (Object.keys(Schemas).indexOf(scheme) >= 0) { throw new Error(`scheme '${scheme}' already registered`); } diff --git a/src/vs/workbench/api/common/extHostFileSystem.ts b/src/vs/workbench/api/common/extHostFileSystem.ts index 7e22304c0fd..c73831e687e 100644 --- a/src/vs/workbench/api/common/extHostFileSystem.ts +++ b/src/vs/workbench/api/common/extHostFileSystem.ts @@ -162,18 +162,10 @@ export class ExtHostFileSystem implements ExtHostFileSystemShape { constructor(mainContext: IMainContext, private _extHostLanguageFeatures: ExtHostLanguageFeatures) { this._proxy = mainContext.getProxy(MainContext.MainThreadFileSystem); - this._usedSchemes.add(Schemas.file); - this._usedSchemes.add(Schemas.untitled); - this._usedSchemes.add(Schemas.vscode); - this._usedSchemes.add(Schemas.inMemory); - this._usedSchemes.add(Schemas.internal); - this._usedSchemes.add(Schemas.http); - this._usedSchemes.add(Schemas.https); - this._usedSchemes.add(Schemas.mailto); - this._usedSchemes.add(Schemas.data); - this._usedSchemes.add(Schemas.command); - this.fileSystem = new ConsumerFileSystem(this._proxy); + + // register used schemes + Object.keys(Schemas).forEach(scheme => this._usedSchemes.add(scheme)); } dispose(): void {