monaco-languageclient 0.12.0 → 0.13.0-next.10
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/dist/amd/connection.d.ts +15 -14
- package/dist/amd/connection.d.ts.map +1 -1
- package/dist/amd/connection.js +17 -15
- package/dist/amd/connection.js.map +1 -1
- package/dist/amd/console-window.js +1 -0
- package/dist/amd/console-window.js.map +1 -1
- package/dist/amd/disposable.js +2 -1
- package/dist/amd/disposable.js.map +1 -1
- package/dist/amd/index.js +20 -13
- package/dist/amd/index.js.map +1 -1
- package/dist/amd/monaco-commands.d.ts +3 -2
- package/dist/amd/monaco-commands.d.ts.map +1 -1
- package/dist/amd/monaco-commands.js +4 -6
- package/dist/amd/monaco-commands.js.map +1 -1
- package/dist/amd/monaco-converter.d.ts +30 -17
- package/dist/amd/monaco-converter.d.ts.map +1 -1
- package/dist/amd/monaco-converter.js +204 -108
- package/dist/amd/monaco-converter.js.map +1 -1
- package/dist/amd/monaco-diagnostic-collection.d.ts +9 -8
- package/dist/amd/monaco-diagnostic-collection.d.ts.map +1 -1
- package/dist/amd/monaco-diagnostic-collection.js +12 -7
- package/dist/amd/monaco-diagnostic-collection.js.map +1 -1
- package/dist/amd/monaco-language-client.d.ts +4 -2
- package/dist/amd/monaco-language-client.d.ts.map +1 -1
- package/dist/amd/monaco-language-client.js +22 -8
- package/dist/amd/monaco-language-client.js.map +1 -1
- package/dist/amd/monaco-languages.d.ts +9 -4
- package/dist/amd/monaco-languages.d.ts.map +1 -1
- package/dist/amd/monaco-languages.js +80 -25
- package/dist/amd/monaco-languages.js.map +1 -1
- package/dist/amd/monaco-services.d.ts +3 -2
- package/dist/amd/monaco-services.d.ts.map +1 -1
- package/dist/amd/monaco-services.js +9 -8
- package/dist/amd/monaco-services.js.map +1 -1
- package/dist/amd/monaco-workspace.d.ts +9 -8
- package/dist/amd/monaco-workspace.d.ts.map +1 -1
- package/dist/amd/monaco-workspace.js +16 -13
- package/dist/amd/monaco-workspace.js.map +1 -1
- package/dist/amd/services.d.ts +16 -5
- package/dist/amd/services.d.ts.map +1 -1
- package/dist/amd/services.js +19 -10
- package/dist/amd/services.js.map +1 -1
- package/dist/amd/vscode-api.d.ts.map +1 -1
- package/dist/amd/vscode-api.js +134 -8
- package/dist/amd/vscode-api.js.map +1 -1
- package/dist/amd/vscode-compatibility.d.ts +2 -0
- package/dist/amd/vscode-compatibility.d.ts.map +1 -1
- package/lib/connection.d.ts +15 -14
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +18 -16
- package/lib/connection.js.map +1 -1
- package/lib/console-window.js +1 -0
- package/lib/console-window.js.map +1 -1
- package/lib/disposable.js +2 -1
- package/lib/disposable.js.map +1 -1
- package/lib/index.js +20 -13
- package/lib/index.js.map +1 -1
- package/lib/monaco-commands.d.ts +3 -2
- package/lib/monaco-commands.d.ts.map +1 -1
- package/lib/monaco-commands.js +4 -6
- package/lib/monaco-commands.js.map +1 -1
- package/lib/monaco-converter.d.ts +30 -17
- package/lib/monaco-converter.d.ts.map +1 -1
- package/lib/monaco-converter.js +204 -112
- package/lib/monaco-converter.js.map +1 -1
- package/lib/monaco-diagnostic-collection.d.ts +9 -8
- package/lib/monaco-diagnostic-collection.d.ts.map +1 -1
- package/lib/monaco-diagnostic-collection.js +12 -7
- package/lib/monaco-diagnostic-collection.js.map +1 -1
- package/lib/monaco-language-client.d.ts +4 -2
- package/lib/monaco-language-client.d.ts.map +1 -1
- package/lib/monaco-language-client.js +31 -15
- package/lib/monaco-language-client.js.map +1 -1
- package/lib/monaco-languages.d.ts +9 -4
- package/lib/monaco-languages.d.ts.map +1 -1
- package/lib/monaco-languages.js +80 -29
- package/lib/monaco-languages.js.map +1 -1
- package/lib/monaco-services.d.ts +3 -2
- package/lib/monaco-services.d.ts.map +1 -1
- package/lib/monaco-services.js +9 -12
- package/lib/monaco-services.js.map +1 -1
- package/lib/monaco-workspace.d.ts +9 -8
- package/lib/monaco-workspace.d.ts.map +1 -1
- package/lib/monaco-workspace.js +16 -12
- package/lib/monaco-workspace.js.map +1 -1
- package/lib/services.d.ts +16 -5
- package/lib/services.d.ts.map +1 -1
- package/lib/services.js +19 -9
- package/lib/services.js.map +1 -1
- package/lib/vscode-api.d.ts.map +1 -1
- package/lib/vscode-api.js +134 -7
- package/lib/vscode-api.js.map +1 -1
- package/lib/vscode-compatibility.d.ts +2 -0
- package/lib/vscode-compatibility.d.ts.map +1 -1
- package/package.json +10 -7
- package/src/connection.ts +24 -22
- package/src/monaco-commands.ts +3 -5
- package/src/monaco-converter.ts +252 -160
- package/src/monaco-diagnostic-collection.ts +14 -10
- package/src/monaco-language-client.ts +25 -15
- package/src/monaco-languages.ts +86 -25
- package/src/monaco-services.ts +9 -8
- package/src/monaco-workspace.ts +23 -21
- package/src/services.ts +28 -9
- package/src/typings/monaco/index.d.ts +15 -50
- package/src/vscode-api.ts +164 -35
- package/yarn-error.log +77 -0
- package/License.txt +0 -11
- package/src/typings/glob-to-regexp/index.d.ts +0 -13
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
define(["require", "exports", "vscode-languageserver-protocol", "vscode-languageserver-protocol/lib/utils/is", "./services"], function (require, exports, ls, Is, services_1) {
|
|
1
|
+
define(["require", "exports", "vscode-languageserver-protocol", "vscode-languageserver-protocol/lib/common/utils/is", "./services"], function (require, exports, ls, Is, services_1) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ProtocolToMonacoConverter = exports.MonacoToProtocolConverter = exports.ProtocolCodeAction = exports.ProtocolCompletionItem = exports.ProtocolCodeLens = exports.ProtocolDocumentLink = void 0;
|
|
4
5
|
var ProtocolDocumentLink;
|
|
5
6
|
(function (ProtocolDocumentLink) {
|
|
6
7
|
function is(item) {
|
|
@@ -22,10 +23,20 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
22
23
|
}
|
|
23
24
|
ProtocolCompletionItem.is = is;
|
|
24
25
|
})(ProtocolCompletionItem = exports.ProtocolCompletionItem || (exports.ProtocolCompletionItem = {}));
|
|
26
|
+
var ProtocolCodeAction;
|
|
27
|
+
(function (ProtocolCodeAction) {
|
|
28
|
+
function is(item) {
|
|
29
|
+
return !!item && 'data' in item;
|
|
30
|
+
}
|
|
31
|
+
ProtocolCodeAction.is = is;
|
|
32
|
+
})(ProtocolCodeAction = exports.ProtocolCodeAction || (exports.ProtocolCodeAction = {}));
|
|
25
33
|
function isRangeReplace(v) {
|
|
26
34
|
return v.insert !== undefined;
|
|
27
35
|
}
|
|
28
36
|
class MonacoToProtocolConverter {
|
|
37
|
+
constructor(_monaco) {
|
|
38
|
+
this._monaco = _monaco;
|
|
39
|
+
}
|
|
29
40
|
asPosition(lineNumber, column) {
|
|
30
41
|
const line = lineNumber === undefined || lineNumber === null ? undefined : lineNumber - 1;
|
|
31
42
|
const character = column === undefined || column === null ? undefined : column - 1;
|
|
@@ -95,7 +106,8 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
95
106
|
return {
|
|
96
107
|
documentation: this.asMarkupContent(signatureInformation.documentation),
|
|
97
108
|
label: signatureInformation.label,
|
|
98
|
-
parameters: signatureInformation.parameters.map(paramInfo => this.asParameterInformation(paramInfo))
|
|
109
|
+
parameters: signatureInformation.parameters.map(paramInfo => this.asParameterInformation(paramInfo)),
|
|
110
|
+
activeParameter: signatureInformation.activeParameter
|
|
99
111
|
};
|
|
100
112
|
}
|
|
101
113
|
asParameterInformation(parameterInformation) {
|
|
@@ -118,9 +130,9 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
118
130
|
}
|
|
119
131
|
asSignatureHelpTriggerKind(triggerKind) {
|
|
120
132
|
switch (triggerKind) {
|
|
121
|
-
case
|
|
133
|
+
case this._monaco.languages.SignatureHelpTriggerKind.ContentChange:
|
|
122
134
|
return services_1.SignatureHelpTriggerKind.ContentChange;
|
|
123
|
-
case
|
|
135
|
+
case this._monaco.languages.SignatureHelpTriggerKind.TriggerCharacter:
|
|
124
136
|
return services_1.SignatureHelpTriggerKind.TriggerCharacter;
|
|
125
137
|
default:
|
|
126
138
|
return services_1.SignatureHelpTriggerKind.Invoke;
|
|
@@ -128,28 +140,27 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
128
140
|
}
|
|
129
141
|
asCompletionTriggerKind(triggerKind) {
|
|
130
142
|
switch (triggerKind) {
|
|
131
|
-
case
|
|
143
|
+
case this._monaco.languages.CompletionTriggerKind.TriggerCharacter:
|
|
132
144
|
return services_1.CompletionTriggerKind.TriggerCharacter;
|
|
133
|
-
case
|
|
145
|
+
case this._monaco.languages.CompletionTriggerKind.TriggerForIncompleteCompletions:
|
|
134
146
|
return services_1.CompletionTriggerKind.TriggerForIncompleteCompletions;
|
|
135
147
|
default:
|
|
136
148
|
return services_1.CompletionTriggerKind.Invoked;
|
|
137
149
|
}
|
|
138
150
|
}
|
|
139
151
|
asCompletionItem(item) {
|
|
152
|
+
var _a;
|
|
140
153
|
const result = { label: item.label };
|
|
141
154
|
const protocolItem = ProtocolCompletionItem.is(item) ? item : undefined;
|
|
142
155
|
if (item.detail) {
|
|
143
156
|
result.detail = item.detail;
|
|
144
157
|
}
|
|
145
|
-
// We only send items back we created. So this can't be something else than
|
|
146
|
-
// a string right now.
|
|
147
158
|
if (item.documentation) {
|
|
148
|
-
if (
|
|
159
|
+
if (typeof item.documentation === 'string') {
|
|
149
160
|
result.documentation = item.documentation;
|
|
150
161
|
}
|
|
151
162
|
else {
|
|
152
|
-
result.documentation = this.asDocumentation(protocolItem.documentationFormat, item.documentation);
|
|
163
|
+
result.documentation = this.asDocumentation((_a = protocolItem === null || protocolItem === void 0 ? void 0 : protocolItem.documentationFormat) !== null && _a !== void 0 ? _a : services_1.MarkupKind.Markdown, item.documentation);
|
|
153
164
|
}
|
|
154
165
|
}
|
|
155
166
|
if (item.filterText) {
|
|
@@ -190,32 +201,32 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
190
201
|
return original;
|
|
191
202
|
}
|
|
192
203
|
switch (value) {
|
|
193
|
-
case
|
|
194
|
-
case
|
|
195
|
-
case
|
|
196
|
-
case
|
|
197
|
-
case
|
|
198
|
-
case
|
|
199
|
-
case
|
|
200
|
-
case
|
|
201
|
-
case
|
|
202
|
-
case
|
|
203
|
-
case
|
|
204
|
-
case
|
|
205
|
-
case
|
|
206
|
-
case
|
|
207
|
-
case
|
|
208
|
-
case
|
|
209
|
-
case
|
|
210
|
-
case
|
|
211
|
-
case
|
|
212
|
-
case
|
|
213
|
-
case
|
|
214
|
-
case
|
|
215
|
-
case
|
|
216
|
-
case
|
|
217
|
-
case
|
|
218
|
-
case
|
|
204
|
+
case this._monaco.languages.CompletionItemKind.Method: return services_1.CompletionItemKind.Method;
|
|
205
|
+
case this._monaco.languages.CompletionItemKind.Function: return services_1.CompletionItemKind.Function;
|
|
206
|
+
case this._monaco.languages.CompletionItemKind.Constructor: return services_1.CompletionItemKind.Constructor;
|
|
207
|
+
case this._monaco.languages.CompletionItemKind.Field: return services_1.CompletionItemKind.Field;
|
|
208
|
+
case this._monaco.languages.CompletionItemKind.Variable: return services_1.CompletionItemKind.Variable;
|
|
209
|
+
case this._monaco.languages.CompletionItemKind.Class: return services_1.CompletionItemKind.Class;
|
|
210
|
+
case this._monaco.languages.CompletionItemKind.Struct: return services_1.CompletionItemKind.Struct;
|
|
211
|
+
case this._monaco.languages.CompletionItemKind.Interface: return services_1.CompletionItemKind.Interface;
|
|
212
|
+
case this._monaco.languages.CompletionItemKind.Module: return services_1.CompletionItemKind.Module;
|
|
213
|
+
case this._monaco.languages.CompletionItemKind.Property: return services_1.CompletionItemKind.Property;
|
|
214
|
+
case this._monaco.languages.CompletionItemKind.Event: return services_1.CompletionItemKind.Event;
|
|
215
|
+
case this._monaco.languages.CompletionItemKind.Operator: return services_1.CompletionItemKind.Operator;
|
|
216
|
+
case this._monaco.languages.CompletionItemKind.Unit: return services_1.CompletionItemKind.Unit;
|
|
217
|
+
case this._monaco.languages.CompletionItemKind.Value: return services_1.CompletionItemKind.Value;
|
|
218
|
+
case this._monaco.languages.CompletionItemKind.Constant: return services_1.CompletionItemKind.Constant;
|
|
219
|
+
case this._monaco.languages.CompletionItemKind.Enum: return services_1.CompletionItemKind.Enum;
|
|
220
|
+
case this._monaco.languages.CompletionItemKind.EnumMember: return services_1.CompletionItemKind.EnumMember;
|
|
221
|
+
case this._monaco.languages.CompletionItemKind.Keyword: return services_1.CompletionItemKind.Keyword;
|
|
222
|
+
case this._monaco.languages.CompletionItemKind.Text: return services_1.CompletionItemKind.Text;
|
|
223
|
+
case this._monaco.languages.CompletionItemKind.Color: return services_1.CompletionItemKind.Color;
|
|
224
|
+
case this._monaco.languages.CompletionItemKind.File: return services_1.CompletionItemKind.File;
|
|
225
|
+
case this._monaco.languages.CompletionItemKind.Reference: return services_1.CompletionItemKind.Reference;
|
|
226
|
+
case this._monaco.languages.CompletionItemKind.Customcolor: return services_1.CompletionItemKind.Color;
|
|
227
|
+
case this._monaco.languages.CompletionItemKind.Folder: return services_1.CompletionItemKind.Folder;
|
|
228
|
+
case this._monaco.languages.CompletionItemKind.TypeParameter: return services_1.CompletionItemKind.TypeParameter;
|
|
229
|
+
case this._monaco.languages.CompletionItemKind.Snippet: return services_1.CompletionItemKind.Snippet;
|
|
219
230
|
default: return value + 1;
|
|
220
231
|
}
|
|
221
232
|
}
|
|
@@ -233,7 +244,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
233
244
|
let format = services_1.InsertTextFormat.PlainText;
|
|
234
245
|
let text;
|
|
235
246
|
let range;
|
|
236
|
-
if (source.insertTextRules !== undefined && (source.insertTextRules &
|
|
247
|
+
if (source.insertTextRules !== undefined && (source.insertTextRules & this._monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet) === 0) {
|
|
237
248
|
format = services_1.InsertTextFormat.Snippet;
|
|
238
249
|
text = source.insertText;
|
|
239
250
|
}
|
|
@@ -249,6 +260,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
249
260
|
else {
|
|
250
261
|
target.insertText = text;
|
|
251
262
|
}
|
|
263
|
+
target.insertTextMode = source.insertTextMode;
|
|
252
264
|
}
|
|
253
265
|
asTextEdit(edit) {
|
|
254
266
|
const range = this.asRange(edit.range);
|
|
@@ -282,19 +294,19 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
282
294
|
}
|
|
283
295
|
asDiagnosticSeverity(value) {
|
|
284
296
|
switch (value) {
|
|
285
|
-
case
|
|
297
|
+
case this._monaco.MarkerSeverity.Error:
|
|
286
298
|
return services_1.DiagnosticSeverity.Error;
|
|
287
|
-
case
|
|
299
|
+
case this._monaco.MarkerSeverity.Warning:
|
|
288
300
|
return services_1.DiagnosticSeverity.Warning;
|
|
289
|
-
case
|
|
301
|
+
case this._monaco.MarkerSeverity.Info:
|
|
290
302
|
return services_1.DiagnosticSeverity.Information;
|
|
291
|
-
case
|
|
303
|
+
case this._monaco.MarkerSeverity.Hint:
|
|
292
304
|
return services_1.DiagnosticSeverity.Hint;
|
|
293
305
|
}
|
|
294
306
|
return undefined;
|
|
295
307
|
}
|
|
296
308
|
asDiagnostic(marker) {
|
|
297
|
-
const range = this.asRange(new
|
|
309
|
+
const range = this.asRange(new this._monaco.Range(marker.startLineNumber, marker.startColumn, marker.endLineNumber, marker.endColumn));
|
|
298
310
|
const severity = this.asDiagnosticSeverity(marker.severity);
|
|
299
311
|
return services_1.Diagnostic.create(range, marker.message, severity, marker.code, marker.source);
|
|
300
312
|
}
|
|
@@ -382,48 +394,108 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
382
394
|
if (ProtocolDocumentLink.is(item) && item.data) {
|
|
383
395
|
result.data = item.data;
|
|
384
396
|
}
|
|
397
|
+
if (item.tooltip) {
|
|
398
|
+
result.tooltip = item.tooltip;
|
|
399
|
+
}
|
|
400
|
+
return result;
|
|
401
|
+
}
|
|
402
|
+
asCodeAction(item) {
|
|
403
|
+
const result = { title: item.title };
|
|
404
|
+
const protocolCodeAction = ProtocolCodeAction.is(item) ? item : undefined;
|
|
405
|
+
if (Is.number(item.kind)) {
|
|
406
|
+
result.kind = item.kind;
|
|
407
|
+
}
|
|
408
|
+
if (item.diagnostics) {
|
|
409
|
+
result.diagnostics = this.asDiagnostics(item.diagnostics);
|
|
410
|
+
}
|
|
411
|
+
if (item.edit) {
|
|
412
|
+
throw new Error(`VS Code code actions can only be converted to a protocol code action without an edit.`);
|
|
413
|
+
}
|
|
414
|
+
if (item.command) {
|
|
415
|
+
result.command = this.asCommand(item.command);
|
|
416
|
+
}
|
|
417
|
+
if (item.isPreferred !== undefined) {
|
|
418
|
+
result.isPreferred = item.isPreferred;
|
|
419
|
+
}
|
|
420
|
+
if (item.disabled) {
|
|
421
|
+
result.disabled = { reason: item.disabled };
|
|
422
|
+
}
|
|
423
|
+
if (protocolCodeAction) {
|
|
424
|
+
if (protocolCodeAction.data !== undefined) {
|
|
425
|
+
result.data = protocolCodeAction.data;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
385
428
|
return result;
|
|
386
429
|
}
|
|
387
430
|
}
|
|
388
431
|
exports.MonacoToProtocolConverter = MonacoToProtocolConverter;
|
|
389
432
|
class ProtocolToMonacoConverter {
|
|
390
|
-
|
|
391
|
-
|
|
433
|
+
constructor(_monaco) {
|
|
434
|
+
this._monaco = _monaco;
|
|
435
|
+
}
|
|
436
|
+
asResourceEdits(resource, edits, asMetadata, modelVersionId) {
|
|
437
|
+
return edits.map(edit => ({
|
|
392
438
|
resource: resource,
|
|
393
|
-
|
|
394
|
-
modelVersionId
|
|
439
|
+
edit: this.asTextEdit(edit),
|
|
440
|
+
modelVersionId,
|
|
441
|
+
metadata: services_1.AnnotatedTextEdit.is(edit) ? asMetadata(edit.annotationId) : undefined
|
|
442
|
+
}));
|
|
443
|
+
}
|
|
444
|
+
asWorkspaceEditMetadata(changeAnnotation) {
|
|
445
|
+
return {
|
|
446
|
+
needsConfirmation: changeAnnotation.needsConfirmation === true,
|
|
447
|
+
label: changeAnnotation.label,
|
|
448
|
+
description: changeAnnotation.description
|
|
395
449
|
};
|
|
396
450
|
}
|
|
397
451
|
asWorkspaceEdit(item) {
|
|
398
452
|
if (!item) {
|
|
399
453
|
return undefined;
|
|
400
454
|
}
|
|
455
|
+
const sharedMetadata = new Map();
|
|
456
|
+
if (item.changeAnnotations !== undefined) {
|
|
457
|
+
for (const key of Object.keys(item.changeAnnotations)) {
|
|
458
|
+
const metaData = this.asWorkspaceEditMetadata(item.changeAnnotations[key]);
|
|
459
|
+
sharedMetadata.set(key, metaData);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
const asMetadata = (annotation) => {
|
|
463
|
+
if (annotation === undefined) {
|
|
464
|
+
return undefined;
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
return sharedMetadata.get(annotation);
|
|
468
|
+
}
|
|
469
|
+
};
|
|
401
470
|
const edits = [];
|
|
402
471
|
if (item.documentChanges) {
|
|
403
472
|
item.documentChanges.forEach(change => {
|
|
404
473
|
if (ls.CreateFile.is(change)) {
|
|
405
474
|
edits.push({
|
|
406
|
-
newUri:
|
|
407
|
-
options: change.options
|
|
475
|
+
newUri: this._monaco.Uri.parse(change.uri),
|
|
476
|
+
options: change.options,
|
|
477
|
+
metadata: asMetadata(change.annotationId)
|
|
408
478
|
});
|
|
409
479
|
}
|
|
410
480
|
else if (ls.RenameFile.is(change)) {
|
|
411
481
|
edits.push({
|
|
412
|
-
oldUri:
|
|
413
|
-
newUri:
|
|
414
|
-
options: change.options
|
|
482
|
+
oldUri: this._monaco.Uri.parse(change.oldUri),
|
|
483
|
+
newUri: this._monaco.Uri.parse(change.newUri),
|
|
484
|
+
options: change.options,
|
|
485
|
+
metadata: asMetadata(change.annotationId)
|
|
415
486
|
});
|
|
416
487
|
}
|
|
417
488
|
else if (ls.DeleteFile.is(change)) {
|
|
418
489
|
edits.push({
|
|
419
|
-
oldUri:
|
|
420
|
-
options: change.options
|
|
490
|
+
oldUri: this._monaco.Uri.parse(change.uri),
|
|
491
|
+
options: change.options,
|
|
492
|
+
metadata: asMetadata(change.annotationId)
|
|
421
493
|
});
|
|
422
494
|
}
|
|
423
495
|
else if (ls.TextDocumentEdit.is(change)) {
|
|
424
|
-
const resource =
|
|
496
|
+
const resource = this._monaco.Uri.parse(change.textDocument.uri);
|
|
425
497
|
const version = typeof change.textDocument.version === 'number' ? change.textDocument.version : undefined;
|
|
426
|
-
edits.push(this.asResourceEdits(resource, change.edits, version));
|
|
498
|
+
edits.push(...this.asResourceEdits(resource, change.edits, asMetadata, version));
|
|
427
499
|
}
|
|
428
500
|
else {
|
|
429
501
|
console.error(`Unknown workspace edit change received:\n${JSON.stringify(change, undefined, 4)}`);
|
|
@@ -432,8 +504,8 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
432
504
|
}
|
|
433
505
|
else if (item.changes) {
|
|
434
506
|
for (const key of Object.keys(item.changes)) {
|
|
435
|
-
const resource =
|
|
436
|
-
edits.push(this.asResourceEdits(resource, item.changes[key]));
|
|
507
|
+
const resource = this._monaco.Uri.parse(key);
|
|
508
|
+
edits.push(...this.asResourceEdits(resource, item.changes[key], asMetadata));
|
|
437
509
|
}
|
|
438
510
|
}
|
|
439
511
|
return {
|
|
@@ -492,7 +564,10 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
492
564
|
command: this.asCommand(item.command),
|
|
493
565
|
edit: this.asWorkspaceEdit(item.edit),
|
|
494
566
|
diagnostics: this.asDiagnostics(item.diagnostics),
|
|
495
|
-
kind: item.kind
|
|
567
|
+
kind: item.kind,
|
|
568
|
+
disabled: item.disabled ? item.disabled.reason : undefined,
|
|
569
|
+
isPreferred: item.isPreferred,
|
|
570
|
+
data: item.data
|
|
496
571
|
};
|
|
497
572
|
}
|
|
498
573
|
return {
|
|
@@ -520,7 +595,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
520
595
|
name: value.name,
|
|
521
596
|
detail: value.detail || "",
|
|
522
597
|
kind: this.asSymbolKind(value.kind),
|
|
523
|
-
tags: [],
|
|
598
|
+
tags: value.tags || [],
|
|
524
599
|
range: this.asRange(value.range),
|
|
525
600
|
selectionRange: this.asRange(value.selectionRange),
|
|
526
601
|
children
|
|
@@ -545,7 +620,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
545
620
|
detail: '',
|
|
546
621
|
containerName: item.containerName,
|
|
547
622
|
kind: this.asSymbolKind(item.kind),
|
|
548
|
-
tags: [],
|
|
623
|
+
tags: item.tags || [],
|
|
549
624
|
range: location.range,
|
|
550
625
|
selectionRange: location.range
|
|
551
626
|
};
|
|
@@ -555,7 +630,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
555
630
|
// Symbol kind is one based in the protocol and zero based in code.
|
|
556
631
|
return item - 1;
|
|
557
632
|
}
|
|
558
|
-
return
|
|
633
|
+
return this._monaco.languages.SymbolKind.Property;
|
|
559
634
|
}
|
|
560
635
|
asDocumentHighlights(values) {
|
|
561
636
|
if (!values) {
|
|
@@ -571,13 +646,13 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
571
646
|
asDocumentHighlightKind(item) {
|
|
572
647
|
switch (item) {
|
|
573
648
|
case services_1.DocumentHighlightKind.Text:
|
|
574
|
-
return
|
|
649
|
+
return this._monaco.languages.DocumentHighlightKind.Text;
|
|
575
650
|
case services_1.DocumentHighlightKind.Read:
|
|
576
|
-
return
|
|
651
|
+
return this._monaco.languages.DocumentHighlightKind.Read;
|
|
577
652
|
case services_1.DocumentHighlightKind.Write:
|
|
578
|
-
return
|
|
653
|
+
return this._monaco.languages.DocumentHighlightKind.Write;
|
|
579
654
|
}
|
|
580
|
-
return
|
|
655
|
+
return this._monaco.languages.DocumentHighlightKind.Text;
|
|
581
656
|
}
|
|
582
657
|
asReferences(values) {
|
|
583
658
|
if (!values) {
|
|
@@ -610,7 +685,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
610
685
|
if (!item) {
|
|
611
686
|
return undefined;
|
|
612
687
|
}
|
|
613
|
-
const uri =
|
|
688
|
+
const uri = this._monaco.Uri.parse(item.uri);
|
|
614
689
|
const range = this.asRange(item.range);
|
|
615
690
|
return {
|
|
616
691
|
uri, range
|
|
@@ -621,7 +696,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
621
696
|
return undefined;
|
|
622
697
|
}
|
|
623
698
|
let result = {
|
|
624
|
-
uri:
|
|
699
|
+
uri: this._monaco.Uri.parse(item.targetUri),
|
|
625
700
|
range: this.asRange(item.targetSelectionRange),
|
|
626
701
|
originSelectionRange: this.asRange(item.originSelectionRange),
|
|
627
702
|
targetSelectionRange: this.asRange(item.targetSelectionRange)
|
|
@@ -675,6 +750,9 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
675
750
|
else {
|
|
676
751
|
result.parameters = [];
|
|
677
752
|
}
|
|
753
|
+
if (item.activeParameter) {
|
|
754
|
+
result.activeParameter = item.activeParameter;
|
|
755
|
+
}
|
|
678
756
|
return result;
|
|
679
757
|
}
|
|
680
758
|
asParameterInformations(item) {
|
|
@@ -728,15 +806,15 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
728
806
|
}
|
|
729
807
|
asSeverity(severity) {
|
|
730
808
|
if (severity === 1) {
|
|
731
|
-
return
|
|
809
|
+
return this._monaco.MarkerSeverity.Error;
|
|
732
810
|
}
|
|
733
811
|
if (severity === 2) {
|
|
734
|
-
return
|
|
812
|
+
return this._monaco.MarkerSeverity.Warning;
|
|
735
813
|
}
|
|
736
814
|
if (severity === 3) {
|
|
737
|
-
return
|
|
815
|
+
return this._monaco.MarkerSeverity.Info;
|
|
738
816
|
}
|
|
739
|
-
return
|
|
817
|
+
return this._monaco.MarkerSeverity.Hint;
|
|
740
818
|
}
|
|
741
819
|
asDiagnostics(diagnostics) {
|
|
742
820
|
if (!diagnostics) {
|
|
@@ -765,7 +843,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
765
843
|
}
|
|
766
844
|
asRelatedInformation(relatedInformation) {
|
|
767
845
|
return {
|
|
768
|
-
resource:
|
|
846
|
+
resource: this._monaco.Uri.parse(relatedInformation.location.uri),
|
|
769
847
|
startLineNumber: relatedInformation.location.range.start.line + 1,
|
|
770
848
|
startColumn: relatedInformation.location.range.start.character + 1,
|
|
771
849
|
endLineNumber: relatedInformation.location.range.end.line + 1,
|
|
@@ -810,7 +888,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
810
888
|
result.range = insertText.range;
|
|
811
889
|
result.fromEdit = insertText.fromEdit;
|
|
812
890
|
if (insertText.isSnippet) {
|
|
813
|
-
result.insertTextRules =
|
|
891
|
+
result.insertTextRules = this._monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
|
814
892
|
}
|
|
815
893
|
if (Is.number(item.kind)) {
|
|
816
894
|
let [itemKind, original] = this.asCompletionItemKind(item.kind);
|
|
@@ -843,36 +921,37 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
843
921
|
if (item.deprecated === true || item.deprecated === false) {
|
|
844
922
|
result.deprecated = item.deprecated;
|
|
845
923
|
}
|
|
924
|
+
result.insertTextMode = item.insertTextMode;
|
|
846
925
|
return result;
|
|
847
926
|
}
|
|
848
927
|
asCompletionItemKind(value) {
|
|
849
928
|
if (services_1.CompletionItemKind.Text <= value && value <= services_1.CompletionItemKind.TypeParameter) {
|
|
850
929
|
switch (value) {
|
|
851
|
-
case services_1.CompletionItemKind.Text: return [
|
|
852
|
-
case services_1.CompletionItemKind.Method: return [
|
|
853
|
-
case services_1.CompletionItemKind.Function: return [
|
|
854
|
-
case services_1.CompletionItemKind.Constructor: return [
|
|
855
|
-
case services_1.CompletionItemKind.Field: return [
|
|
856
|
-
case services_1.CompletionItemKind.Variable: return [
|
|
857
|
-
case services_1.CompletionItemKind.Class: return [
|
|
858
|
-
case services_1.CompletionItemKind.Interface: return [
|
|
859
|
-
case services_1.CompletionItemKind.Module: return [
|
|
860
|
-
case services_1.CompletionItemKind.Property: return [
|
|
861
|
-
case services_1.CompletionItemKind.Unit: return [
|
|
862
|
-
case services_1.CompletionItemKind.Value: return [
|
|
863
|
-
case services_1.CompletionItemKind.Enum: return [
|
|
864
|
-
case services_1.CompletionItemKind.Keyword: return [
|
|
865
|
-
case services_1.CompletionItemKind.Snippet: return [
|
|
866
|
-
case services_1.CompletionItemKind.Color: return [
|
|
867
|
-
case services_1.CompletionItemKind.File: return [
|
|
868
|
-
case services_1.CompletionItemKind.Reference: return [
|
|
869
|
-
case services_1.CompletionItemKind.Folder: return [
|
|
870
|
-
case services_1.CompletionItemKind.EnumMember: return [
|
|
871
|
-
case services_1.CompletionItemKind.Constant: return [
|
|
872
|
-
case services_1.CompletionItemKind.Struct: return [
|
|
873
|
-
case services_1.CompletionItemKind.Event: return [
|
|
874
|
-
case services_1.CompletionItemKind.Operator: return [
|
|
875
|
-
case services_1.CompletionItemKind.TypeParameter: return [
|
|
930
|
+
case services_1.CompletionItemKind.Text: return [this._monaco.languages.CompletionItemKind.Text, undefined];
|
|
931
|
+
case services_1.CompletionItemKind.Method: return [this._monaco.languages.CompletionItemKind.Method, undefined];
|
|
932
|
+
case services_1.CompletionItemKind.Function: return [this._monaco.languages.CompletionItemKind.Function, undefined];
|
|
933
|
+
case services_1.CompletionItemKind.Constructor: return [this._monaco.languages.CompletionItemKind.Constructor, undefined];
|
|
934
|
+
case services_1.CompletionItemKind.Field: return [this._monaco.languages.CompletionItemKind.Field, undefined];
|
|
935
|
+
case services_1.CompletionItemKind.Variable: return [this._monaco.languages.CompletionItemKind.Variable, undefined];
|
|
936
|
+
case services_1.CompletionItemKind.Class: return [this._monaco.languages.CompletionItemKind.Class, undefined];
|
|
937
|
+
case services_1.CompletionItemKind.Interface: return [this._monaco.languages.CompletionItemKind.Interface, undefined];
|
|
938
|
+
case services_1.CompletionItemKind.Module: return [this._monaco.languages.CompletionItemKind.Module, undefined];
|
|
939
|
+
case services_1.CompletionItemKind.Property: return [this._monaco.languages.CompletionItemKind.Property, undefined];
|
|
940
|
+
case services_1.CompletionItemKind.Unit: return [this._monaco.languages.CompletionItemKind.Unit, undefined];
|
|
941
|
+
case services_1.CompletionItemKind.Value: return [this._monaco.languages.CompletionItemKind.Value, undefined];
|
|
942
|
+
case services_1.CompletionItemKind.Enum: return [this._monaco.languages.CompletionItemKind.Enum, undefined];
|
|
943
|
+
case services_1.CompletionItemKind.Keyword: return [this._monaco.languages.CompletionItemKind.Keyword, undefined];
|
|
944
|
+
case services_1.CompletionItemKind.Snippet: return [this._monaco.languages.CompletionItemKind.Snippet, undefined];
|
|
945
|
+
case services_1.CompletionItemKind.Color: return [this._monaco.languages.CompletionItemKind.Color, undefined];
|
|
946
|
+
case services_1.CompletionItemKind.File: return [this._monaco.languages.CompletionItemKind.File, undefined];
|
|
947
|
+
case services_1.CompletionItemKind.Reference: return [this._monaco.languages.CompletionItemKind.Reference, undefined];
|
|
948
|
+
case services_1.CompletionItemKind.Folder: return [this._monaco.languages.CompletionItemKind.Folder, undefined];
|
|
949
|
+
case services_1.CompletionItemKind.EnumMember: return [this._monaco.languages.CompletionItemKind.EnumMember, undefined];
|
|
950
|
+
case services_1.CompletionItemKind.Constant: return [this._monaco.languages.CompletionItemKind.Constant, undefined];
|
|
951
|
+
case services_1.CompletionItemKind.Struct: return [this._monaco.languages.CompletionItemKind.Struct, undefined];
|
|
952
|
+
case services_1.CompletionItemKind.Event: return [this._monaco.languages.CompletionItemKind.Event, undefined];
|
|
953
|
+
case services_1.CompletionItemKind.Operator: return [this._monaco.languages.CompletionItemKind.Operator, undefined];
|
|
954
|
+
case services_1.CompletionItemKind.TypeParameter: return [this._monaco.languages.CompletionItemKind.TypeParameter, undefined];
|
|
876
955
|
default: return [value - 1, undefined];
|
|
877
956
|
}
|
|
878
957
|
}
|
|
@@ -882,9 +961,19 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
882
961
|
asCompletionInsertText(item, defaultRange) {
|
|
883
962
|
const isSnippet = item.insertTextFormat === services_1.InsertTextFormat.Snippet;
|
|
884
963
|
if (item.textEdit) {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
964
|
+
if (services_1.TextEdit.is(item.textEdit)) {
|
|
965
|
+
const range = this.asRange(item.textEdit.range);
|
|
966
|
+
const value = item.textEdit.newText;
|
|
967
|
+
return { isSnippet, insertText: value, range, fromEdit: true, };
|
|
968
|
+
}
|
|
969
|
+
else {
|
|
970
|
+
const range = {
|
|
971
|
+
insert: this.asRange(item.textEdit.insert),
|
|
972
|
+
replace: this.asRange(item.textEdit.replace)
|
|
973
|
+
};
|
|
974
|
+
const value = item.textEdit.newText;
|
|
975
|
+
return { isSnippet, insertText: value, range, fromEdit: true, };
|
|
976
|
+
}
|
|
888
977
|
}
|
|
889
978
|
if (item.insertText) {
|
|
890
979
|
return { isSnippet, insertText: item.insertText, fromEdit: false, range: defaultRange };
|
|
@@ -899,7 +988,8 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
899
988
|
return {
|
|
900
989
|
range: this.asRange(documentLink.range),
|
|
901
990
|
url: documentLink.target,
|
|
902
|
-
data: documentLink.data
|
|
991
|
+
data: documentLink.data,
|
|
992
|
+
tooltip: documentLink.tooltip
|
|
903
993
|
};
|
|
904
994
|
}
|
|
905
995
|
asRange(range) {
|
|
@@ -911,8 +1001,8 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
911
1001
|
}
|
|
912
1002
|
const start = this.asPosition(range.start);
|
|
913
1003
|
const end = this.asPosition(range.end);
|
|
914
|
-
if (start instanceof
|
|
915
|
-
return new
|
|
1004
|
+
if (start instanceof this._monaco.Position && end instanceof this._monaco.Position) {
|
|
1005
|
+
return new this._monaco.Range(start.lineNumber, start.column, end.lineNumber, end.column);
|
|
916
1006
|
}
|
|
917
1007
|
const startLineNumber = !start || start.lineNumber === undefined ? undefined : start.lineNumber;
|
|
918
1008
|
const startColumn = !start || start.column === undefined ? undefined : start.column;
|
|
@@ -931,7 +1021,7 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
931
1021
|
const lineNumber = line === undefined ? undefined : line + 1;
|
|
932
1022
|
const column = character === undefined ? undefined : character + 1;
|
|
933
1023
|
if (lineNumber !== undefined && column !== undefined) {
|
|
934
|
-
return new
|
|
1024
|
+
return new this._monaco.Position(lineNumber, column);
|
|
935
1025
|
}
|
|
936
1026
|
return { lineNumber, column };
|
|
937
1027
|
}
|
|
@@ -971,16 +1061,22 @@ define(["require", "exports", "vscode-languageserver-protocol", "vscode-language
|
|
|
971
1061
|
if (kind) {
|
|
972
1062
|
switch (kind) {
|
|
973
1063
|
case services_1.FoldingRangeKind.Comment:
|
|
974
|
-
return
|
|
1064
|
+
return this._monaco.languages.FoldingRangeKind.Comment;
|
|
975
1065
|
case services_1.FoldingRangeKind.Imports:
|
|
976
|
-
return
|
|
1066
|
+
return this._monaco.languages.FoldingRangeKind.Imports;
|
|
977
1067
|
case services_1.FoldingRangeKind.Region:
|
|
978
|
-
return
|
|
1068
|
+
return this._monaco.languages.FoldingRangeKind.Region;
|
|
979
1069
|
}
|
|
980
1070
|
;
|
|
981
1071
|
}
|
|
982
1072
|
return undefined;
|
|
983
1073
|
}
|
|
1074
|
+
asSemanticTokens(semanticTokens) {
|
|
1075
|
+
return {
|
|
1076
|
+
resultId: semanticTokens.resultId,
|
|
1077
|
+
data: Uint32Array.from(semanticTokens.data)
|
|
1078
|
+
};
|
|
1079
|
+
}
|
|
984
1080
|
}
|
|
985
1081
|
exports.ProtocolToMonacoConverter = ProtocolToMonacoConverter;
|
|
986
1082
|
});
|