@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 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(content: string, languageId: string)`: Opens an untitled text document.
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(content: string, languageId: string): Promise<TextDocument>;
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(content, languageId) {
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, (oldDocument?.version ?? 0) + 1, content);
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.0",
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.0",
19
- "@volar/language-server": "2.4.0",
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": "7e98885cfe284451e655cf1c3954786b51aea2f8"
23
+ "gitHead": "f384d55ef4ae21e9f9a6796c9676a4a710458ed9"
24
24
  }