@volar/monaco 1.11.1 → 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.
- package/README.md +1 -1
- package/index.d.ts +2 -3
- package/index.js +2 -18
- package/lib/editor.d.ts +3 -6
- package/lib/editor.js +129 -142
- package/lib/languages.d.ts +2 -9
- package/lib/languages.js +31 -42
- package/lib/markers.d.ts +3 -0
- package/lib/markers.js +2 -0
- package/lib/{utils/provider.d.ts → provider.d.ts} +1 -2
- package/lib/{utils/provider.js → provider.js} +65 -68
- package/package.json +8 -5
- package/worker.d.ts +117 -7
- package/worker.js +97 -63
- package/lib/utils/markers.d.ts +0 -4
- package/lib/utils/markers.js +0 -5
- package/lib/utils/monaco2protocol.d.ts +0 -14
- package/lib/utils/monaco2protocol.js +0 -100
- package/lib/utils/protocol2monaco.d.ts +0 -39
- package/lib/utils/protocol2monaco.js +0 -498
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
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,
|
|
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(),
|
|
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(
|
|
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(),
|
|
50
|
+
const codeResult = await languageService.findDocumentHighlights(model.uri.toString(), fromPosition(position));
|
|
55
51
|
if (codeResult) {
|
|
56
|
-
return codeResult.map(
|
|
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(),
|
|
57
|
+
const codeResult = await languageService.findLinkedEditingRanges(model.uri.toString(), fromPosition(position));
|
|
62
58
|
if (codeResult) {
|
|
63
59
|
return {
|
|
64
|
-
ranges: codeResult.ranges.map(
|
|
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(),
|
|
69
|
+
const codeResult = await languageService.findDefinition(model.uri.toString(), fromPosition(position));
|
|
74
70
|
if (codeResult) {
|
|
75
|
-
return codeResult.map(
|
|
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(),
|
|
76
|
+
const codeResult = await languageService.findImplementations(model.uri.toString(), fromPosition(position));
|
|
81
77
|
if (codeResult) {
|
|
82
|
-
return codeResult.map(
|
|
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(),
|
|
83
|
+
const codeResult = await languageService.findTypeDefinition(model.uri.toString(), fromPosition(position));
|
|
88
84
|
if (codeResult) {
|
|
89
|
-
return codeResult.map(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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(),
|
|
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(
|
|
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 =
|
|
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(),
|
|
152
|
+
const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), undefined, undefined);
|
|
157
153
|
if (codeResult) {
|
|
158
|
-
return codeResult.map(
|
|
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(),
|
|
159
|
+
const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), fromRange(range), undefined);
|
|
164
160
|
if (codeResult) {
|
|
165
|
-
return codeResult.map(
|
|
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(),
|
|
166
|
+
const codeResult = await languageService.format(model.uri.toString(), fromFormattingOptions(options), undefined, {
|
|
171
167
|
ch: ch,
|
|
172
|
-
position:
|
|
168
|
+
position: fromPosition(position),
|
|
173
169
|
});
|
|
174
170
|
if (codeResult) {
|
|
175
|
-
return codeResult.map(
|
|
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 =
|
|
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
|
|
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(),
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
-
|
|
218
|
-
?
|
|
219
|
-
|
|
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(
|
|
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:
|
|
238
|
-
end:
|
|
235
|
+
start: fromPosition(model.getPositionAt(0)),
|
|
236
|
+
end: fromPosition(model.getPositionAt(model.getValueLength())),
|
|
239
237
|
});
|
|
240
238
|
if (codeColors) {
|
|
241
|
-
return codeColors.map(
|
|
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(
|
|
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(),
|
|
252
|
+
const codeResult = await languageService.findDefinition(model.uri.toString(), fromPosition(position));
|
|
255
253
|
if (codeResult) {
|
|
256
|
-
return codeResult.map(
|
|
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(), [
|
|
262
|
-
return codeResults.map((codeResult) => codeResult?.map(
|
|
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(),
|
|
264
|
+
const codeResult = await languageService.getSignatureHelp(model.uri.toString(), fromPosition(position), fromSignatureHelpContext(context));
|
|
267
265
|
if (codeResult) {
|
|
268
266
|
return {
|
|
269
|
-
value:
|
|
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(),
|
|
274
|
+
const codeResult = await languageService.doRename(model.uri.toString(), fromPosition(position), newName);
|
|
277
275
|
if (codeResult) {
|
|
278
|
-
return
|
|
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(),
|
|
281
|
+
const codeResult = await languageService.findReferences(model.uri.toString(), fromPosition(position));
|
|
284
282
|
if (codeResult) {
|
|
285
|
-
return codeResult.map(
|
|
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(),
|
|
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 =
|
|
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
|
|
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(),
|
|
311
|
+
const codeResult = await languageService.doHover(model.uri.toString(), fromPosition(position));
|
|
314
312
|
if (codeResult) {
|
|
315
|
-
return
|
|
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": "
|
|
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": "
|
|
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": "
|
|
25
|
+
"gitHead": "6a6be45a3b7983148d90541e7c68ef84c9155a7a"
|
|
23
26
|
}
|
package/worker.d.ts
CHANGED
|
@@ -1,7 +1,117 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type * as monaco from 'monaco-
|
|
3
|
-
import type * as ts from 'typescript/lib/tsserverlibrary';
|
|
4
|
-
export declare function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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;
|