diff --git a/src/vs/editor/common/services/resolverService.ts b/src/vs/editor/common/services/resolverService.ts index 173713e7018b4459edfb9365ff242a733b3ecfe6..56dca5511ff7c70069d0cd95096c6a1dfccae2ac 100644 --- a/src/vs/editor/common/services/resolverService.ts +++ b/src/vs/editor/common/services/resolverService.ts @@ -42,4 +42,6 @@ export interface ITextEditorModel extends IEditorModel { * Provides access to the underlying `ITextModel`. */ textEditorModel: ITextModel; + + isReadonly(): boolean; } diff --git a/src/vs/editor/standalone/browser/simpleServices.ts b/src/vs/editor/standalone/browser/simpleServices.ts index 231c2e182c38126cc58ce28e0a84a2cea202f8d7..e73c429819fa3ac47a026d093b695519e8675429 100644 --- a/src/vs/editor/standalone/browser/simpleServices.ts +++ b/src/vs/editor/standalone/browser/simpleServices.ts @@ -69,6 +69,10 @@ export class SimpleModel implements ITextEditorModel { return this.model; } + public isReadonly(): boolean { + return false; + } + public dispose(): void { this._onDispose.fire(); } diff --git a/src/vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts b/src/vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts index e120c966d99e47bfbaccaeb6db9ecd1723e3b5da..e7ab928dda60ac39dd9af319e461bc799e18764d 100644 --- a/src/vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts +++ b/src/vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts @@ -180,6 +180,9 @@ class BulkEditModel implements IDisposable { if (!model || !model.textEditorModel) { throw new Error(`Cannot load file ${key}`); } + if (model.isReadonly) { + throw new Error(localize('editorIsReadonly', "Cannot edit a read-only editor.")); + } let task: ModelEditTask; if (this._editor && this._editor.getModel().uri.toString() === model.textEditorModel.uri.toString()) { diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts index 132e8b15c477cbaf25b2a0a0a97dddac6bb83662..008c6d191555a84ece1f4d5f3f2627992bf0ded2 100644 --- a/src/vs/workbench/services/textfile/common/textfiles.ts +++ b/src/vs/workbench/services/textfile/common/textfiles.ts @@ -254,8 +254,6 @@ export interface ITextFileEditorModel extends ITextEditorModel, IEncodingSupport isResolved(): boolean; - isReadonly(): boolean; - isDisposed(): boolean; }