Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/common/editor/textResourceEditorModel.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { BaseTextEditorModel } from './textEditorModel.js';
7
import { URI } from '../../../base/common/uri.js';
8
import { ILanguageService } from '../../../editor/common/languages/language.js';
9
import { IModelService } from '../../../editor/common/services/model.js';
10
import { ILanguageDetectionService } from '../../services/languageDetection/common/languageDetectionWorkerService.js';
11
import { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js';
12
13
/**
14
* An editor model for in-memory, readonly text content that
15
* is backed by an existing editor model.
16
*/
17
export class TextResourceEditorModel extends BaseTextEditorModel {
18
19
constructor(
20
resource: URI,
21
@ILanguageService languageService: ILanguageService,
22
@IModelService modelService: IModelService,
23
@ILanguageDetectionService languageDetectionService: ILanguageDetectionService,
24
@IAccessibilityService accessibilityService: IAccessibilityService,
25
) {
26
super(modelService, languageService, languageDetectionService, accessibilityService, resource);
27
}
28
29
override dispose(): void {
30
31
// force this class to dispose the underlying model
32
if (this.textEditorModelHandle) {
33
this.modelService.destroyModel(this.textEditorModelHandle);
34
}
35
36
super.dispose();
37
}
38
}
39
40