Skip to content

Commit b9ff832

Browse files
author
Benjamin Pasero
committed
add method isTextFileEditorModel
1 parent c77c975 commit b9ff832

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/vs/workbench/services/textfile/common/textfiles.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
1212
import { ITextEditorModel } from 'vs/editor/common/services/resolverService';
1313
import { ITextBufferFactory, ITextModel, ITextSnapshot } from 'vs/editor/common/model';
1414
import { VSBuffer, VSBufferReadable } from 'vs/base/common/buffer';
15-
import { isUndefinedOrNull } from 'vs/base/common/types';
15+
import { areFunctions, isUndefinedOrNull } from 'vs/base/common/types';
1616
import { IWorkingCopy } from 'vs/workbench/services/workingCopy/common/workingCopyService';
1717
import { IUntitledTextEditorModelManager } from 'vs/workbench/services/untitled/common/untitledTextEditorService';
1818
import { CancellationToken } from 'vs/base/common/cancellation';
@@ -428,6 +428,12 @@ export interface ITextFileEditorModel extends ITextEditorModel, IEncodingSupport
428428
isDisposed(): boolean;
429429
}
430430

431+
export function isTextFileEditorModel(model: ITextEditorModel): model is ITextFileEditorModel {
432+
const candidate = model as ITextFileEditorModel;
433+
434+
return areFunctions(candidate.setEncoding, candidate.getEncoding, candidate.save, candidate.revert, candidate.isDirty, candidate.getMode);
435+
}
436+
431437
export interface IResolvedTextFileEditorModel extends ITextFileEditorModel {
432438

433439
readonly textEditorModel: ITextModel;

0 commit comments

Comments
 (0)