Path: blob/main/src/vs/editor/common/services/model.ts
3295 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Event } from '../../../base/common/event.js';6import { URI } from '../../../base/common/uri.js';7import { ITextBufferFactory, ITextModel, ITextModelCreationOptions } from '../model.js';8import { ILanguageSelection } from '../languages/language.js';9import { createDecorator } from '../../../platform/instantiation/common/instantiation.js';10import { DocumentSemanticTokensProvider, DocumentRangeSemanticTokensProvider } from '../languages.js';11import { TextModelEditSource } from '../textModelEditSource.js';1213export const IModelService = createDecorator<IModelService>('modelService');1415export type DocumentTokensProvider = DocumentSemanticTokensProvider | DocumentRangeSemanticTokensProvider;1617export interface IModelService {18readonly _serviceBrand: undefined;1920createModel(value: string | ITextBufferFactory, languageSelection: ILanguageSelection | null, resource?: URI, isForSimpleWidget?: boolean): ITextModel;2122updateModel(model: ITextModel, value: string | ITextBufferFactory, reason?: TextModelEditSource): void;2324destroyModel(resource: URI): void;2526getModels(): ITextModel[];2728getCreationOptions(language: string, resource: URI, isForSimpleWidget: boolean): ITextModelCreationOptions;2930getModel(resource: URI): ITextModel | null;3132readonly onModelAdded: Event<ITextModel>;3334readonly onModelRemoved: Event<ITextModel>;3536readonly onModelLanguageChanged: Event<{ readonly model: ITextModel; readonly oldLanguageId: string }>;37}383940