@volar/test-utils 2.4.0 → 2.4.2
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/README.md +1 -1
- package/index.d.ts +3 -1
- package/index.js +18 -4
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ The returned server handle provides several methods to interact with the languag
|
|
|
18
18
|
|
|
19
19
|
- `initialize(rootUri: string, initializationOptions: InitializationOptions)`: Initializes the language server.
|
|
20
20
|
- `openTextDocument(fileName: string, languageId: string)`: Opens a text document.
|
|
21
|
-
- `openUntitledDocument(
|
|
21
|
+
- `openUntitledDocument(languageId: string, content: string)`: Opens an untitled text document.
|
|
22
22
|
- `closeTextDocument(uri: string)`: Closes a text document.
|
|
23
23
|
- Various `send*Request` methods: Send language-related requests to the server.
|
|
24
24
|
|
package/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare function startLanguageServer(serverModule: string, cwd?: string |
|
|
|
9
9
|
initialize(rootUri: string | _.WorkspaceFolder[], initializationOptions: _._InitializeParams["initializationOptions"], capabilities?: _.ClientCapabilities, locale?: string): Promise<_.InitializeResult<any>>;
|
|
10
10
|
shutdown(): Promise<void>;
|
|
11
11
|
openTextDocument(fileName: string, languageId: string): Promise<TextDocument>;
|
|
12
|
-
openUntitledDocument(
|
|
12
|
+
openUntitledDocument(languageId: string, content: string): Promise<TextDocument>;
|
|
13
13
|
openInMemoryDocument(uri: string, languageId: string, content: string): Promise<TextDocument>;
|
|
14
14
|
closeTextDocument(uri: string): Promise<void>;
|
|
15
15
|
updateTextDocument(uri: string, edits: _.TextEdit[]): Promise<TextDocument>;
|
|
@@ -39,6 +39,8 @@ export declare function startLanguageServer(serverModule: string, cwd?: string |
|
|
|
39
39
|
sendColorPresentationRequest(uri: string, color: _.Color, range: _.Range): Promise<_.ColorPresentation[]>;
|
|
40
40
|
sendDocumentLinkRequest(uri: string): Promise<_.DocumentLink[] | null>;
|
|
41
41
|
sendDocumentLinkResolveRequest(link: _.DocumentLink): Promise<_.DocumentLink>;
|
|
42
|
+
sendInlayHintRequest(uri: string, range: _.Range): Promise<_.InlayHint[] | null>;
|
|
43
|
+
sendInlayHintResolveRequest(hint: _.InlayHint): Promise<_.InlayHint>;
|
|
42
44
|
};
|
|
43
45
|
export declare function printSnapshots(sourceScript: _.SourceScript<URI>): Generator<string, void, unknown>;
|
|
44
46
|
export declare function printSnapshot(sourceScript: {
|
package/index.js
CHANGED
|
@@ -18,6 +18,7 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
18
18
|
stdio: 'pipe',
|
|
19
19
|
});
|
|
20
20
|
const connection = _.createProtocolConnection(childProcess.stdout, childProcess.stdin);
|
|
21
|
+
const documentVersions = new Map();
|
|
21
22
|
const openedDocuments = new Map();
|
|
22
23
|
const settings = {};
|
|
23
24
|
let untitledCounter = 0;
|
|
@@ -68,7 +69,8 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
68
69
|
async openTextDocument(fileName, languageId) {
|
|
69
70
|
const uri = vscode_uri_1.URI.file(fileName).toString();
|
|
70
71
|
if (!openedDocuments.has(uri)) {
|
|
71
|
-
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, 0, fs.readFileSync(fileName, 'utf-8'));
|
|
72
|
+
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, (documentVersions.get(uri) ?? 0) + 1, fs.readFileSync(fileName, 'utf-8'));
|
|
73
|
+
documentVersions.set(uri, document.version);
|
|
72
74
|
openedDocuments.set(uri, document);
|
|
73
75
|
await connection.sendNotification(_.DidOpenTextDocumentNotification.type, {
|
|
74
76
|
textDocument: {
|
|
@@ -81,9 +83,10 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
81
83
|
}
|
|
82
84
|
return openedDocuments.get(uri);
|
|
83
85
|
},
|
|
84
|
-
async openUntitledDocument(
|
|
86
|
+
async openUntitledDocument(languageId, content) {
|
|
85
87
|
const uri = vscode_uri_1.URI.from({ scheme: 'untitled', path: `Untitled-${untitledCounter++}` }).toString();
|
|
86
|
-
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, 0, content);
|
|
88
|
+
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, (documentVersions.get(uri) ?? 0) + 1, content);
|
|
89
|
+
documentVersions.set(uri, document.version);
|
|
87
90
|
openedDocuments.set(uri, document);
|
|
88
91
|
await connection.sendNotification(_.DidOpenTextDocumentNotification.type, {
|
|
89
92
|
textDocument: {
|
|
@@ -100,7 +103,8 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
100
103
|
if (oldDocument) {
|
|
101
104
|
await this.closeTextDocument(uri);
|
|
102
105
|
}
|
|
103
|
-
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, (
|
|
106
|
+
const document = vscode_languageserver_textdocument_1.TextDocument.create(uri, languageId, (documentVersions.get(uri) ?? 0) + 1, content);
|
|
107
|
+
documentVersions.set(uri, document.version);
|
|
104
108
|
openedDocuments.set(uri, document);
|
|
105
109
|
await connection.sendNotification(_.DidOpenTextDocumentNotification.type, {
|
|
106
110
|
textDocument: {
|
|
@@ -124,6 +128,7 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
124
128
|
assert(document);
|
|
125
129
|
const newText = vscode_languageserver_textdocument_1.TextDocument.applyEdits(document, edits);
|
|
126
130
|
document = vscode_languageserver_textdocument_1.TextDocument.create(uri, document.languageId, document.version + 1, newText);
|
|
131
|
+
documentVersions.set(uri, document.version);
|
|
127
132
|
openedDocuments.set(uri, document);
|
|
128
133
|
await connection.sendNotification(_.DidChangeTextDocumentNotification.type, {
|
|
129
134
|
textDocument: {
|
|
@@ -280,6 +285,15 @@ function startLanguageServer(serverModule, cwd) {
|
|
|
280
285
|
sendDocumentLinkResolveRequest(link) {
|
|
281
286
|
return connection.sendRequest(_.DocumentLinkResolveRequest.type, link);
|
|
282
287
|
},
|
|
288
|
+
sendInlayHintRequest(uri, range) {
|
|
289
|
+
return connection.sendRequest(_.InlayHintRequest.type, {
|
|
290
|
+
textDocument: { uri },
|
|
291
|
+
range,
|
|
292
|
+
});
|
|
293
|
+
},
|
|
294
|
+
sendInlayHintResolveRequest(hint) {
|
|
295
|
+
return connection.sendRequest(_.InlayHintResolveRequest.type, hint);
|
|
296
|
+
},
|
|
283
297
|
};
|
|
284
298
|
function getConfiguration(section) {
|
|
285
299
|
if (section in settings) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/test-utils",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"@types/node": "latest"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@volar/language-core": "2.4.
|
|
19
|
-
"@volar/language-server": "2.4.
|
|
18
|
+
"@volar/language-core": "2.4.2",
|
|
19
|
+
"@volar/language-server": "2.4.2",
|
|
20
20
|
"vscode-languageserver-textdocument": "^1.0.11",
|
|
21
21
|
"vscode-uri": "^3.0.8"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "f384d55ef4ae21e9f9a6796c9676a4a710458ed9"
|
|
24
24
|
}
|