volar-service-typescript 0.0.54 → 0.0.56
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.
|
@@ -6,8 +6,8 @@ const shared_1 = require("../shared");
|
|
|
6
6
|
const vscode_uri_1 = require("vscode-uri");
|
|
7
7
|
async function getUserPreferences(ctx, document) {
|
|
8
8
|
let currentDirectory = '';
|
|
9
|
-
if (ctx.
|
|
10
|
-
currentDirectory = ctx.
|
|
9
|
+
if (ctx.project.typescript) {
|
|
10
|
+
currentDirectory = ctx.project.typescript.languageServiceHost.getCurrentDirectory();
|
|
11
11
|
}
|
|
12
12
|
const uri = vscode_uri_1.URI.parse(document.uri);
|
|
13
13
|
const documentUri = ctx.decodeEmbeddedDocumentUri(uri)?.[0] ?? uri;
|
package/lib/plugins/semantic.js
CHANGED
|
@@ -37,6 +37,7 @@ function create(ts, { isValidationEnabled = async (document, context) => {
|
|
|
37
37
|
renameProvider: {
|
|
38
38
|
prepareProvider: true,
|
|
39
39
|
},
|
|
40
|
+
fileRenameProvider: true,
|
|
40
41
|
codeActionProvider: {
|
|
41
42
|
codeActionKinds: [
|
|
42
43
|
'',
|
|
@@ -59,7 +60,7 @@ function create(ts, { isValidationEnabled = async (document, context) => {
|
|
|
59
60
|
hoverProvider: true,
|
|
60
61
|
implementationProvider: true,
|
|
61
62
|
referencesProvider: true,
|
|
62
|
-
|
|
63
|
+
fileReferencesProvider: true,
|
|
63
64
|
documentHighlightProvider: true,
|
|
64
65
|
semanticTokensProvider: {
|
|
65
66
|
// https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers
|
|
@@ -88,18 +89,18 @@ function create(ts, { isValidationEnabled = async (document, context) => {
|
|
|
88
89
|
],
|
|
89
90
|
},
|
|
90
91
|
},
|
|
91
|
-
workspaceSymbolProvider:
|
|
92
|
-
// fileRenameEdits: true,
|
|
92
|
+
workspaceSymbolProvider: {},
|
|
93
93
|
signatureHelpProvider: {
|
|
94
94
|
triggerCharacters: ['(', ',', '<'],
|
|
95
95
|
retriggerCharacters: [')'],
|
|
96
96
|
},
|
|
97
97
|
},
|
|
98
98
|
create(context) {
|
|
99
|
-
if (!context.
|
|
99
|
+
if (!context.project.typescript) {
|
|
100
|
+
console.warn(`[volar] typescript-semantic requires typescript project.`);
|
|
100
101
|
return {};
|
|
101
102
|
}
|
|
102
|
-
const { sys, languageServiceHost, asFileName,
|
|
103
|
+
const { sys, languageServiceHost, asFileName, asUri, getExtraServiceScript } = context.project.typescript;
|
|
103
104
|
const created = tsWithImportCache.createLanguageService(ts, sys, languageServiceHost, proxiedHost => ts.createLanguageService(proxiedHost, getDocumentRegistry(ts, sys.useCaseSensitiveFileNames, languageServiceHost.getCurrentDirectory())));
|
|
104
105
|
const { languageService } = created;
|
|
105
106
|
const ctx = {
|
|
@@ -119,7 +120,7 @@ function create(ts, { isValidationEnabled = async (document, context) => {
|
|
|
119
120
|
const sourceScript = context.language.scripts.fromVirtualCode(extraServiceScript.code);
|
|
120
121
|
return context.encodeEmbeddedDocumentUri(sourceScript.id, extraServiceScript.code.id);
|
|
121
122
|
}
|
|
122
|
-
const uri =
|
|
123
|
+
const uri = asUri(fileName);
|
|
123
124
|
const sourceScript = context.language.scripts.get(uri);
|
|
124
125
|
const serviceScript = sourceScript?.generated?.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);
|
|
125
126
|
if (sourceScript && serviceScript) {
|
|
@@ -714,7 +715,7 @@ function create(ts, { isValidationEnabled = async (document, context) => {
|
|
|
714
715
|
}
|
|
715
716
|
const token = {
|
|
716
717
|
isCancellationRequested() {
|
|
717
|
-
return ctx.
|
|
718
|
+
return ctx.project.typescript?.languageServiceHost.getCancellationToken?.().isCancellationRequested() ?? false;
|
|
718
719
|
},
|
|
719
720
|
throwIfCancellationRequested() { },
|
|
720
721
|
};
|
|
@@ -7,7 +7,7 @@ function register(ts, ctx) {
|
|
|
7
7
|
const fileName = ctx.uriToFileName(uri);
|
|
8
8
|
const start = range ? document.offsetAt(range.start) : 0;
|
|
9
9
|
const length = range ? (document.offsetAt(range.end) - start) : document.getText().length;
|
|
10
|
-
if (ctx.
|
|
10
|
+
if (ctx.project.typescript?.languageServiceHost.getCancellationToken?.().isCancellationRequested()) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
const response = (0, shared_1.safeCall)(() => ctx.languageService.getEncodedSemanticClassifications(fileName, { start, length }, ts.SemanticClassificationFormat.TwentyTwenty));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "volar-service-typescript",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.56",
|
|
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",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/path-browserify": "latest",
|
|
28
|
-
"@types/semver": "latest"
|
|
28
|
+
"@types/semver": "latest",
|
|
29
|
+
"@volar/typescript": "~2.4.0-alpha.1"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
32
|
"path-browserify": "^1.0.1",
|
|
@@ -36,12 +37,12 @@
|
|
|
36
37
|
"vscode-uri": "^3.0.8"
|
|
37
38
|
},
|
|
38
39
|
"peerDependencies": {
|
|
39
|
-
"@volar/language-service": "~2.
|
|
40
|
+
"@volar/language-service": "~2.4.0-alpha.1"
|
|
40
41
|
},
|
|
41
42
|
"peerDependenciesMeta": {
|
|
42
43
|
"@volar/language-service": {
|
|
43
44
|
"optional": true
|
|
44
45
|
}
|
|
45
46
|
},
|
|
46
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "83dc20fd032ab64507ef7a0e643e1d0bf34f201b"
|
|
47
48
|
}
|