volar-service-typescript 0.0.27-patch.1 → 0.0.28
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/index.js +42 -22
- package/package.json +5 -4
package/index.js
CHANGED
|
@@ -178,8 +178,8 @@ function create(ts) {
|
|
|
178
178
|
}
|
|
179
179
|
},
|
|
180
180
|
};
|
|
181
|
-
|
|
182
|
-
projectVersion:
|
|
181
|
+
const syntacticHostCtx = {
|
|
182
|
+
projectVersion: -1,
|
|
183
183
|
document: undefined,
|
|
184
184
|
fileName: '',
|
|
185
185
|
fileVersion: 0,
|
|
@@ -241,24 +241,28 @@ function create(ts) {
|
|
|
241
241
|
languageServiceHost,
|
|
242
242
|
languageService,
|
|
243
243
|
ts,
|
|
244
|
-
uriToFileName
|
|
245
|
-
const
|
|
246
|
-
if (
|
|
247
|
-
return
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
return context.env.typescript.uriToFileName(uri);
|
|
244
|
+
uriToFileName(uri) {
|
|
245
|
+
const virtualScript = getVirtualScriptByUri(uri);
|
|
246
|
+
if (virtualScript) {
|
|
247
|
+
return virtualScript.fileName;
|
|
251
248
|
}
|
|
249
|
+
return context.env.typescript.uriToFileName(uri);
|
|
252
250
|
},
|
|
253
|
-
fileNameToUri
|
|
251
|
+
fileNameToUri(fileName) {
|
|
254
252
|
const uri = context.env.typescript.fileNameToUri(fileName);
|
|
255
|
-
const
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
253
|
+
const sourceFile = context.language.files.get(uri);
|
|
254
|
+
const extraScript = context.language.typescript.getExtraScript(fileName);
|
|
255
|
+
let virtualCode = extraScript?.code;
|
|
256
|
+
if (!virtualCode && sourceFile?.generated?.languagePlugin.typescript) {
|
|
257
|
+
const mainScript = sourceFile.generated.languagePlugin.typescript.getScript(sourceFile.generated.code);
|
|
258
|
+
if (mainScript) {
|
|
259
|
+
virtualCode = mainScript.code;
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
+
if (virtualCode) {
|
|
263
|
+
const sourceFile = context.language.files.getByVirtualCode(virtualCode);
|
|
264
|
+
return context.documents.getVirtualCodeUri(sourceFile.id, virtualCode.id);
|
|
265
|
+
}
|
|
262
266
|
return uri;
|
|
263
267
|
},
|
|
264
268
|
getTextDocument(uri) {
|
|
@@ -497,15 +501,31 @@ function create(ts) {
|
|
|
497
501
|
},
|
|
498
502
|
};
|
|
499
503
|
function isSemanticDocument(document, withJson = false) {
|
|
500
|
-
const
|
|
501
|
-
if (
|
|
502
|
-
return
|
|
504
|
+
const virtualScript = getVirtualScriptByUri(document.uri);
|
|
505
|
+
if (virtualScript) {
|
|
506
|
+
return true;
|
|
503
507
|
}
|
|
504
|
-
|
|
505
|
-
return
|
|
508
|
+
if (withJson && (0, shared_1.isJsonDocument)(document)) {
|
|
509
|
+
return true;
|
|
506
510
|
}
|
|
507
|
-
|
|
508
|
-
|
|
511
|
+
return (0, shared_1.isTsDocument)(document);
|
|
512
|
+
}
|
|
513
|
+
function getVirtualScriptByUri(uri) {
|
|
514
|
+
const [virtualCode, sourceFile] = context.documents.getVirtualCodeByUri(uri);
|
|
515
|
+
if (virtualCode && sourceFile.generated?.languagePlugin.typescript) {
|
|
516
|
+
const { getScript, getExtraScripts } = sourceFile.generated?.languagePlugin.typescript;
|
|
517
|
+
const sourceFileName = context.env.typescript.uriToFileName(sourceFile.id);
|
|
518
|
+
if (getScript(sourceFile.generated.code)?.code === virtualCode) {
|
|
519
|
+
return {
|
|
520
|
+
fileName: sourceFileName,
|
|
521
|
+
code: virtualCode,
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
for (const extraScript of getExtraScripts?.(sourceFileName, sourceFile.generated.code) ?? []) {
|
|
525
|
+
if (extraScript.code === virtualCode) {
|
|
526
|
+
return extraScript;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
509
529
|
}
|
|
510
530
|
}
|
|
511
531
|
async function worker(token, callback) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "volar-service-typescript",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"description": "Integrate TypeScript into Volar",
|
|
5
5
|
"homepage": "https://github.com/volarjs/services/tree/master/packages/typescript",
|
|
6
6
|
"bugs": "https://github.com/volarjs/services/issues",
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
"vscode-uri": "^3.0.8"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@volar/language-service": "~2.0.
|
|
41
|
-
"@volar/typescript": "~2.0.
|
|
40
|
+
"@volar/language-service": "~2.0.1",
|
|
41
|
+
"@volar/typescript": "~2.0.1"
|
|
42
42
|
},
|
|
43
43
|
"peerDependenciesMeta": {
|
|
44
44
|
"@volar/language-service": {
|
|
45
45
|
"optional": true
|
|
46
46
|
}
|
|
47
|
-
}
|
|
47
|
+
},
|
|
48
|
+
"gitHead": "863d2892a08a959d8948c1a32094907cdcfd4be7"
|
|
48
49
|
}
|