@volar/monaco 1.11.0 → 2.0.0-alpha.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.
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLanguageFeaturesProvider = void 0;
4
- const language_service_1 = require("@volar/language-service");
5
- const markers_1 = require("./markers");
6
- const monaco2protocol = require("./monaco2protocol");
7
- const protocol2monaco = require("./protocol2monaco");
8
- async function createLanguageFeaturesProvider(worker, getSyncUris) {
1
+ import { standardSemanticTokensLegend, } from '@volar/language-service';
2
+ import { fromCompletionContext, fromFormattingOptions, fromPosition, fromRange, fromSignatureHelpContext, toCodeAction, toCodeLens, toColorInformation, toColorPresentation, toCompletionItem, toCompletionList, toDocumentHighlight, toDocumentSymbol, toFoldingRange, toHover, toInlayHint, toLink, toLocation, toLocationLink, toRange, toSelectionRange, toSignatureHelp, toTextEdit, toWorkspaceEdit, } from 'monaco-languageserver-types';
3
+ import { markers } from './markers.js';
4
+ export async function createLanguageFeaturesProvider(worker, getSyncUris) {
9
5
  const completionItems = new WeakMap();
10
6
  const codeLens = new WeakMap();
11
7
  const codeActions = new WeakMap();
@@ -19,11 +15,11 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
19
15
  signatureHelpTriggerCharacters: await languageService.getSignatureHelpTriggerCharacters(),
20
16
  signatureHelpRetriggerCharacters: await languageService.getSignatureHelpRetriggerCharacters(),
21
17
  getLegend() {
22
- return language_service_1.standardSemanticTokensLegend;
18
+ return standardSemanticTokensLegend;
23
19
  },
24
20
  async provideDocumentSemanticTokens(model, _lastResultId) {
25
21
  const languageService = await worker.withSyncedResources(getSyncUris());
26
- const codeResult = await languageService.getSemanticTokens(model.uri.toString(), undefined, language_service_1.standardSemanticTokensLegend);
22
+ const codeResult = await languageService.getSemanticTokens(model.uri.toString(), undefined, standardSemanticTokensLegend);
27
23
  if (codeResult) {
28
24
  return {
29
25
  resultId: codeResult.resultId,
@@ -33,7 +29,7 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
33
29
  },
34
30
  async provideDocumentRangeSemanticTokens(model, range) {
35
31
  const languageService = await worker.withSyncedResources(getSyncUris());
36
- const codeResult = await languageService.getSemanticTokens(model.uri.toString(), monaco2protocol.asRange(range), language_service_1.standardSemanticTokensLegend);
32
+ const codeResult = await languageService.getSemanticTokens(model.uri.toString(), fromRange(range), standardSemanticTokensLegend);
37
33
  if (codeResult) {
38
34
  return {
39
35
  resultId: codeResult.resultId,
@@ -46,22 +42,22 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
46
42
  const languageService = await worker.withSyncedResources(getSyncUris());
47
43
  const codeResult = await languageService.findDocumentSymbols(model.uri.toString());
48
44
  if (codeResult) {
49
- return codeResult.map(protocol2monaco.asDocumentSymbol);
45
+ return codeResult.map(toDocumentSymbol);
50
46
  }
51
47
  },
52
48
  async provideDocumentHighlights(model, position) {
53
49
  const languageService = await worker.withSyncedResources(getSyncUris());
54
- const codeResult = await languageService.findDocumentHighlights(model.uri.toString(), monaco2protocol.asPosition(position));
50
+ const codeResult = await languageService.findDocumentHighlights(model.uri.toString(), fromPosition(position));
55
51
  if (codeResult) {
56
- return codeResult.map(protocol2monaco.asDocumentHighlight);
52
+ return codeResult.map(toDocumentHighlight);
57
53
  }
58
54
  },
59
55
  async provideLinkedEditingRanges(model, position) {
60
56
  const languageService = await worker.withSyncedResources(getSyncUris());
61
- const codeResult = await languageService.findLinkedEditingRanges(model.uri.toString(), monaco2protocol.asPosition(position));
57
+ const codeResult = await languageService.findLinkedEditingRanges(model.uri.toString(), fromPosition(position));
62
58
  if (codeResult) {
63
59
  return {
64
- ranges: codeResult.ranges.map(protocol2monaco.asRange),
60
+ ranges: codeResult.ranges.map(toRange),
65
61
  wordPattern: codeResult.wordPattern
66
62
  ? new RegExp(codeResult.wordPattern)
67
63
  : undefined,
@@ -70,30 +66,30 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
70
66
  },
71
67
  async provideDefinition(model, position) {
72
68
  const languageService = await worker.withSyncedResources(getSyncUris());
73
- const codeResult = await languageService.findDefinition(model.uri.toString(), monaco2protocol.asPosition(position));
69
+ const codeResult = await languageService.findDefinition(model.uri.toString(), fromPosition(position));
74
70
  if (codeResult) {
75
- return codeResult.map(protocol2monaco.asLocation);
71
+ return codeResult.map(toLocationLink);
76
72
  }
77
73
  },
78
74
  async provideImplementation(model, position) {
79
75
  const languageService = await worker.withSyncedResources(getSyncUris());
80
- const codeResult = await languageService.findImplementations(model.uri.toString(), monaco2protocol.asPosition(position));
76
+ const codeResult = await languageService.findImplementations(model.uri.toString(), fromPosition(position));
81
77
  if (codeResult) {
82
- return codeResult.map(protocol2monaco.asLocation);
78
+ return codeResult.map(toLocationLink);
83
79
  }
84
80
  },
85
81
  async provideTypeDefinition(model, position) {
86
82
  const languageService = await worker.withSyncedResources(getSyncUris());
87
- const codeResult = await languageService.findTypeDefinition(model.uri.toString(), monaco2protocol.asPosition(position));
83
+ const codeResult = await languageService.findTypeDefinition(model.uri.toString(), fromPosition(position));
88
84
  if (codeResult) {
89
- return codeResult.map(protocol2monaco.asLocation);
85
+ return codeResult.map(toLocationLink);
90
86
  }
91
87
  },
92
88
  async provideCodeLenses(model) {
93
89
  const languageService = await worker.withSyncedResources(getSyncUris());
94
90
  const codeResult = await languageService.doCodeLens(model.uri.toString());
95
91
  if (codeResult) {
96
- const monacoResult = codeResult.map(protocol2monaco.asCodeLens);
92
+ const monacoResult = codeResult.map(toCodeLens);
97
93
  for (let i = 0; i < monacoResult.length; i++) {
98
94
  codeLens.set(monacoResult[i], codeResult[i]);
99
95
  }
@@ -109,7 +105,7 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
109
105
  const languageService = await worker.withSyncedResources(getSyncUris());
110
106
  codeResult = await languageService.doCodeLensResolve(codeResult);
111
107
  if (codeResult) {
112
- monacoResult = protocol2monaco.asCodeLens(codeResult);
108
+ monacoResult = toCodeLens(codeResult);
113
109
  codeLens.set(monacoResult, codeResult);
114
110
  }
115
111
  }
@@ -118,18 +114,18 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
118
114
  async provideCodeActions(model, range, context) {
119
115
  const diagnostics = [];
120
116
  for (const marker of context.markers) {
121
- const diagnostic = markers_1.markers.get(marker);
117
+ const diagnostic = markers.get(marker);
122
118
  if (diagnostic) {
123
119
  diagnostics.push(diagnostic);
124
120
  }
125
121
  }
126
122
  const languageService = await worker.withSyncedResources(getSyncUris());
127
- const codeResult = await languageService.doCodeActions(model.uri.toString(), monaco2protocol.asRange(range), {
123
+ const codeResult = await languageService.doCodeActions(model.uri.toString(), fromRange(range), {
128
124
  diagnostics: diagnostics,
129
125
  only: context.only ? [context.only] : undefined,
130
126
  });
131
127
  if (codeResult) {
132
- const monacoResult = codeResult.map(protocol2monaco.asCodeAction);
128
+ const monacoResult = codeResult.map(codeAction => toCodeAction(codeAction));
133
129
  for (let i = 0; i < monacoResult.length; i++) {
134
130
  codeActions.set(monacoResult[i], codeResult[i]);
135
131
  }
@@ -145,7 +141,7 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
145
141
  const languageService = await worker.withSyncedResources(getSyncUris());
146
142
  codeResult = await languageService.doCodeActionResolve(codeResult);
147
143
  if (codeResult) {
148
- monacoResult = protocol2monaco.asCodeAction(codeResult);
144
+ monacoResult = toCodeAction(codeResult);
149
145
  codeActions.set(monacoResult, codeResult);
150
146
  }
151
147
  }
@@ -153,26 +149,26 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
153
149
  },
154
150
  async provideDocumentFormattingEdits(model, options) {
155
151
  const languageService = await worker.withSyncedResources(getSyncUris());
156
- const codeResult = await languageService.format(model.uri.toString(), monaco2protocol.asFormattingOptions(options), undefined, undefined);
152
+ const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), undefined, undefined);
157
153
  if (codeResult) {
158
- return codeResult.map(protocol2monaco.asTextEdit);
154
+ return codeResult.map(toTextEdit);
159
155
  }
160
156
  },
161
157
  async provideDocumentRangeFormattingEdits(model, range, options) {
162
158
  const languageService = await worker.withSyncedResources(getSyncUris());
163
- const codeResult = await languageService.format(model.uri.toString(), monaco2protocol.asFormattingOptions(options), monaco2protocol.asRange(range), undefined);
159
+ const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), fromRange(range), undefined);
164
160
  if (codeResult) {
165
- return codeResult.map(protocol2monaco.asTextEdit);
161
+ return codeResult.map(toTextEdit);
166
162
  }
167
163
  },
168
164
  async provideOnTypeFormattingEdits(model, position, ch, options) {
169
165
  const languageService = await worker.withSyncedResources(getSyncUris());
170
- const codeResult = await languageService.format(model.uri.toString(), monaco2protocol.asFormattingOptions(options), undefined, {
166
+ const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), undefined, {
171
167
  ch: ch,
172
- position: monaco2protocol.asPosition(position),
168
+ position: fromPosition(position),
173
169
  });
174
170
  if (codeResult) {
175
- return codeResult.map(protocol2monaco.asTextEdit);
171
+ return codeResult.map(toTextEdit);
176
172
  }
177
173
  },
178
174
  async provideLinks(model) {
@@ -181,7 +177,7 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
181
177
  if (codeResult) {
182
178
  return {
183
179
  links: codeResult.map(link => {
184
- const monacoLink = protocol2monaco.asLink(link);
180
+ const monacoLink = toLink(link);
185
181
  documentLinks.set(monacoLink, link);
186
182
  return monacoLink;
187
183
  }),
@@ -192,18 +188,21 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
192
188
  let codeResult = documentLinks.get(link);
193
189
  if (codeResult) {
194
190
  codeResult = await languageService.doDocumentLinkResolve(codeResult);
195
- return protocol2monaco.asLink(codeResult);
191
+ return toLink(codeResult);
196
192
  }
197
193
  return link;
198
194
  },
199
195
  async provideCompletionItems(model, position, context) {
200
196
  const languageService = await worker.withSyncedResources(getSyncUris());
201
- const codeResult = await languageService.doComplete(model.uri.toString(), monaco2protocol.asPosition(position), monaco2protocol.asCompletionContext(context));
202
- const fallbackRange = {
203
- start: monaco2protocol.asPosition(position),
204
- end: monaco2protocol.asPosition(position),
205
- };
206
- const monacoResult = protocol2monaco.asCompletionList(codeResult, fallbackRange);
197
+ const codeResult = await languageService.doComplete(model.uri.toString(), fromPosition(position), fromCompletionContext(context));
198
+ const monacoResult = toCompletionList(codeResult, {
199
+ range: {
200
+ startColumn: position.column,
201
+ startLineNumber: position.lineNumber,
202
+ endColumn: position.column,
203
+ endLineNumber: position.lineNumber,
204
+ }
205
+ });
207
206
  for (let i = 0; i < codeResult.items.length; i++) {
208
207
  completionItems.set(monacoResult.suggestions[i], codeResult.items[i]);
209
208
  }
@@ -214,10 +213,9 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
214
213
  if (codeItem) {
215
214
  const languageService = await worker.withSyncedResources(getSyncUris());
216
215
  codeItem = await languageService.doCompletionResolve(codeItem);
217
- const fallbackRange = 'replace' in monacoItem.range
218
- ? monaco2protocol.asRange(monacoItem.range.replace)
219
- : monaco2protocol.asRange(monacoItem.range);
220
- monacoItem = protocol2monaco.asCompletionItem(codeItem, fallbackRange);
216
+ monacoItem = toCompletionItem(codeItem, {
217
+ range: 'replace' in monacoItem.range ? monacoItem.range.replace : monacoItem.range
218
+ });
221
219
  completionItems.set(monacoItem, codeItem);
222
220
  }
223
221
  return monacoItem;
@@ -226,7 +224,7 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
226
224
  const languageService = await worker.withSyncedResources(getSyncUris());
227
225
  const codeResult = await languageService.findDocumentColors(model.uri.toString());
228
226
  if (codeResult) {
229
- return codeResult.map(protocol2monaco.asColorInformation);
227
+ return codeResult.map(toColorInformation);
230
228
  }
231
229
  },
232
230
  async provideColorPresentations(model, monacoResult) {
@@ -234,11 +232,11 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
234
232
  const codeResult = colorInfos.get(monacoResult);
235
233
  if (codeResult) {
236
234
  const codeColors = await languageService.getColorPresentations(model.uri.toString(), codeResult.color, {
237
- start: monaco2protocol.asPosition(model.getPositionAt(0)),
238
- end: monaco2protocol.asPosition(model.getPositionAt(model.getValueLength())),
235
+ start: fromPosition(model.getPositionAt(0)),
236
+ end: fromPosition(model.getPositionAt(model.getValueLength())),
239
237
  });
240
238
  if (codeColors) {
241
- return codeColors.map(protocol2monaco.asColorPresentation);
239
+ return codeColors.map(toColorPresentation);
242
240
  }
243
241
  }
244
242
  },
@@ -246,52 +244,52 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
246
244
  const languageService = await worker.withSyncedResources(getSyncUris());
247
245
  const codeResult = await languageService.getFoldingRanges(model.uri.toString());
248
246
  if (codeResult) {
249
- return codeResult.map(protocol2monaco.asFoldingRange);
247
+ return codeResult.map(toFoldingRange);
250
248
  }
251
249
  },
252
250
  async provideDeclaration(model, position) {
253
251
  const languageService = await worker.withSyncedResources(getSyncUris());
254
- const codeResult = await languageService.findDefinition(model.uri.toString(), monaco2protocol.asPosition(position));
252
+ const codeResult = await languageService.findDefinition(model.uri.toString(), fromPosition(position));
255
253
  if (codeResult) {
256
- return codeResult.map(protocol2monaco.asLocation);
254
+ return codeResult.map(toLocationLink);
257
255
  }
258
256
  },
259
257
  async provideSelectionRanges(model, positions) {
260
258
  const languageService = await worker.withSyncedResources(getSyncUris());
261
- const codeResults = await Promise.all(positions.map((position) => languageService.getSelectionRanges(model.uri.toString(), [monaco2protocol.asPosition(position)])));
262
- return codeResults.map((codeResult) => codeResult?.map(protocol2monaco.asSelectionRange) ?? []);
259
+ const codeResults = await Promise.all(positions.map((position) => languageService.getSelectionRanges(model.uri.toString(), [fromPosition(position)])));
260
+ return codeResults.map((codeResult) => codeResult?.map(toSelectionRange) ?? []);
263
261
  },
264
262
  async provideSignatureHelp(model, position, _token, context) {
265
263
  const languageService = await worker.withSyncedResources(getSyncUris());
266
- const codeResult = await languageService.getSignatureHelp(model.uri.toString(), monaco2protocol.asPosition(position), monaco2protocol.asSignatureHelpContext(context));
264
+ const codeResult = await languageService.getSignatureHelp(model.uri.toString(), fromPosition(position), fromSignatureHelpContext(context));
267
265
  if (codeResult) {
268
266
  return {
269
- value: protocol2monaco.asSignatureHelp(codeResult),
267
+ value: toSignatureHelp(codeResult),
270
268
  dispose: () => { },
271
269
  };
272
270
  }
273
271
  },
274
272
  async provideRenameEdits(model, position, newName) {
275
273
  const languageService = await worker.withSyncedResources(getSyncUris());
276
- const codeResult = await languageService.doRename(model.uri.toString(), monaco2protocol.asPosition(position), newName);
274
+ const codeResult = await languageService.doRename(model.uri.toString(), fromPosition(position), newName);
277
275
  if (codeResult) {
278
- return protocol2monaco.asWorkspaceEdit(codeResult);
276
+ return toWorkspaceEdit(codeResult);
279
277
  }
280
278
  },
281
279
  async provideReferences(model, position, _context) {
282
280
  const languageService = await worker.withSyncedResources(getSyncUris());
283
- const codeResult = await languageService.findReferences(model.uri.toString(), monaco2protocol.asPosition(position));
281
+ const codeResult = await languageService.findReferences(model.uri.toString(), fromPosition(position));
284
282
  if (codeResult) {
285
- return codeResult.map(protocol2monaco.asLocation);
283
+ return codeResult.map(toLocation);
286
284
  }
287
285
  },
288
286
  async provideInlayHints(model, range) {
289
287
  const languageService = await worker.withSyncedResources(getSyncUris());
290
- const codeResult = await languageService.getInlayHints(model.uri.toString(), monaco2protocol.asRange(range));
288
+ const codeResult = await languageService.getInlayHints(model.uri.toString(), fromRange(range));
291
289
  if (codeResult) {
292
290
  return {
293
291
  hints: codeResult.map(hint => {
294
- const monacoHint = protocol2monaco.asInlayHint(hint);
292
+ const monacoHint = toInlayHint(hint);
295
293
  inlayHints.set(monacoHint, hint);
296
294
  return monacoHint;
297
295
  }),
@@ -304,18 +302,17 @@ async function createLanguageFeaturesProvider(worker, getSyncUris) {
304
302
  const codeHint = inlayHints.get(hint);
305
303
  if (codeHint) {
306
304
  const resolvedCodeHint = await languageService.doInlayHintResolve(codeHint);
307
- return protocol2monaco.asInlayHint(resolvedCodeHint);
305
+ return toInlayHint(resolvedCodeHint);
308
306
  }
309
307
  return hint;
310
308
  },
311
309
  async provideHover(model, position) {
312
310
  const languageService = await worker.withSyncedResources(getSyncUris());
313
- const codeResult = await languageService.doHover(model.uri.toString(), monaco2protocol.asPosition(position));
311
+ const codeResult = await languageService.doHover(model.uri.toString(), fromPosition(position));
314
312
  if (codeResult) {
315
- return protocol2monaco.asHover(codeResult);
313
+ return toHover(codeResult);
316
314
  }
317
315
  },
318
316
  };
319
317
  }
320
- exports.createLanguageFeaturesProvider = createLanguageFeaturesProvider;
321
318
  //# sourceMappingURL=provider.js.map
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@volar/monaco",
3
- "version": "1.11.0",
3
+ "version": "2.0.0-alpha.0",
4
4
  "license": "MIT",
5
+ "type": "module",
5
6
  "files": [
6
7
  "**/*.js",
7
8
  "**/*.d.ts"
@@ -12,12 +13,14 @@
12
13
  "directory": "packages/monaco"
13
14
  },
14
15
  "dependencies": {
15
- "@volar/language-service": "1.11.0",
16
+ "@volar/language-service": "2.0.0-alpha.0",
17
+ "@volar/typescript": "2.0.0-alpha.0",
18
+ "monaco-languageserver-types": "^0.3.1",
19
+ "monaco-types": "^0.1.0",
16
20
  "vscode-uri": "^3.0.8"
17
21
  },
18
22
  "devDependencies": {
19
- "monaco-editor-core": "latest",
20
- "vscode-languageserver-protocol": "^3.17.5"
23
+ "monaco-editor-core": "latest"
21
24
  },
22
- "gitHead": "e3f563cbbf4cc03c058f5df38df0498034e5feb5"
25
+ "gitHead": "6a6be45a3b7983148d90541e7c68ef84c9155a7a"
23
26
  }
package/worker.d.ts CHANGED
@@ -1,7 +1,117 @@
1
- import { type TypeScriptLanguageHost, type Config, type ServiceEnvironment, type SharedModules, type LanguageService } from '@volar/language-service';
2
- import type * as monaco from 'monaco-editor-core';
3
- import type * as ts from 'typescript/lib/tsserverlibrary';
4
- export declare function createServiceEnvironment(): ServiceEnvironment;
5
- export declare function createLanguageHost(getMirrorModels: monaco.worker.IWorkerContext<any>['getMirrorModels'], env: ServiceEnvironment, rootPath: string, compilerOptions?: ts.CompilerOptions): TypeScriptLanguageHost;
6
- export declare function createLanguageService<T = {}>(modules: SharedModules, env: ServiceEnvironment, config: Config, host: TypeScriptLanguageHost, extraApis?: T): LanguageService & T;
7
- //# sourceMappingURL=worker.d.ts.map
1
+ import { LanguagePlugin, ServicePlugin } from '@volar/language-service';
2
+ import type * as monaco from 'monaco-types';
3
+ import type * as ts from 'typescript/lib/tsserverlibrary.js';
4
+ export declare function createSimpleWorkerService<T = {}>(languages: LanguagePlugin[], services: ServicePlugin[], getMirrorModels: monaco.worker.IWorkerContext<any>['getMirrorModels'], extraApis?: T): {
5
+ getTriggerCharacters: () => string[];
6
+ getAutoFormatTriggerCharacters: () => string[];
7
+ getSignatureHelpTriggerCharacters: () => string[];
8
+ getSignatureHelpRetriggerCharacters: () => string[];
9
+ format: (uri: string, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
10
+ ch: string;
11
+ position: import("@volar/language-service").Position;
12
+ } | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").TextEdit[] | undefined>;
13
+ getFoldingRanges: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
14
+ getSelectionRanges: (uri: string, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
15
+ findLinkedEditingRanges: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
16
+ findDocumentSymbols: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
17
+ findDocumentColors: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
18
+ getColorPresentations: (uri: string, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
19
+ doValidation: (uri: string, mode: "all" | "semantic" | "syntactic", token?: import("@volar/language-service").CancellationToken | undefined, response?: ((result: import("@volar/language-service").Diagnostic[]) => void) | undefined) => Promise<import("@volar/language-service").Diagnostic[]>;
20
+ findReferences: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Location[] | undefined>;
21
+ findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").NullableResult<import("@volar/language-service").Location[]>;
22
+ findDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
23
+ findTypeDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
24
+ findImplementations: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
25
+ prepareRename: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Range | {
26
+ range: import("@volar/language-service").Range;
27
+ placeholder: string;
28
+ } | {
29
+ message: string;
30
+ } | undefined>;
31
+ doRename: (uri: string, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
32
+ getEditsForFileRename: (oldUri: string, newUri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
33
+ getSemanticTokens: (uri: string, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken | undefined, _reportProgress?: ((tokens: import("@volar/language-service").SemanticTokens) => void) | undefined) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
34
+ doHover: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Hover | undefined>;
35
+ doComplete: (uri: string, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionList>;
36
+ doCodeActions: (uri: string, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
37
+ doCodeActionResolve: (item: import("@volar/language-service").CodeAction, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction>;
38
+ doCompletionResolve: (item: import("@volar/language-service").CompletionItem, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionItem>;
39
+ getSignatureHelp: (uri: string, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
40
+ doCodeLens: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens[]>;
41
+ doCodeLensResolve: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens>;
42
+ findDocumentHighlights: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
43
+ findDocumentLinks: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentLink[]>;
44
+ doDocumentLinkResolve: (item: import("@volar/language-service").DocumentLink, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentLink>;
45
+ findWorkspaceSymbols: (query: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceSymbol[]>;
46
+ doAutoInsert: (uri: string, position: import("@volar/language-service").Position, lastChange: {
47
+ range: import("@volar/language-service").Range;
48
+ text: string;
49
+ }, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<string | import("@volar/language-service").TextEdit | undefined>;
50
+ doDocumentDrop: (uri: string, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
51
+ getInlayHints: (uri: string, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
52
+ doInlayHintResolve: (item: import("@volar/language-service").InlayHint, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint>;
53
+ callHierarchy: {
54
+ doPrepare(uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
55
+ getIncomingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyIncomingCall[]>;
56
+ getOutgoingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyOutgoingCall[]>;
57
+ };
58
+ dispose: () => void;
59
+ context: import("@volar/language-service").ServiceContext;
60
+ } & T;
61
+ export declare function createTypeScriptWorkerService<T = {}>(ts: typeof import('typescript/lib/tsserverlibrary.js'), languages: LanguagePlugin[], services: ServicePlugin[], getMirrorModels: monaco.worker.IWorkerContext<any>['getMirrorModels'], compilerOptions: ts.CompilerOptions, extraApis?: T): {
62
+ getTriggerCharacters: () => string[];
63
+ getAutoFormatTriggerCharacters: () => string[];
64
+ getSignatureHelpTriggerCharacters: () => string[];
65
+ getSignatureHelpRetriggerCharacters: () => string[];
66
+ format: (uri: string, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
67
+ ch: string;
68
+ position: import("@volar/language-service").Position;
69
+ } | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").TextEdit[] | undefined>;
70
+ getFoldingRanges: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
71
+ getSelectionRanges: (uri: string, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
72
+ findLinkedEditingRanges: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
73
+ findDocumentSymbols: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
74
+ findDocumentColors: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
75
+ getColorPresentations: (uri: string, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
76
+ doValidation: (uri: string, mode: "all" | "semantic" | "syntactic", token?: import("@volar/language-service").CancellationToken | undefined, response?: ((result: import("@volar/language-service").Diagnostic[]) => void) | undefined) => Promise<import("@volar/language-service").Diagnostic[]>;
77
+ findReferences: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Location[] | undefined>;
78
+ findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").NullableResult<import("@volar/language-service").Location[]>;
79
+ findDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
80
+ findTypeDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
81
+ findImplementations: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
82
+ prepareRename: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Range | {
83
+ range: import("@volar/language-service").Range;
84
+ placeholder: string;
85
+ } | {
86
+ message: string;
87
+ } | undefined>;
88
+ doRename: (uri: string, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
89
+ getEditsForFileRename: (oldUri: string, newUri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
90
+ getSemanticTokens: (uri: string, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken | undefined, _reportProgress?: ((tokens: import("@volar/language-service").SemanticTokens) => void) | undefined) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
91
+ doHover: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Hover | undefined>;
92
+ doComplete: (uri: string, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionList>;
93
+ doCodeActions: (uri: string, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
94
+ doCodeActionResolve: (item: import("@volar/language-service").CodeAction, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction>;
95
+ doCompletionResolve: (item: import("@volar/language-service").CompletionItem, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionItem>;
96
+ getSignatureHelp: (uri: string, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
97
+ doCodeLens: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens[]>;
98
+ doCodeLensResolve: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens>;
99
+ findDocumentHighlights: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
100
+ findDocumentLinks: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentLink[]>;
101
+ doDocumentLinkResolve: (item: import("@volar/language-service").DocumentLink, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentLink>;
102
+ findWorkspaceSymbols: (query: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceSymbol[]>;
103
+ doAutoInsert: (uri: string, position: import("@volar/language-service").Position, lastChange: {
104
+ range: import("@volar/language-service").Range;
105
+ text: string;
106
+ }, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<string | import("@volar/language-service").TextEdit | undefined>;
107
+ doDocumentDrop: (uri: string, position: import("@volar/language-service").Position, dataTransfer: Map<string, import("@volar/language-service").DataTransferItem>, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentDropEdit | undefined>;
108
+ getInlayHints: (uri: string, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
109
+ doInlayHintResolve: (item: import("@volar/language-service").InlayHint, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint>;
110
+ callHierarchy: {
111
+ doPrepare(uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
112
+ getIncomingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyIncomingCall[]>;
113
+ getOutgoingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyOutgoingCall[]>;
114
+ };
115
+ dispose: () => void;
116
+ context: import("@volar/language-service").ServiceContext;
117
+ } & T;