Correctly mark WorkingCopyCapabilities.Untitled for custom editors

Fixes  #108143
This commit is contained in:
Matt Bierner
2020-10-14 16:22:04 -07:00
parent abf6f8ce90
commit 4be7f6a297

View File

@@ -362,7 +362,7 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
}
public get capabilities(): WorkingCopyCapabilities {
return WorkingCopyCapabilities.None;
return this.isUntitled() ? WorkingCopyCapabilities.Untitled : WorkingCopyCapabilities.None;
}
public isDirty(): boolean {
@@ -375,6 +375,10 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
return this._fromBackup;
}
private isUntitled() {
return this._editorResource.scheme === Schemas.untitled;
}
private readonly _onDidChangeDirty: Emitter<void> = this._register(new Emitter<void>());
readonly onDidChangeDirty: Event<void> = this._onDidChangeDirty.event;
@@ -504,7 +508,7 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
return undefined;
}
if (this._editorResource.scheme === Schemas.untitled) {
if (this.isUntitled()) {
const targetUri = await this.suggestUntitledSavePath(options);
if (!targetUri) {
return undefined;
@@ -535,7 +539,7 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
}
private suggestUntitledSavePath(options: ISaveOptions | undefined): Promise<URI | undefined> {
if (this._editorResource.scheme !== Schemas.untitled) {
if (!this.isUntitled()) {
throw new Error('Resource is not untitled');
}