@codingame/monaco-vscode-model-service-override 28.4.0 → 29.0.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-model-service-override",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "29.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor - model service-override",
|
|
6
6
|
"keywords": [],
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
},
|
|
16
16
|
"type": "module",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@codingame/monaco-vscode-api": "
|
|
18
|
+
"@codingame/monaco-vscode-api": "29.0.0"
|
|
19
19
|
},
|
|
20
20
|
"main": "index.js",
|
|
21
21
|
"module": "index.js",
|
package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js
CHANGED
|
@@ -25,24 +25,15 @@ let ResourceModelCollection = class ResourceModelCollection extends ReferenceCol
|
|
|
25
25
|
this.fileService = fileService;
|
|
26
26
|
this.modelService = modelService;
|
|
27
27
|
this.providers = ( new Map());
|
|
28
|
-
this.modelsToDispose = ( new
|
|
28
|
+
this.modelsToDispose = ( new Map());
|
|
29
29
|
}
|
|
30
30
|
createReferencedObject(key) {
|
|
31
31
|
return this.doCreateReferencedObject(key);
|
|
32
32
|
}
|
|
33
33
|
async doCreateReferencedObject(key, skipActivateProvider) {
|
|
34
|
-
this.modelsToDispose.delete(key);
|
|
35
34
|
const resource = ( URI.parse(key));
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (!cachedModel) {
|
|
39
|
-
throw ( new Error(`Unable to resolve inMemory resource ${key}`));
|
|
40
|
-
}
|
|
41
|
-
const model = this.instantiationService.createInstance(TextResourceEditorModel, resource);
|
|
42
|
-
if (this.ensureResolvedModel(model, key)) {
|
|
43
|
-
return model;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
35
|
+
const pendingModel = this.modelsToDispose.get(key);
|
|
36
|
+
this.modelsToDispose.delete(key);
|
|
46
37
|
if (resource.scheme === Schemas.untitled) {
|
|
47
38
|
const model = await this.textFileService.untitled.resolve({
|
|
48
39
|
untitledResource: resource
|
|
@@ -59,9 +50,17 @@ let ResourceModelCollection = class ResourceModelCollection extends ReferenceCol
|
|
|
59
50
|
return model;
|
|
60
51
|
}
|
|
61
52
|
}
|
|
62
|
-
if (( this.providers.has(resource.scheme))) {
|
|
63
|
-
await this.
|
|
64
|
-
|
|
53
|
+
if (resource.scheme === Schemas.inMemory || ( this.providers.has(resource.scheme))) {
|
|
54
|
+
await this.ensureResolvedTextModelContent(resource);
|
|
55
|
+
let model = undefined;
|
|
56
|
+
if (pendingModel) {
|
|
57
|
+
try {
|
|
58
|
+
model = await pendingModel;
|
|
59
|
+
} catch {}
|
|
60
|
+
}
|
|
61
|
+
if (!model) {
|
|
62
|
+
model = this.instantiationService.createInstance(TextResourceEditorModel, resource);
|
|
63
|
+
}
|
|
65
64
|
if (this.ensureResolvedModel(model, key)) {
|
|
66
65
|
return model;
|
|
67
66
|
}
|
|
@@ -79,11 +78,7 @@ let ResourceModelCollection = class ResourceModelCollection extends ReferenceCol
|
|
|
79
78
|
throw ( new Error(`Unable to resolve resource ${key}`));
|
|
80
79
|
}
|
|
81
80
|
destroyReferencedObject(key, modelPromise) {
|
|
82
|
-
|
|
83
|
-
if (resource.scheme === Schemas.inMemory) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
this.modelsToDispose.add(key);
|
|
81
|
+
this.modelsToDispose.set(key, modelPromise);
|
|
87
82
|
(async () => {
|
|
88
83
|
try {
|
|
89
84
|
const model = await modelPromise;
|
|
@@ -129,16 +124,19 @@ let ResourceModelCollection = class ResourceModelCollection extends ReferenceCol
|
|
|
129
124
|
hasTextModelContentProvider(scheme) {
|
|
130
125
|
return this.providers.get(scheme) !== undefined;
|
|
131
126
|
}
|
|
132
|
-
async
|
|
133
|
-
|
|
127
|
+
async ensureResolvedTextModelContent(resource) {
|
|
128
|
+
if (resource.scheme === Schemas.inMemory) {
|
|
129
|
+
if (this.modelService.getModel(resource)) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
134
133
|
const providersForScheme = this.providers.get(resource.scheme) || [];
|
|
135
134
|
for (const provider of providersForScheme) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return value;
|
|
135
|
+
if (await provider.provideTextContent(resource)) {
|
|
136
|
+
return;
|
|
139
137
|
}
|
|
140
138
|
}
|
|
141
|
-
throw ( new Error(`Unable to resolve text model content for resource ${
|
|
139
|
+
throw ( new Error(`Unable to resolve text model content for resource ${( resource.toString())}`));
|
|
142
140
|
}
|
|
143
141
|
};
|
|
144
142
|
ResourceModelCollection = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, ITextFileService)), ( __param(2, IFileService)), ( __param(3, IModelService))], ResourceModelCollection));
|