@codingame/monaco-vscode-model-service-override 3.2.3 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/model.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
2
- import { TextModelResolverService } from './vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js';
2
+ import { TextModelResolverService } from 'vscode/vscode/vs/workbench/services/textmodelResolver/common/textModelResolverService';
3
3
  import { SyncDescriptor } from 'vscode/vscode/vs/platform/instantiation/common/descriptors';
4
4
 
5
5
  function getServiceOverride() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-model-service-override",
3
- "version": "3.2.3",
3
+ "version": "4.1.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,6 +18,6 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@3.2.3"
21
+ "vscode": "npm:@codingame/monaco-vscode-api@4.1.0"
22
22
  }
23
23
  }
@@ -1,11 +0,0 @@
1
- function __decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- function __param(paramIndex, decorator) {
8
- return function (target, key) { decorator(target, key, paramIndex); }
9
- }
10
-
11
- export { __decorate, __param };
@@ -1,58 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
3
- import { ITextModelService } from 'vscode/vscode/vs/editor/common/services/resolverService';
4
- import { Disposable, dispose } from 'vscode/vscode/vs/base/common/lifecycle';
5
- import { IUndoRedoService } from 'vscode/vscode/vs/platform/undoRedo/common/undoRedo';
6
- import { MultiModelEditStackElement } from 'vscode/vscode/vs/editor/common/model/editStack';
7
-
8
- let ModelUndoRedoParticipant = class ModelUndoRedoParticipant extends Disposable {
9
- constructor(_modelService, _textModelService, _undoRedoService) {
10
- super();
11
- this._modelService = _modelService;
12
- this._textModelService = _textModelService;
13
- this._undoRedoService = _undoRedoService;
14
- this._register(this._modelService.onModelRemoved((model) => {
15
- const elements = this._undoRedoService.getElements(model.uri);
16
- if (elements.past.length === 0 && elements.future.length === 0) {
17
- return;
18
- }
19
- for (const element of elements.past) {
20
- if (element instanceof MultiModelEditStackElement) {
21
- element.setDelegate(this);
22
- }
23
- }
24
- for (const element of elements.future) {
25
- if (element instanceof MultiModelEditStackElement) {
26
- element.setDelegate(this);
27
- }
28
- }
29
- }));
30
- }
31
- prepareUndoRedo(element) {
32
- const missingModels = element.getMissingModels();
33
- if (missingModels.length === 0) {
34
- return Disposable.None;
35
- }
36
- const disposablesPromises = ( missingModels.map(async (uri) => {
37
- try {
38
- const reference = await this._textModelService.createModelReference(uri);
39
- return reference;
40
- }
41
- catch (err) {
42
- return Disposable.None;
43
- }
44
- }));
45
- return Promise.all(disposablesPromises).then(disposables => {
46
- return {
47
- dispose: () => dispose(disposables)
48
- };
49
- });
50
- }
51
- };
52
- ModelUndoRedoParticipant = ( __decorate([
53
- ( __param(0, IModelService)),
54
- ( __param(1, ITextModelService)),
55
- ( __param(2, IUndoRedoService))
56
- ], ModelUndoRedoParticipant));
57
-
58
- export { ModelUndoRedoParticipant };
@@ -1,193 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { URI } from 'vscode/vscode/vs/base/common/uri';
3
- import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
4
- import { ReferenceCollection, toDisposable, Disposable, AsyncReferenceCollection } from 'vscode/vscode/vs/base/common/lifecycle';
5
- import { IModelService } from 'vscode/vscode/vs/editor/common/services/model';
6
- import { TextResourceEditorModel } from 'vscode/vscode/vs/workbench/common/editor/textResourceEditorModel';
7
- import { ITextFileService } from 'vscode/vscode/vs/workbench/services/textfile/common/textfiles';
8
- import { Schemas } from 'vscode/vscode/vs/base/common/network';
9
- import { isResolvedTextEditorModel } from 'vscode/vscode/vs/editor/common/services/resolverService';
10
- import { TextFileEditorModel } from 'vscode/vscode/vs/workbench/services/textfile/common/textFileEditorModel';
11
- import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
12
- import { IUndoRedoService } from 'vscode/vscode/vs/platform/undoRedo/common/undoRedo';
13
- import { ModelUndoRedoParticipant } from '../../../../editor/common/services/modelUndoRedoParticipant.js';
14
- import { IUriIdentityService } from 'vscode/vscode/vs/platform/uriIdentity/common/uriIdentity';
15
- import { UntitledTextEditorModel } from 'vscode/vscode/vs/workbench/services/untitled/common/untitledTextEditorModel';
16
-
17
- let ResourceModelCollection = class ResourceModelCollection extends ReferenceCollection {
18
- constructor(instantiationService, textFileService, fileService, modelService) {
19
- super();
20
- this.instantiationService = instantiationService;
21
- this.textFileService = textFileService;
22
- this.fileService = fileService;
23
- this.modelService = modelService;
24
- this.providers = ( new Map());
25
- this.modelsToDispose = ( new Set());
26
- }
27
- createReferencedObject(key) {
28
- return this.doCreateReferencedObject(key);
29
- }
30
- async doCreateReferencedObject(key, skipActivateProvider) {
31
- this.modelsToDispose.delete(key);
32
- const resource = ( URI.parse(key));
33
- if (resource.scheme === Schemas.inMemory) {
34
- const cachedModel = this.modelService.getModel(resource);
35
- if (!cachedModel) {
36
- throw new Error(`Unable to resolve inMemory resource ${key}`);
37
- }
38
- const model = this.instantiationService.createInstance(TextResourceEditorModel, resource);
39
- if (this.ensureResolvedModel(model, key)) {
40
- return model;
41
- }
42
- }
43
- if (resource.scheme === Schemas.untitled) {
44
- const model = await this.textFileService.untitled.resolve({ untitledResource: resource });
45
- if (this.ensureResolvedModel(model, key)) {
46
- return model;
47
- }
48
- }
49
- if (this.fileService.hasProvider(resource)) {
50
- const model = await this.textFileService.files.resolve(resource, { reason: 2 });
51
- if (this.ensureResolvedModel(model, key)) {
52
- return model;
53
- }
54
- }
55
- if (( this.providers.has(resource.scheme))) {
56
- await this.resolveTextModelContent(key);
57
- const model = this.instantiationService.createInstance(TextResourceEditorModel, resource);
58
- if (this.ensureResolvedModel(model, key)) {
59
- return model;
60
- }
61
- }
62
- if (!skipActivateProvider) {
63
- await this.fileService.activateProvider(resource.scheme);
64
- return this.doCreateReferencedObject(key, true);
65
- }
66
- throw new Error(`Unable to resolve resource ${key}`);
67
- }
68
- ensureResolvedModel(model, key) {
69
- if (isResolvedTextEditorModel(model)) {
70
- return true;
71
- }
72
- throw new Error(`Unable to resolve resource ${key}`);
73
- }
74
- destroyReferencedObject(key, modelPromise) {
75
- const resource = ( URI.parse(key));
76
- if (resource.scheme === Schemas.inMemory) {
77
- return;
78
- }
79
- this.modelsToDispose.add(key);
80
- (async () => {
81
- try {
82
- const model = await modelPromise;
83
- if (!( this.modelsToDispose.has(key))) {
84
- return;
85
- }
86
- if (model instanceof TextFileEditorModel) {
87
- await this.textFileService.files.canDispose(model);
88
- }
89
- else if (model instanceof UntitledTextEditorModel) {
90
- await this.textFileService.untitled.canDispose(model);
91
- }
92
- if (!( this.modelsToDispose.has(key))) {
93
- return;
94
- }
95
- model.dispose();
96
- }
97
- catch (error) {
98
- }
99
- finally {
100
- this.modelsToDispose.delete(key);
101
- }
102
- })();
103
- }
104
- registerTextModelContentProvider(scheme, provider) {
105
- let providers = this.providers.get(scheme);
106
- if (!providers) {
107
- providers = [];
108
- this.providers.set(scheme, providers);
109
- }
110
- providers.unshift(provider);
111
- return toDisposable(() => {
112
- const providersForScheme = this.providers.get(scheme);
113
- if (!providersForScheme) {
114
- return;
115
- }
116
- const index = providersForScheme.indexOf(provider);
117
- if (index === -1) {
118
- return;
119
- }
120
- providersForScheme.splice(index, 1);
121
- if (providersForScheme.length === 0) {
122
- this.providers.delete(scheme);
123
- }
124
- });
125
- }
126
- hasTextModelContentProvider(scheme) {
127
- return this.providers.get(scheme) !== undefined;
128
- }
129
- async resolveTextModelContent(key) {
130
- const resource = ( URI.parse(key));
131
- const providersForScheme = this.providers.get(resource.scheme) || [];
132
- for (const provider of providersForScheme) {
133
- const value = await provider.provideTextContent(resource);
134
- if (value) {
135
- return value;
136
- }
137
- }
138
- throw new Error(`Unable to resolve text model content for resource ${key}`);
139
- }
140
- };
141
- ResourceModelCollection = ( __decorate([
142
- ( __param(0, IInstantiationService)),
143
- ( __param(1, ITextFileService)),
144
- ( __param(2, IFileService)),
145
- ( __param(3, IModelService))
146
- ], ResourceModelCollection));
147
- let TextModelResolverService = class TextModelResolverService extends Disposable {
148
- get resourceModelCollection() {
149
- if (!this._resourceModelCollection) {
150
- this._resourceModelCollection = this.instantiationService.createInstance(ResourceModelCollection);
151
- }
152
- return this._resourceModelCollection;
153
- }
154
- get asyncModelCollection() {
155
- if (!this._asyncModelCollection) {
156
- this._asyncModelCollection = ( new AsyncReferenceCollection(this.resourceModelCollection));
157
- }
158
- return this._asyncModelCollection;
159
- }
160
- constructor(instantiationService, fileService, undoRedoService, modelService, uriIdentityService) {
161
- super();
162
- this.instantiationService = instantiationService;
163
- this.fileService = fileService;
164
- this.undoRedoService = undoRedoService;
165
- this.modelService = modelService;
166
- this.uriIdentityService = uriIdentityService;
167
- this._resourceModelCollection = undefined;
168
- this._asyncModelCollection = undefined;
169
- this._register(( new ModelUndoRedoParticipant(this.modelService, this, this.undoRedoService)));
170
- }
171
- async createModelReference(resource) {
172
- resource = this.uriIdentityService.asCanonicalUri(resource);
173
- return await this.asyncModelCollection.acquire(( resource.toString()));
174
- }
175
- registerTextModelContentProvider(scheme, provider) {
176
- return this.resourceModelCollection.registerTextModelContentProvider(scheme, provider);
177
- }
178
- canHandleResource(resource) {
179
- if (this.fileService.hasProvider(resource) || resource.scheme === Schemas.untitled || resource.scheme === Schemas.inMemory) {
180
- return true;
181
- }
182
- return this.resourceModelCollection.hasTextModelContentProvider(resource.scheme);
183
- }
184
- };
185
- TextModelResolverService = ( __decorate([
186
- ( __param(0, IInstantiationService)),
187
- ( __param(1, IFileService)),
188
- ( __param(2, IUndoRedoService)),
189
- ( __param(3, IModelService)),
190
- ( __param(4, IUriIdentityService))
191
- ], TextModelResolverService));
192
-
193
- export { TextModelResolverService };