vscode-languageserver-protocol 3.17.0-next.8 → 3.17.1

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.
Files changed (43) hide show
  1. package/lib/browser/main.js +6 -2
  2. package/lib/common/api.d.ts +10 -27
  3. package/lib/common/api.js +15 -11
  4. package/lib/common/connection.d.ts +27 -3
  5. package/lib/common/connection.js +1 -1
  6. package/lib/common/messages.js +0 -3
  7. package/lib/common/protocol.$.d.ts +1 -0
  8. package/lib/common/protocol.$.js +36 -0
  9. package/lib/common/protocol.callHierarchy.d.ts +1 -1
  10. package/lib/common/protocol.colorProvider.d.ts +1 -1
  11. package/lib/common/protocol.configuration.d.ts +4 -16
  12. package/lib/common/protocol.configuration.js +1 -0
  13. package/lib/common/protocol.d.ts +453 -69
  14. package/lib/common/protocol.declaration.d.ts +2 -2
  15. package/lib/common/protocol.declaration.js +2 -2
  16. package/lib/common/{proposed.diagnostic.d.ts → protocol.diagnostic.d.ts} +85 -71
  17. package/lib/common/{proposed.diagnostic.js → protocol.diagnostic.js} +8 -8
  18. package/lib/common/protocol.foldingRange.d.ts +40 -27
  19. package/lib/common/protocol.foldingRange.js +1 -19
  20. package/lib/common/protocol.implementation.d.ts +2 -2
  21. package/lib/common/protocol.implementation.js +2 -2
  22. package/lib/common/protocol.inlayHint.d.ts +107 -0
  23. package/lib/common/protocol.inlayHint.js +41 -0
  24. package/lib/common/protocol.inlineValue.d.ts +84 -0
  25. package/lib/common/protocol.inlineValue.js +29 -0
  26. package/lib/common/protocol.js +131 -17
  27. package/lib/common/protocol.linkedEditingRange.d.ts +2 -2
  28. package/lib/common/protocol.moniker.d.ts +13 -11
  29. package/lib/common/protocol.moniker.js +8 -8
  30. package/lib/common/protocol.notebook.d.ts +391 -0
  31. package/lib/common/protocol.notebook.js +206 -0
  32. package/lib/common/protocol.progress.d.ts +2 -14
  33. package/lib/common/protocol.progress.js +4 -2
  34. package/lib/common/protocol.selectionRange.d.ts +2 -2
  35. package/lib/common/protocol.semanticTokens.d.ts +23 -1
  36. package/lib/common/protocol.typeDefinition.d.ts +1 -1
  37. package/lib/common/protocol.typeHierarchy.d.ts +80 -0
  38. package/lib/common/protocol.typeHierarchy.js +40 -0
  39. package/lib/common/{protocol.workspaceFolders.d.ts → protocol.workspaceFolder.d.ts} +11 -41
  40. package/lib/common/{protocol.workspaceFolders.js → protocol.workspaceFolder.js} +1 -1
  41. package/lib/node/main.js +6 -2
  42. package/metaModel.schema.json +705 -0
  43. package/package.json +3 -3
@@ -0,0 +1,705 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "definitions": {
4
+ "AndType": {
5
+ "additionalProperties": false,
6
+ "description": "Represents an `and`type (e.g. TextDocumentParams & WorkDoneProgressParams`).",
7
+ "properties": {
8
+ "items": {
9
+ "items": {
10
+ "$ref": "#/definitions/Type"
11
+ },
12
+ "type": "array"
13
+ },
14
+ "kind": {
15
+ "const": "and",
16
+ "type": "string"
17
+ }
18
+ },
19
+ "required": [
20
+ "kind",
21
+ "items"
22
+ ],
23
+ "type": "object"
24
+ },
25
+ "ArrayType": {
26
+ "additionalProperties": false,
27
+ "description": "Represents an array type (e.g. `TextDocument[]`).",
28
+ "properties": {
29
+ "element": {
30
+ "$ref": "#/definitions/Type"
31
+ },
32
+ "kind": {
33
+ "const": "array",
34
+ "type": "string"
35
+ }
36
+ },
37
+ "required": [
38
+ "kind",
39
+ "element"
40
+ ],
41
+ "type": "object"
42
+ },
43
+ "BaseType": {
44
+ "additionalProperties": false,
45
+ "description": "Represents a base type like `string` or `DocumentUri`.",
46
+ "properties": {
47
+ "kind": {
48
+ "const": "base",
49
+ "type": "string"
50
+ },
51
+ "name": {
52
+ "$ref": "#/definitions/BaseTypes"
53
+ }
54
+ },
55
+ "required": [
56
+ "kind",
57
+ "name"
58
+ ],
59
+ "type": "object"
60
+ },
61
+ "BaseTypes": {
62
+ "enum": [
63
+ "Uri",
64
+ "DocumentUri",
65
+ "integer",
66
+ "uinteger",
67
+ "decimal",
68
+ "RegExp",
69
+ "string",
70
+ "boolean",
71
+ "null"
72
+ ],
73
+ "type": "string"
74
+ },
75
+ "BooleanLiteralType": {
76
+ "additionalProperties": false,
77
+ "description": "Represents a boolean literal type (e.g. `kind: true`).",
78
+ "properties": {
79
+ "kind": {
80
+ "const": "booleanLiteral",
81
+ "type": "string"
82
+ },
83
+ "value": {
84
+ "type": "boolean"
85
+ }
86
+ },
87
+ "required": [
88
+ "kind",
89
+ "value"
90
+ ],
91
+ "type": "object"
92
+ },
93
+ "Enumeration": {
94
+ "additionalProperties": false,
95
+ "description": "Defines an enumeration.",
96
+ "properties": {
97
+ "documentation": {
98
+ "description": "An optional documentation.",
99
+ "type": "string"
100
+ },
101
+ "name": {
102
+ "description": "The name of the enumeration.",
103
+ "type": "string"
104
+ },
105
+ "proposed": {
106
+ "description": "Whether this is a proposed enumeration. If omitted, the enumeration is final.",
107
+ "type": "boolean"
108
+ },
109
+ "since": {
110
+ "description": "Since when (release number) this enumeration is available. Is undefined if not known.",
111
+ "type": "string"
112
+ },
113
+ "supportsCustomValues": {
114
+ "description": "Whether the enumeration supports custom values (e.g. values which are not part of the set defined in `values`). If omitted no custom values are supported.",
115
+ "type": "boolean"
116
+ },
117
+ "type": {
118
+ "$ref": "#/definitions/EnumerationType",
119
+ "description": "The type of the elements."
120
+ },
121
+ "values": {
122
+ "description": "The enum values.",
123
+ "items": {
124
+ "$ref": "#/definitions/EnumerationEntry"
125
+ },
126
+ "type": "array"
127
+ }
128
+ },
129
+ "required": [
130
+ "name",
131
+ "type",
132
+ "values"
133
+ ],
134
+ "type": "object"
135
+ },
136
+ "EnumerationEntry": {
137
+ "additionalProperties": false,
138
+ "description": "Defines an enumeration entry.",
139
+ "properties": {
140
+ "documentation": {
141
+ "description": "An optional documentation.",
142
+ "type": "string"
143
+ },
144
+ "name": {
145
+ "description": "The name of the enum item.",
146
+ "type": "string"
147
+ },
148
+ "proposed": {
149
+ "description": "Whether this is a proposed enumeration entry. If omitted, the enumeration entry is final.",
150
+ "type": "boolean"
151
+ },
152
+ "since": {
153
+ "description": "Since when (release number) this enumeration entry is available. Is undefined if not known.",
154
+ "type": "string"
155
+ },
156
+ "value": {
157
+ "description": "The value.",
158
+ "type": [
159
+ "string",
160
+ "number"
161
+ ]
162
+ }
163
+ },
164
+ "required": [
165
+ "name",
166
+ "value"
167
+ ],
168
+ "type": "object"
169
+ },
170
+ "EnumerationType": {
171
+ "additionalProperties": false,
172
+ "properties": {
173
+ "kind": {
174
+ "const": "base",
175
+ "type": "string"
176
+ },
177
+ "name": {
178
+ "enum": [
179
+ "string",
180
+ "integer"
181
+ ],
182
+ "type": "string"
183
+ }
184
+ },
185
+ "required": [
186
+ "kind",
187
+ "name"
188
+ ],
189
+ "type": "object"
190
+ },
191
+ "IntegerLiteralType": {
192
+ "additionalProperties": false,
193
+ "properties": {
194
+ "kind": {
195
+ "const": "integerLiteral",
196
+ "description": "Represents an integer literal type (e.g. `kind: 1`).",
197
+ "type": "string"
198
+ },
199
+ "value": {
200
+ "type": "number"
201
+ }
202
+ },
203
+ "required": [
204
+ "kind",
205
+ "value"
206
+ ],
207
+ "type": "object"
208
+ },
209
+ "MapKeyType": {
210
+ "anyOf": [
211
+ {
212
+ "additionalProperties": false,
213
+ "properties": {
214
+ "kind": {
215
+ "const": "base",
216
+ "type": "string"
217
+ },
218
+ "name": {
219
+ "enum": [
220
+ "Uri",
221
+ "DocumentUri",
222
+ "string",
223
+ "integer"
224
+ ],
225
+ "type": "string"
226
+ }
227
+ },
228
+ "required": [
229
+ "kind",
230
+ "name"
231
+ ],
232
+ "type": "object"
233
+ },
234
+ {
235
+ "$ref": "#/definitions/ReferenceType"
236
+ }
237
+ ],
238
+ "description": "Represents a type that can be used as a key in a map type. If a reference type is used then the type must either resolve to a `string` or `integer` type. (e.g. `type ChangeAnnotationIdentifier === string`)."
239
+ },
240
+ "MapType": {
241
+ "additionalProperties": false,
242
+ "description": "Represents a JSON object map (e.g. `interface Map<K extends string | integer, V> { [key: K] => V; }`).",
243
+ "properties": {
244
+ "key": {
245
+ "$ref": "#/definitions/MapKeyType"
246
+ },
247
+ "kind": {
248
+ "const": "map",
249
+ "type": "string"
250
+ },
251
+ "value": {
252
+ "$ref": "#/definitions/Type"
253
+ }
254
+ },
255
+ "required": [
256
+ "kind",
257
+ "key",
258
+ "value"
259
+ ],
260
+ "type": "object"
261
+ },
262
+ "MetaModel": {
263
+ "additionalProperties": false,
264
+ "description": "The actual meta model.",
265
+ "properties": {
266
+ "enumerations": {
267
+ "description": "The enumerations.",
268
+ "items": {
269
+ "$ref": "#/definitions/Enumeration"
270
+ },
271
+ "type": "array"
272
+ },
273
+ "notifications": {
274
+ "description": "The notifications.",
275
+ "items": {
276
+ "$ref": "#/definitions/Notification"
277
+ },
278
+ "type": "array"
279
+ },
280
+ "requests": {
281
+ "description": "The requests.",
282
+ "items": {
283
+ "$ref": "#/definitions/Request"
284
+ },
285
+ "type": "array"
286
+ },
287
+ "structures": {
288
+ "description": "The structures.",
289
+ "items": {
290
+ "$ref": "#/definitions/Structure"
291
+ },
292
+ "type": "array"
293
+ },
294
+ "typeAliases": {
295
+ "description": "The type aliases.",
296
+ "items": {
297
+ "$ref": "#/definitions/TypeAlias"
298
+ },
299
+ "type": "array"
300
+ }
301
+ },
302
+ "required": [
303
+ "requests",
304
+ "notifications",
305
+ "structures",
306
+ "enumerations",
307
+ "typeAliases"
308
+ ],
309
+ "type": "object"
310
+ },
311
+ "Notification": {
312
+ "additionalProperties": false,
313
+ "description": "Represents a LSP notification",
314
+ "properties": {
315
+ "documentation": {
316
+ "description": "An optional documentation;",
317
+ "type": "string"
318
+ },
319
+ "method": {
320
+ "description": "The request's method name.",
321
+ "type": "string"
322
+ },
323
+ "params": {
324
+ "anyOf": [
325
+ {
326
+ "$ref": "#/definitions/Type"
327
+ },
328
+ {
329
+ "items": {
330
+ "$ref": "#/definitions/Type"
331
+ },
332
+ "type": "array"
333
+ }
334
+ ],
335
+ "description": "The parameter type(s) if any."
336
+ },
337
+ "proposed": {
338
+ "description": "Whether this is a proposed notification. If omitted the notification is final.",
339
+ "type": "boolean"
340
+ },
341
+ "registrationOptions": {
342
+ "$ref": "#/definitions/Type",
343
+ "description": "Optional registration options if the notification supports dynamic registration."
344
+ },
345
+ "since": {
346
+ "description": "Since when (release number) this notification is available. Is undefined if not known.",
347
+ "type": "string"
348
+ }
349
+ },
350
+ "required": [
351
+ "method"
352
+ ],
353
+ "type": "object"
354
+ },
355
+ "OrType": {
356
+ "additionalProperties": false,
357
+ "description": "Represents an `or` type (e.g. `Location | LocationLink`).",
358
+ "properties": {
359
+ "items": {
360
+ "items": {
361
+ "$ref": "#/definitions/Type"
362
+ },
363
+ "type": "array"
364
+ },
365
+ "kind": {
366
+ "const": "or",
367
+ "type": "string"
368
+ }
369
+ },
370
+ "required": [
371
+ "kind",
372
+ "items"
373
+ ],
374
+ "type": "object"
375
+ },
376
+ "Property": {
377
+ "additionalProperties": false,
378
+ "description": "Represents an object property.",
379
+ "properties": {
380
+ "documentation": {
381
+ "description": "An optional documentation.",
382
+ "type": "string"
383
+ },
384
+ "name": {
385
+ "description": "The property name;",
386
+ "type": "string"
387
+ },
388
+ "optional": {
389
+ "description": "Whether the property is optional. If omitted, the property is mandatory.",
390
+ "type": "boolean"
391
+ },
392
+ "proposed": {
393
+ "description": "Whether this is a proposed property. If omitted, the structure is final.",
394
+ "type": "boolean"
395
+ },
396
+ "since": {
397
+ "description": "Since when (release number) this property is available. Is undefined if not known.",
398
+ "type": "string"
399
+ },
400
+ "type": {
401
+ "$ref": "#/definitions/Type",
402
+ "description": "The type of the property"
403
+ }
404
+ },
405
+ "required": [
406
+ "name",
407
+ "type"
408
+ ],
409
+ "type": "object"
410
+ },
411
+ "ReferenceType": {
412
+ "additionalProperties": false,
413
+ "description": "Represents a reference to another type (e.g. `TextDocument`). This is either a `Structure`, a `Enumeration` or a `TypeAlias` in the same meta model.",
414
+ "properties": {
415
+ "kind": {
416
+ "const": "reference",
417
+ "type": "string"
418
+ },
419
+ "name": {
420
+ "type": "string"
421
+ }
422
+ },
423
+ "required": [
424
+ "kind",
425
+ "name"
426
+ ],
427
+ "type": "object"
428
+ },
429
+ "Request": {
430
+ "additionalProperties": false,
431
+ "description": "Represents a LSP request",
432
+ "properties": {
433
+ "documentation": {
434
+ "description": "An optional documentation;",
435
+ "type": "string"
436
+ },
437
+ "errorData": {
438
+ "$ref": "#/definitions/Type",
439
+ "description": "An optional error data type."
440
+ },
441
+ "method": {
442
+ "description": "The request's method name.",
443
+ "type": "string"
444
+ },
445
+ "params": {
446
+ "anyOf": [
447
+ {
448
+ "$ref": "#/definitions/Type"
449
+ },
450
+ {
451
+ "items": {
452
+ "$ref": "#/definitions/Type"
453
+ },
454
+ "type": "array"
455
+ }
456
+ ],
457
+ "description": "The parameter type(s) if any."
458
+ },
459
+ "partialResult": {
460
+ "$ref": "#/definitions/Type",
461
+ "description": "Optional partial result type if the request supports partial result reporting."
462
+ },
463
+ "proposed": {
464
+ "description": "Whether this is a proposed feature. If omitted the feature is final.",
465
+ "type": "boolean"
466
+ },
467
+ "registrationOptions": {
468
+ "$ref": "#/definitions/Type",
469
+ "description": "Optional registration options if the request supports dynamic registration."
470
+ },
471
+ "result": {
472
+ "$ref": "#/definitions/Type",
473
+ "description": "The result type."
474
+ },
475
+ "since": {
476
+ "description": "Since when (release number) this request is available. Is undefined if not known.",
477
+ "type": "string"
478
+ }
479
+ },
480
+ "required": [
481
+ "method",
482
+ "result"
483
+ ],
484
+ "type": "object"
485
+ },
486
+ "StringLiteralType": {
487
+ "additionalProperties": false,
488
+ "description": "Represents a string literal type (e.g. `kind: 'rename'`).",
489
+ "properties": {
490
+ "kind": {
491
+ "const": "stringLiteral",
492
+ "type": "string"
493
+ },
494
+ "value": {
495
+ "type": "string"
496
+ }
497
+ },
498
+ "required": [
499
+ "kind",
500
+ "value"
501
+ ],
502
+ "type": "object"
503
+ },
504
+ "Structure": {
505
+ "additionalProperties": false,
506
+ "description": "Defines the structure of an object literal.",
507
+ "properties": {
508
+ "documentation": {
509
+ "description": "An optional documentation;",
510
+ "type": "string"
511
+ },
512
+ "extends": {
513
+ "description": "Structures extended from. This structures form a polymorphic type hierarchy.",
514
+ "items": {
515
+ "$ref": "#/definitions/Type"
516
+ },
517
+ "type": "array"
518
+ },
519
+ "mixins": {
520
+ "description": "Structures to mix in. The properties of these structures are `copied` into this structure. Mixins don't form a polymorphic type hierarchy in LSP.",
521
+ "items": {
522
+ "$ref": "#/definitions/Type"
523
+ },
524
+ "type": "array"
525
+ },
526
+ "name": {
527
+ "description": "The name of the structure.",
528
+ "type": "string"
529
+ },
530
+ "properties": {
531
+ "description": "The properties.",
532
+ "items": {
533
+ "$ref": "#/definitions/Property"
534
+ },
535
+ "type": "array"
536
+ },
537
+ "proposed": {
538
+ "description": "Whether this is a proposed structure. If omitted, the structure is final.",
539
+ "type": "boolean"
540
+ },
541
+ "since": {
542
+ "description": "Since when (release number) this structure is available. Is undefined if not known.",
543
+ "type": "string"
544
+ }
545
+ },
546
+ "required": [
547
+ "name",
548
+ "properties"
549
+ ],
550
+ "type": "object"
551
+ },
552
+ "StructureLiteral": {
553
+ "additionalProperties": false,
554
+ "description": "Defines a unnamed structure of an object literal.",
555
+ "properties": {
556
+ "documentation": {
557
+ "description": "An optional documentation.",
558
+ "type": "string"
559
+ },
560
+ "properties": {
561
+ "description": "The properties.",
562
+ "items": {
563
+ "$ref": "#/definitions/Property"
564
+ },
565
+ "type": "array"
566
+ },
567
+ "proposed": {
568
+ "description": "Whether this is a proposed structure. If omitted, the structure is final.",
569
+ "type": "boolean"
570
+ },
571
+ "since": {
572
+ "description": "Since when (release number) this structure is available. Is undefined if not known.",
573
+ "type": "string"
574
+ }
575
+ },
576
+ "required": [
577
+ "properties"
578
+ ],
579
+ "type": "object"
580
+ },
581
+ "StructureLiteralType": {
582
+ "additionalProperties": false,
583
+ "description": "Represents a literal structure (e.g. `property: { start: uinteger; end: uinteger; }`).",
584
+ "properties": {
585
+ "kind": {
586
+ "const": "literal",
587
+ "type": "string"
588
+ },
589
+ "value": {
590
+ "$ref": "#/definitions/StructureLiteral"
591
+ }
592
+ },
593
+ "required": [
594
+ "kind",
595
+ "value"
596
+ ],
597
+ "type": "object"
598
+ },
599
+ "TupleType": {
600
+ "additionalProperties": false,
601
+ "description": "Represents a `tuple` type (e.g. `[integer, integer]`).",
602
+ "properties": {
603
+ "items": {
604
+ "items": {
605
+ "$ref": "#/definitions/Type"
606
+ },
607
+ "type": "array"
608
+ },
609
+ "kind": {
610
+ "const": "tuple",
611
+ "type": "string"
612
+ }
613
+ },
614
+ "required": [
615
+ "kind",
616
+ "items"
617
+ ],
618
+ "type": "object"
619
+ },
620
+ "Type": {
621
+ "anyOf": [
622
+ {
623
+ "$ref": "#/definitions/BaseType"
624
+ },
625
+ {
626
+ "$ref": "#/definitions/ReferenceType"
627
+ },
628
+ {
629
+ "$ref": "#/definitions/ArrayType"
630
+ },
631
+ {
632
+ "$ref": "#/definitions/MapType"
633
+ },
634
+ {
635
+ "$ref": "#/definitions/AndType"
636
+ },
637
+ {
638
+ "$ref": "#/definitions/OrType"
639
+ },
640
+ {
641
+ "$ref": "#/definitions/TupleType"
642
+ },
643
+ {
644
+ "$ref": "#/definitions/StructureLiteralType"
645
+ },
646
+ {
647
+ "$ref": "#/definitions/StringLiteralType"
648
+ },
649
+ {
650
+ "$ref": "#/definitions/IntegerLiteralType"
651
+ },
652
+ {
653
+ "$ref": "#/definitions/BooleanLiteralType"
654
+ }
655
+ ]
656
+ },
657
+ "TypeAlias": {
658
+ "additionalProperties": false,
659
+ "description": "Defines a type alias. (e.g. `type Definition = Location | LocationLink`)",
660
+ "properties": {
661
+ "documentation": {
662
+ "description": "An optional documentation.",
663
+ "type": "string"
664
+ },
665
+ "name": {
666
+ "description": "The name of the type alias.",
667
+ "type": "string"
668
+ },
669
+ "proposed": {
670
+ "description": "Whether this is a proposed type alias. If omitted, the type alias is final.",
671
+ "type": "boolean"
672
+ },
673
+ "since": {
674
+ "description": "Since when (release number) this structure is available. Is undefined if not known.",
675
+ "type": "string"
676
+ },
677
+ "type": {
678
+ "$ref": "#/definitions/Type",
679
+ "description": "The aliased type."
680
+ }
681
+ },
682
+ "required": [
683
+ "name",
684
+ "type"
685
+ ],
686
+ "type": "object"
687
+ },
688
+ "TypeKind": {
689
+ "enum": [
690
+ "base",
691
+ "reference",
692
+ "array",
693
+ "map",
694
+ "and",
695
+ "or",
696
+ "tuple",
697
+ "literal",
698
+ "stringLiteral",
699
+ "integerLiteral",
700
+ "booleanLiteral"
701
+ ],
702
+ "type": "string"
703
+ }
704
+ }
705
+ }