@volar/vscode 1.10.10-alpha.1 → 1.11.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/browser.d.ts +2 -0
- package/browser.js +18 -0
- package/{out/index.d.ts → index.d.ts} +8 -7
- package/{out/index.js → index.js} +22 -7
- package/lib/features/serverSys.js +117 -0
- package/node.d.ts +2 -0
- package/node.js +18 -0
- package/package.json +7 -16
- package/out/features/serverSys.js +0 -51
- /package/{out → lib}/common.d.ts +0 -0
- /package/{out → lib}/common.js +0 -0
- /package/{out → lib}/features/autoInsertion.d.ts +0 -0
- /package/{out → lib}/features/autoInsertion.js +0 -0
- /package/{out → lib}/features/fileReferences.d.ts +0 -0
- /package/{out → lib}/features/fileReferences.js +0 -0
- /package/{out → lib}/features/reloadProject.d.ts +0 -0
- /package/{out → lib}/features/reloadProject.js +0 -0
- /package/{out → lib}/features/serverSys.d.ts +0 -0
- /package/{out → lib}/features/tsVersion.d.ts +0 -0
- /package/{out → lib}/features/tsVersion.js +0 -0
- /package/{out → lib}/features/tsconfig.d.ts +0 -0
- /package/{out → lib}/features/tsconfig.js +0 -0
- /package/{out → lib}/features/writeVirtualFiles.d.ts +0 -0
- /package/{out → lib}/features/writeVirtualFiles.js +0 -0
package/browser.d.ts
ADDED
package/browser.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("vscode-languageclient/browser"), exports);
|
|
18
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as vscode from 'vscode';
|
|
2
|
-
export { activate as activateAutoInsertion } from './features/autoInsertion';
|
|
3
|
-
export { activate as activateWriteVirtualFiles } from './features/writeVirtualFiles';
|
|
4
|
-
export { activate as activateFindFileReferences } from './features/fileReferences';
|
|
5
|
-
export { activate as activateReloadProjects } from './features/reloadProject';
|
|
6
|
-
export { activate as activateTsConfigStatusItem } from './features/tsconfig';
|
|
7
|
-
export { activate as activateServerSys } from './features/serverSys';
|
|
8
|
-
export { activate as activateTsVersionStatusItem, getTsdk } from './features/tsVersion';
|
|
2
|
+
export { activate as activateAutoInsertion } from './lib/features/autoInsertion';
|
|
3
|
+
export { activate as activateWriteVirtualFiles } from './lib/features/writeVirtualFiles';
|
|
4
|
+
export { activate as activateFindFileReferences } from './lib/features/fileReferences';
|
|
5
|
+
export { activate as activateReloadProjects } from './lib/features/reloadProject';
|
|
6
|
+
export { activate as activateTsConfigStatusItem } from './lib/features/tsconfig';
|
|
7
|
+
export { activate as activateServerSys } from './lib/features/serverSys';
|
|
8
|
+
export { activate as activateTsVersionStatusItem, getTsdk } from './lib/features/tsVersion';
|
|
9
|
+
export * from 'vscode-languageclient';
|
|
9
10
|
export declare function takeOverModeActive(context: vscode.ExtensionContext): boolean;
|
|
10
11
|
import type { BaseLanguageClient, Middleware } from 'vscode-languageclient';
|
|
11
12
|
export declare const middleware: Middleware;
|
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.supportLabsVersion = exports.parseServerCommand = exports.middleware = exports.takeOverModeActive = exports.getTsdk = exports.activateTsVersionStatusItem = exports.activateServerSys = exports.activateTsConfigStatusItem = exports.activateReloadProjects = exports.activateFindFileReferences = exports.activateWriteVirtualFiles = exports.activateAutoInsertion = void 0;
|
|
4
18
|
const vscode = require("vscode");
|
|
5
|
-
var autoInsertion_1 = require("./features/autoInsertion");
|
|
19
|
+
var autoInsertion_1 = require("./lib/features/autoInsertion");
|
|
6
20
|
Object.defineProperty(exports, "activateAutoInsertion", { enumerable: true, get: function () { return autoInsertion_1.activate; } });
|
|
7
|
-
var writeVirtualFiles_1 = require("./features/writeVirtualFiles");
|
|
21
|
+
var writeVirtualFiles_1 = require("./lib/features/writeVirtualFiles");
|
|
8
22
|
Object.defineProperty(exports, "activateWriteVirtualFiles", { enumerable: true, get: function () { return writeVirtualFiles_1.activate; } });
|
|
9
|
-
var fileReferences_1 = require("./features/fileReferences");
|
|
23
|
+
var fileReferences_1 = require("./lib/features/fileReferences");
|
|
10
24
|
Object.defineProperty(exports, "activateFindFileReferences", { enumerable: true, get: function () { return fileReferences_1.activate; } });
|
|
11
|
-
var reloadProject_1 = require("./features/reloadProject");
|
|
25
|
+
var reloadProject_1 = require("./lib/features/reloadProject");
|
|
12
26
|
Object.defineProperty(exports, "activateReloadProjects", { enumerable: true, get: function () { return reloadProject_1.activate; } });
|
|
13
|
-
var tsconfig_1 = require("./features/tsconfig");
|
|
27
|
+
var tsconfig_1 = require("./lib/features/tsconfig");
|
|
14
28
|
Object.defineProperty(exports, "activateTsConfigStatusItem", { enumerable: true, get: function () { return tsconfig_1.activate; } });
|
|
15
|
-
var serverSys_1 = require("./features/serverSys");
|
|
29
|
+
var serverSys_1 = require("./lib/features/serverSys");
|
|
16
30
|
Object.defineProperty(exports, "activateServerSys", { enumerable: true, get: function () { return serverSys_1.activate; } });
|
|
17
|
-
var tsVersion_1 = require("./features/tsVersion");
|
|
31
|
+
var tsVersion_1 = require("./lib/features/tsVersion");
|
|
18
32
|
Object.defineProperty(exports, "activateTsVersionStatusItem", { enumerable: true, get: function () { return tsVersion_1.activate; } });
|
|
19
33
|
Object.defineProperty(exports, "getTsdk", { enumerable: true, get: function () { return tsVersion_1.getTsdk; } });
|
|
34
|
+
__exportStar(require("vscode-languageclient"), exports);
|
|
20
35
|
function takeOverModeActive(context) {
|
|
21
36
|
if (vscode.workspace.getConfiguration('volar').get('takeOverMode.extension') === context.extension.id) {
|
|
22
37
|
return !vscode.extensions.getExtension('vscode.typescript-language-features');
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.activate = void 0;
|
|
4
|
+
const vscode = require("vscode");
|
|
5
|
+
const protocol_1 = require("@volar/language-server/protocol");
|
|
6
|
+
async function activate(client) {
|
|
7
|
+
const subscriptions = [];
|
|
8
|
+
const textDecoder = new TextDecoder();
|
|
9
|
+
const jobs = new Map();
|
|
10
|
+
const progressAssets = new Set();
|
|
11
|
+
let startProgress = false;
|
|
12
|
+
let totalJobs = 0;
|
|
13
|
+
addRequestHandlers();
|
|
14
|
+
subscriptions.push(client.onDidChangeState(() => {
|
|
15
|
+
if (client.state === 2) {
|
|
16
|
+
addRequestHandlers();
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
return vscode.Disposable.from(...subscriptions);
|
|
20
|
+
// To avoid hitting the API hourly limit, we keep requests as low as possible.
|
|
21
|
+
function addRequestHandlers() {
|
|
22
|
+
subscriptions.push(client.onRequest(protocol_1.FsStatRequest.type, stat));
|
|
23
|
+
subscriptions.push(client.onRequest(protocol_1.FsReadFileRequest.type, uri => {
|
|
24
|
+
return withProgress(() => readFile(uri), uri);
|
|
25
|
+
}));
|
|
26
|
+
subscriptions.push(client.onRequest(protocol_1.FsReadDirectoryRequest.type, uri => {
|
|
27
|
+
return withProgress(() => readDirectory(uri), uri);
|
|
28
|
+
}));
|
|
29
|
+
async function withProgress(fn, asset) {
|
|
30
|
+
if (progressAssets.has(asset)) {
|
|
31
|
+
return await fn();
|
|
32
|
+
}
|
|
33
|
+
progressAssets.add(asset);
|
|
34
|
+
asset = vscode.Uri.parse(asset).path;
|
|
35
|
+
totalJobs++;
|
|
36
|
+
let job;
|
|
37
|
+
try {
|
|
38
|
+
job = fn();
|
|
39
|
+
jobs.set(job, asset);
|
|
40
|
+
if (!startProgress && jobs.size >= 2) {
|
|
41
|
+
startProgress = true;
|
|
42
|
+
vscode.window.withProgress({ location: vscode.ProgressLocation.Window }, async (progress) => {
|
|
43
|
+
progress.report({
|
|
44
|
+
message: `Loading ${totalJobs} resources: ${asset}`
|
|
45
|
+
});
|
|
46
|
+
while (jobs.size) {
|
|
47
|
+
for (const [_, asset] of jobs) {
|
|
48
|
+
progress.report({
|
|
49
|
+
message: `Loading ${totalJobs} resources: ${asset}`,
|
|
50
|
+
});
|
|
51
|
+
await sleep(100);
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
startProgress = false;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return await job;
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
jobs.delete(job);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function stat(uri) {
|
|
65
|
+
// return early
|
|
66
|
+
const dirUri = uri.substring(0, uri.lastIndexOf('/'));
|
|
67
|
+
const baseName = uri.substring(uri.lastIndexOf('/') + 1);
|
|
68
|
+
const entries = await readDirectory(dirUri);
|
|
69
|
+
if (!entries.some(entry => entry[0] === baseName)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
73
|
+
return await _stat(uri2);
|
|
74
|
+
}
|
|
75
|
+
async function readFile(uri) {
|
|
76
|
+
// return early
|
|
77
|
+
const dirUri = uri.substring(0, uri.lastIndexOf('/'));
|
|
78
|
+
const baseName = uri.substring(uri.lastIndexOf('/') + 1);
|
|
79
|
+
const entries = await readDirectory(dirUri);
|
|
80
|
+
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
81
|
+
if (!entries.some(entry => entry[0] === baseName && entry[1] === vscode.FileType.File)) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
return await _readFile(uri2);
|
|
85
|
+
}
|
|
86
|
+
async function readDirectory(uri) {
|
|
87
|
+
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
88
|
+
return await (await _readDirectory(uri2))
|
|
89
|
+
.filter(([name]) => !name.startsWith('.'));
|
|
90
|
+
}
|
|
91
|
+
async function _readFile(uri) {
|
|
92
|
+
try {
|
|
93
|
+
return textDecoder.decode(await vscode.workspace.fs.readFile(uri));
|
|
94
|
+
}
|
|
95
|
+
catch { }
|
|
96
|
+
}
|
|
97
|
+
async function _readDirectory(uri) {
|
|
98
|
+
try {
|
|
99
|
+
return await vscode.workspace.fs.readDirectory(uri);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function _stat(uri) {
|
|
106
|
+
try {
|
|
107
|
+
return await vscode.workspace.fs.stat(uri);
|
|
108
|
+
}
|
|
109
|
+
catch { }
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.activate = activate;
|
|
114
|
+
function sleep(ms) {
|
|
115
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=serverSys.js.map
|
package/node.d.ts
ADDED
package/node.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("vscode-languageclient/browser"), exports);
|
|
18
|
+
//# sourceMappingURL=node.js.map
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/vscode",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"main": "out/index.js",
|
|
3
|
+
"version": "1.11.0",
|
|
5
4
|
"license": "MIT",
|
|
6
5
|
"files": [
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"**/*.js",
|
|
7
|
+
"**/*.d.ts"
|
|
9
8
|
],
|
|
10
9
|
"repository": {
|
|
11
10
|
"type": "git",
|
|
@@ -13,23 +12,15 @@
|
|
|
13
12
|
"directory": "packages/vscode"
|
|
14
13
|
},
|
|
15
14
|
"dependencies": {
|
|
16
|
-
"@volar/language-server": "1.
|
|
15
|
+
"@volar/language-server": "1.11.0",
|
|
17
16
|
"path-browserify": "^1.0.1",
|
|
17
|
+
"vscode-languageclient": "^9.0.1",
|
|
18
18
|
"vscode-nls": "^5.2.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/node": "latest",
|
|
22
22
|
"@types/path-browserify": "latest",
|
|
23
|
-
"@types/vscode": "^1.82.0"
|
|
24
|
-
"vscode-languageclient": "^9.0.1"
|
|
23
|
+
"@types/vscode": "^1.82.0"
|
|
25
24
|
},
|
|
26
|
-
"
|
|
27
|
-
"vscode-languageclient": "^9.0.1"
|
|
28
|
-
},
|
|
29
|
-
"peerDependenciesMeta": {
|
|
30
|
-
"vscode-languageclient": {
|
|
31
|
-
"optional": true
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
"gitHead": "7bf9da2be16293e5dd5d7ac886d0193c00749ff2"
|
|
25
|
+
"gitHead": "e3f563cbbf4cc03c058f5df38df0498034e5feb5"
|
|
35
26
|
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.activate = void 0;
|
|
4
|
-
const vscode = require("vscode");
|
|
5
|
-
const protocol_1 = require("@volar/language-server/protocol");
|
|
6
|
-
async function activate(client) {
|
|
7
|
-
const subscriptions = [];
|
|
8
|
-
const textDecoder = new TextDecoder();
|
|
9
|
-
addHandle();
|
|
10
|
-
subscriptions.push(client.onDidChangeState(() => {
|
|
11
|
-
if (client.state === 2) {
|
|
12
|
-
addHandle();
|
|
13
|
-
}
|
|
14
|
-
}));
|
|
15
|
-
return vscode.Disposable.from(...subscriptions);
|
|
16
|
-
function addHandle() {
|
|
17
|
-
subscriptions.push(client.onRequest(protocol_1.FsStatRequest.type, async (uri) => {
|
|
18
|
-
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
19
|
-
try {
|
|
20
|
-
return await vscode.workspace.fs.stat(uri2);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
// ignore
|
|
24
|
-
}
|
|
25
|
-
}));
|
|
26
|
-
subscriptions.push(client.onRequest(protocol_1.FsReadFileRequest.type, async (uri) => {
|
|
27
|
-
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
28
|
-
try {
|
|
29
|
-
const data = await vscode.workspace.fs.readFile(uri2);
|
|
30
|
-
const text = textDecoder.decode(data);
|
|
31
|
-
return text;
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
// ignore
|
|
35
|
-
}
|
|
36
|
-
}));
|
|
37
|
-
subscriptions.push(client.onRequest(protocol_1.FsReadDirectoryRequest.type, async (uri) => {
|
|
38
|
-
try {
|
|
39
|
-
const uri2 = client.protocol2CodeConverter.asUri(uri);
|
|
40
|
-
let data = await vscode.workspace.fs.readDirectory(uri2);
|
|
41
|
-
data = data.filter(([name]) => !name.startsWith('.'));
|
|
42
|
-
return data;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.activate = activate;
|
|
51
|
-
//# sourceMappingURL=serverSys.js.map
|
/package/{out → lib}/common.d.ts
RENAMED
|
File without changes
|
/package/{out → lib}/common.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|