未验证 提交 40164f1f 编写于 作者: M mtaran-google 提交者: GitHub

Add to WorkingCopyCapabilities enum to reflect usage. (#105020)

* Add to WorkingCopyCapabilities enum to reflect usage.

The capabilities field was being used with a value of 0 in a few places that implemented the IWorkingCopy interface. This inconsistency wasn't picked up by the compiler because the value in the enum was specified as `1 << 1` and not as `2`. This changes the value to be specified as `2` (for better type checking) and makes the 0 to use the new enum value.

* some polish on top
Co-authored-by: NMaksym Taran <maksym.taran@gmail.com>
Co-authored-by: NBenjamin Pasero <benjpas@microsoft.com>
上级 1689304b
......@@ -333,7 +333,7 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
}
public get capabilities(): WorkingCopyCapabilities {
return 0;
return WorkingCopyCapabilities.None;
}
public isDirty(): boolean {
......
......@@ -84,7 +84,7 @@ export class NotebookEditorModel extends EditorModel implements IWorkingCopy, IN
this._register(this._workingCopyService.registerWorkingCopy(workingCopyAdapter));
}
capabilities = 0;
capabilities = WorkingCopyCapabilities.None;
async backup(): Promise<IWorkingCopyBackup<NotebookDocumentBackupData>> {
if (this._notebook.supportBackup) {
......
......@@ -112,7 +112,7 @@ export class SearchEditorInput extends EditorInput {
const workingCopyAdapter = new class implements IWorkingCopy {
readonly resource = input.modelUri;
get name() { return input.getName(); }
readonly capabilities = input.isUntitled() ? WorkingCopyCapabilities.Untitled : 0;
readonly capabilities = input.isUntitled() ? WorkingCopyCapabilities.Untitled : WorkingCopyCapabilities.None;
readonly onDidChangeDirty = input.onDidChangeDirty;
readonly onDidChangeContent = input.onDidChangeContent;
isDirty(): boolean { return input.isDirty(); }
......
......@@ -19,7 +19,7 @@ import { ITextBufferFactory, ITextModel } from 'vs/editor/common/model';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { ILogService } from 'vs/platform/log/common/log';
import { basename } from 'vs/base/common/path';
import { IWorkingCopyService, IWorkingCopyBackup } from 'vs/workbench/services/workingCopy/common/workingCopyService';
import { IWorkingCopyService, IWorkingCopyBackup, WorkingCopyCapabilities } from 'vs/workbench/services/workingCopy/common/workingCopyService';
import { IFilesConfigurationService } from 'vs/workbench/services/filesConfiguration/common/filesConfigurationService';
import { ILabelService } from 'vs/platform/label/common/label';
import { CancellationTokenSource } from 'vs/base/common/cancellation';
......@@ -65,7 +65,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
//#endregion
readonly capabilities = 0;
readonly capabilities = WorkingCopyCapabilities.None;
readonly name = basename(this.labelService.getUriLabel(this.resource));
......
......@@ -14,6 +14,11 @@ import { ITextSnapshot } from 'vs/editor/common/model';
export const enum WorkingCopyCapabilities {
/**
* Signals no specific capability for the working copy.
*/
None = 0,
/**
* Signals that the working copy requires
* additional input when saving, e.g. an
......
......@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import { IWorkingCopy, IWorkingCopyBackup } from 'vs/workbench/services/workingCopy/common/workingCopyService';
import { IWorkingCopy, IWorkingCopyBackup, WorkingCopyCapabilities } from 'vs/workbench/services/workingCopy/common/workingCopyService';
import { URI } from 'vs/base/common/uri';
import { Emitter } from 'vs/base/common/event';
import { Disposable } from 'vs/base/common/lifecycle';
......@@ -23,7 +23,7 @@ export class TestWorkingCopy extends Disposable implements IWorkingCopy {
private readonly _onDispose = this._register(new Emitter<void>());
readonly onDispose = this._onDispose.event;
readonly capabilities = 0;
readonly capabilities = WorkingCopyCapabilities.None;
readonly name = basename(this.resource);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册