vscode-languageserver-protocol 3.15.0-next.2 → 3.15.0-next.6

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/lib/protocol.d.ts CHANGED
@@ -1,1677 +1,1696 @@
1
- import { RequestType, RequestType0, NotificationType, NotificationType0 } from 'vscode-jsonrpc';
2
- import { TextDocumentContentChangeEvent, Position, Range, Location, LocationLink, Diagnostic, Command, TextEdit, WorkspaceEdit, WorkspaceSymbolParams, TextDocumentIdentifier, VersionedTextDocumentIdentifier, TextDocumentItem, TextDocumentSaveReason, CompletionItem, CompletionList, Hover, SignatureHelp, ReferenceContext, DocumentHighlight, DocumentSymbolParams, SymbolInformation, CodeLens, CodeActionContext, FormattingOptions, DocumentLink, MarkupKind, SymbolKind, CompletionItemKind, CodeAction, CodeActionKind, DocumentSymbol } from 'vscode-languageserver-types';
3
- import { ImplementationRequest, ImplementationClientCapabilities, ImplementationServerCapabilities } from './protocol.implementation';
4
- import { TypeDefinitionRequest, TypeDefinitionClientCapabilities, TypeDefinitionServerCapabilities } from './protocol.typeDefinition';
5
- import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersClientCapabilities, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolders';
6
- import { ConfigurationRequest, ConfigurationParams, ConfigurationItem, ConfigurationClientCapabilities } from './protocol.configuration';
7
- import { DocumentColorRequest, ColorPresentationRequest, ColorProviderOptions, DocumentColorParams, ColorPresentationParams, ColorServerCapabilities, ColorClientCapabilities } from './protocol.colorProvider';
8
- import { FoldingRangeClientCapabilities, FoldingRangeProviderOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeServerCapabilities } from './protocol.foldingRange';
9
- import { DeclarationClientCapabilities, DeclarationRequest, DeclarationServerCapabilities } from './protocol.declaration';
10
- import { SelectionRangeClientCapabilities, SelectionRangeProviderOptions, SelectionRangeRequest, SelectionRangeServerCapabilities, SelectionRangeKind, SelectionRange, SelectionRangeParams } from './protocol.selectionRange';
11
- /**
12
- * A document filter denotes a document by different properties like
13
- * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
14
- * its resource, or a glob-pattern that is applied to the [path](#TextDocument.fileName).
15
- *
16
- * Glob patterns can have the following syntax:
17
- * - `*` to match one or more characters in a path segment
18
- * - `?` to match on one character in a path segment
19
- * - `**` to match any number of path segments, including none
20
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
21
- * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
22
- * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
23
- *
24
- * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
25
- * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
26
- */
27
- export declare type DocumentFilter = {
28
- /** A language id, like `typescript`. */
29
- language: string;
30
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
31
- scheme?: string;
32
- /** A glob pattern, like `*.{ts,js}`. */
33
- pattern?: string;
34
- } | {
35
- /** A language id, like `typescript`. */
36
- language?: string;
37
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
38
- scheme: string;
39
- /** A glob pattern, like `*.{ts,js}`. */
40
- pattern?: string;
41
- } | {
42
- /** A language id, like `typescript`. */
43
- language?: string;
44
- /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
45
- scheme?: string;
46
- /** A glob pattern, like `*.{ts,js}`. */
47
- pattern: string;
48
- };
49
- export declare namespace DocumentFilter {
50
- function is(value: any): value is DocumentFilter;
51
- }
52
- /**
53
- * A document selector is the combination of one or many document filters.
54
- *
55
- * @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
56
- */
57
- export declare type DocumentSelector = (string | DocumentFilter)[];
58
- /**
59
- * General parameters to to register for an notification or to register a provider.
60
- */
61
- export interface Registration {
62
- /**
63
- * The id used to register the request. The id can be used to deregister
64
- * the request again.
65
- */
66
- id: string;
67
- /**
68
- * The method to register for.
69
- */
70
- method: string;
71
- /**
72
- * Options necessary for the registration.
73
- */
74
- registerOptions?: any;
75
- }
76
- export interface RegistrationParams {
77
- registrations: Registration[];
78
- }
79
- /**
80
- * The `client/registerCapability` request is sent from the server to the client to register a new capability
81
- * handler on the client side.
82
- */
83
- export declare namespace RegistrationRequest {
84
- const type: RequestType<RegistrationParams, void, void, void>;
85
- }
86
- /**
87
- * General parameters to unregister a request or notification.
88
- */
89
- export interface Unregistration {
90
- /**
91
- * The id used to unregister the request or notification. Usually an id
92
- * provided during the register request.
93
- */
94
- id: string;
95
- /**
96
- * The method to unregister for.
97
- */
98
- method: string;
99
- }
100
- export interface UnregistrationParams {
101
- unregisterations: Unregistration[];
102
- }
103
- /**
104
- * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability
105
- * handler on the client side.
106
- */
107
- export declare namespace UnregistrationRequest {
108
- const type: RequestType<UnregistrationParams, void, void, void>;
109
- }
110
- /**
111
- * A parameter literal used in requests to pass a text document and a position inside that
112
- * document.
113
- */
114
- export interface TextDocumentPositionParams {
115
- /**
116
- * The text document.
117
- */
118
- textDocument: TextDocumentIdentifier;
119
- /**
120
- * The position inside the text document.
121
- */
122
- position: Position;
123
- }
124
- /**
125
- * The kind of resource operations supported by the client.
126
- */
127
- export declare type ResourceOperationKind = 'create' | 'rename' | 'delete';
128
- export declare namespace ResourceOperationKind {
129
- /**
130
- * Supports creating new files and folders.
131
- */
132
- const Create: ResourceOperationKind;
133
- /**
134
- * Supports renaming existing files and folders.
135
- */
136
- const Rename: ResourceOperationKind;
137
- /**
138
- * Supports deleting existing files and folders.
139
- */
140
- const Delete: ResourceOperationKind;
141
- }
142
- export declare type FailureHandlingKind = 'abort' | 'transactional' | 'undo' | 'textOnlyTransactional';
143
- export declare namespace FailureHandlingKind {
144
- /**
145
- * Applying the workspace change is simply aborted if one of the changes provided
146
- * fails. All operations executed before the failing operation stay executed.
147
- */
148
- const Abort: FailureHandlingKind;
149
- /**
150
- * All operations are executed transactional. That means they either all
151
- * succeed or no changes at all are applied to the workspace.
152
- */
153
- const Transactional: FailureHandlingKind;
154
- /**
155
- * If the workspace edit contains only textual file changes they are executed transactional.
156
- * If resource changes (create, rename or delete file) are part of the change the failure
157
- * handling startegy is abort.
158
- */
159
- const TextOnlyTransactional: FailureHandlingKind;
160
- /**
161
- * The client tries to undo the operations already executed. But there is no
162
- * guaruntee that this is succeeding.
163
- */
164
- const Undo: FailureHandlingKind;
165
- }
166
- /**
167
- * Workspace specific client capabilities.
168
- */
169
- export interface WorkspaceClientCapabilities {
170
- /**
171
- * The client supports applying batch edits
172
- * to the workspace by supporting the request
173
- * 'workspace/applyEdit'
174
- */
175
- applyEdit?: boolean;
176
- /**
177
- * Capabilities specific to `WorkspaceEdit`s
178
- */
179
- workspaceEdit?: {
180
- /**
181
- * The client supports versioned document changes in `WorkspaceEdit`s
182
- */
183
- documentChanges?: boolean;
184
- /**
185
- * The resource operations the client supports. Clients should at least
186
- * support 'create', 'rename' and 'delete' files and folders.
187
- */
188
- resourceOperations?: ResourceOperationKind[];
189
- /**
190
- * The failure handling strategy of a client if applying the workspace edit
191
- * failes.
192
- */
193
- failureHandling?: FailureHandlingKind;
194
- };
195
- /**
196
- * Capabilities specific to the `workspace/didChangeConfiguration` notification.
197
- */
198
- didChangeConfiguration?: {
199
- /**
200
- * Did change configuration notification supports dynamic registration.
201
- */
202
- dynamicRegistration?: boolean;
203
- };
204
- /**
205
- * Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
206
- */
207
- didChangeWatchedFiles?: {
208
- /**
209
- * Did change watched files notification supports dynamic registration. Please note
210
- * that the current protocol doesn't support static configuration for file changes
211
- * from the server side.
212
- */
213
- dynamicRegistration?: boolean;
214
- };
215
- /**
216
- * Capabilities specific to the `workspace/symbol` request.
217
- */
218
- symbol?: {
219
- /**
220
- * Symbol request supports dynamic registration.
221
- */
222
- dynamicRegistration?: boolean;
223
- /**
224
- * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
225
- */
226
- symbolKind?: {
227
- /**
228
- * The symbol kind values the client supports. When this
229
- * property exists the client also guarantees that it will
230
- * handle values outside its set gracefully and falls back
231
- * to a default value when unknown.
232
- *
233
- * If this property is not present the client only supports
234
- * the symbol kinds from `File` to `Array` as defined in
235
- * the initial version of the protocol.
236
- */
237
- valueSet?: SymbolKind[];
238
- };
239
- };
240
- /**
241
- * Capabilities specific to the `workspace/executeCommand` request.
242
- */
243
- executeCommand?: {
244
- /**
245
- * Execute command supports dynamic registration.
246
- */
247
- dynamicRegistration?: boolean;
248
- };
249
- }
250
- /**
251
- * Text document specific client capabilities.
252
- */
253
- export interface TextDocumentClientCapabilities {
254
- /**
255
- * Defines which synchronization capabilities the client supports.
256
- */
257
- synchronization?: {
258
- /**
259
- * Whether text document synchronization supports dynamic registration.
260
- */
261
- dynamicRegistration?: boolean;
262
- /**
263
- * The client supports sending will save notifications.
264
- */
265
- willSave?: boolean;
266
- /**
267
- * The client supports sending a will save request and
268
- * waits for a response providing text edits which will
269
- * be applied to the document before it is saved.
270
- */
271
- willSaveWaitUntil?: boolean;
272
- /**
273
- * The client supports did save notifications.
274
- */
275
- didSave?: boolean;
276
- };
277
- /**
278
- * Capabilities specific to the `textDocument/completion`
279
- */
280
- completion?: {
281
- /**
282
- * Whether completion supports dynamic registration.
283
- */
284
- dynamicRegistration?: boolean;
285
- /**
286
- * The client supports the following `CompletionItem` specific
287
- * capabilities.
288
- */
289
- completionItem?: {
290
- /**
291
- * Client supports snippets as insert text.
292
- *
293
- * A snippet can define tab stops and placeholders with `$1`, `$2`
294
- * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
295
- * the end of the snippet. Placeholders with equal identifiers are linked,
296
- * that is typing in one will update others too.
297
- */
298
- snippetSupport?: boolean;
299
- /**
300
- * Client supports commit characters on a completion item.
301
- */
302
- commitCharactersSupport?: boolean;
303
- /**
304
- * Client supports the follow content formats for the documentation
305
- * property. The order describes the preferred format of the client.
306
- */
307
- documentationFormat?: MarkupKind[];
308
- /**
309
- * Client supports the deprecated property on a completion item.
310
- */
311
- deprecatedSupport?: boolean;
312
- /**
313
- * Client supports the preselect property on a completion item.
314
- */
315
- preselectSupport?: boolean;
316
- };
317
- completionItemKind?: {
318
- /**
319
- * The completion item kind values the client supports. When this
320
- * property exists the client also guarantees that it will
321
- * handle values outside its set gracefully and falls back
322
- * to a default value when unknown.
323
- *
324
- * If this property is not present the client only supports
325
- * the completion items kinds from `Text` to `Reference` as defined in
326
- * the initial version of the protocol.
327
- */
328
- valueSet?: CompletionItemKind[];
329
- };
330
- /**
331
- * The client supports to send additional context information for a
332
- * `textDocument/completion` requestion.
333
- */
334
- contextSupport?: boolean;
335
- };
336
- /**
337
- * Capabilities specific to the `textDocument/hover`
338
- */
339
- hover?: {
340
- /**
341
- * Whether hover supports dynamic registration.
342
- */
343
- dynamicRegistration?: boolean;
344
- /**
345
- * Client supports the follow content formats for the content
346
- * property. The order describes the preferred format of the client.
347
- */
348
- contentFormat?: MarkupKind[];
349
- };
350
- /**
351
- * Capabilities specific to the `textDocument/signatureHelp`
352
- */
353
- signatureHelp?: {
354
- /**
355
- * Whether signature help supports dynamic registration.
356
- */
357
- dynamicRegistration?: boolean;
358
- /**
359
- * The client supports the following `SignatureInformation`
360
- * specific properties.
361
- */
362
- signatureInformation?: {
363
- /**
364
- * Client supports the follow content formats for the documentation
365
- * property. The order describes the preferred format of the client.
366
- */
367
- documentationFormat?: MarkupKind[];
368
- /**
369
- * Client capabilities specific to parameter information.
370
- */
371
- parameterInformation?: {
372
- /**
373
- * The client supports processing label offsets instead of a
374
- * simple label string.
375
- */
376
- labelOffsetSupport?: boolean;
377
- };
378
- };
379
- };
380
- /**
381
- * Capabilities specific to the `textDocument/references`
382
- */
383
- references?: {
384
- /**
385
- * Whether references supports dynamic registration.
386
- */
387
- dynamicRegistration?: boolean;
388
- };
389
- /**
390
- * Capabilities specific to the `textDocument/documentHighlight`
391
- */
392
- documentHighlight?: {
393
- /**
394
- * Whether document highlight supports dynamic registration.
395
- */
396
- dynamicRegistration?: boolean;
397
- };
398
- /**
399
- * Capabilities specific to the `textDocument/documentSymbol`
400
- */
401
- documentSymbol?: {
402
- /**
403
- * Whether document symbol supports dynamic registration.
404
- */
405
- dynamicRegistration?: boolean;
406
- /**
407
- * Specific capabilities for the `SymbolKind`.
408
- */
409
- symbolKind?: {
410
- /**
411
- * The symbol kind values the client supports. When this
412
- * property exists the client also guarantees that it will
413
- * handle values outside its set gracefully and falls back
414
- * to a default value when unknown.
415
- *
416
- * If this property is not present the client only supports
417
- * the symbol kinds from `File` to `Array` as defined in
418
- * the initial version of the protocol.
419
- */
420
- valueSet?: SymbolKind[];
421
- };
422
- /**
423
- * The client support hierarchical document symbols.
424
- */
425
- hierarchicalDocumentSymbolSupport?: boolean;
426
- };
427
- /**
428
- * Capabilities specific to the `textDocument/formatting`
429
- */
430
- formatting?: {
431
- /**
432
- * Whether formatting supports dynamic registration.
433
- */
434
- dynamicRegistration?: boolean;
435
- };
436
- /**
437
- * Capabilities specific to the `textDocument/rangeFormatting`
438
- */
439
- rangeFormatting?: {
440
- /**
441
- * Whether range formatting supports dynamic registration.
442
- */
443
- dynamicRegistration?: boolean;
444
- };
445
- /**
446
- * Capabilities specific to the `textDocument/onTypeFormatting`
447
- */
448
- onTypeFormatting?: {
449
- /**
450
- * Whether on type formatting supports dynamic registration.
451
- */
452
- dynamicRegistration?: boolean;
453
- };
454
- /**
455
- * Capabilities specific to the `textDocument/definition`
456
- */
457
- definition?: {
458
- /**
459
- * Whether definition supports dynamic registration.
460
- */
461
- dynamicRegistration?: boolean;
462
- /**
463
- * The client supports additional metadata in the form of definition links.
464
- */
465
- linkSupport?: boolean;
466
- };
467
- /**
468
- * Capabilities specific to the `textDocument/codeAction`
469
- */
470
- codeAction?: {
471
- /**
472
- * Whether code action supports dynamic registration.
473
- */
474
- dynamicRegistration?: boolean;
475
- /**
476
- * The client support code action literals as a valid
477
- * response of the `textDocument/codeAction` request.
478
- */
479
- codeActionLiteralSupport?: {
480
- /**
481
- * The code action kind is support with the following value
482
- * set.
483
- */
484
- codeActionKind: {
485
- /**
486
- * The code action kind values the client supports. When this
487
- * property exists the client also guarantees that it will
488
- * handle values outside its set gracefully and falls back
489
- * to a default value when unknown.
490
- */
491
- valueSet: CodeActionKind[];
492
- };
493
- };
494
- };
495
- /**
496
- * Capabilities specific to the `textDocument/codeLens`
497
- */
498
- codeLens?: {
499
- /**
500
- * Whether code lens supports dynamic registration.
501
- */
502
- dynamicRegistration?: boolean;
503
- };
504
- /**
505
- * Capabilities specific to the `textDocument/documentLink`
506
- */
507
- documentLink?: {
508
- /**
509
- * Whether document link supports dynamic registration.
510
- */
511
- dynamicRegistration?: boolean;
512
- };
513
- /**
514
- * Capabilities specific to the `textDocument/rename`
515
- */
516
- rename?: {
517
- /**
518
- * Whether rename supports dynamic registration.
519
- */
520
- dynamicRegistration?: boolean;
521
- /**
522
- * Client supports testing for validity of rename operations
523
- * before execution.
524
- */
525
- prepareSupport?: boolean;
526
- };
527
- /**
528
- * Capabilities specific to `textDocument/publishDiagnostics`.
529
- */
530
- publishDiagnostics?: {
531
- /**
532
- * Whether the clients accepts diagnostics with related information.
533
- */
534
- relatedInformation?: boolean;
535
- /**
536
- * Client supports the tag property to provide meta data about a diagnostic.
537
- */
538
- tagSupport?: boolean;
539
- };
540
- }
541
- /**
542
- * Defines the capabilities provided by the client.
543
- */
544
- export interface _ClientCapabilities {
545
- /**
546
- * Workspace specific client capabilities.
547
- */
548
- workspace?: WorkspaceClientCapabilities;
549
- /**
550
- * Text document specific client capabilities.
551
- */
552
- textDocument?: TextDocumentClientCapabilities;
553
- /**
554
- * Experimental client capabilities.
555
- */
556
- experimental?: any;
557
- }
558
- export declare type ClientCapabilities = _ClientCapabilities & ImplementationClientCapabilities & TypeDefinitionClientCapabilities & WorkspaceFoldersClientCapabilities & ConfigurationClientCapabilities & ColorClientCapabilities & FoldingRangeClientCapabilities & DeclarationClientCapabilities & SelectionRangeClientCapabilities;
559
- /**
560
- * Defines how the host (editor) should sync
561
- * document changes to the language server.
562
- */
563
- export declare namespace TextDocumentSyncKind {
564
- /**
565
- * Documents should not be synced at all.
566
- */
567
- const None = 0;
568
- /**
569
- * Documents are synced by always sending the full content
570
- * of the document.
571
- */
572
- const Full = 1;
573
- /**
574
- * Documents are synced by sending the full content on open.
575
- * After that only incremental updates to the document are
576
- * send.
577
- */
578
- const Incremental = 2;
579
- }
580
- export declare type TextDocumentSyncKind = 0 | 1 | 2;
581
- /**
582
- * Static registration options to be returned in the initialize
583
- * request.
584
- */
585
- export interface StaticRegistrationOptions {
586
- /**
587
- * The id used to register the request. The id can be used to deregister
588
- * the request again. See also Registration#id.
589
- */
590
- id?: string;
591
- }
592
- /**
593
- * General text document registration options.
594
- */
595
- export interface TextDocumentRegistrationOptions {
596
- /**
597
- * A document selector to identify the scope of the registration. If set to null
598
- * the document selector provided on the client side will be used.
599
- */
600
- documentSelector: DocumentSelector | null;
601
- }
602
- /**
603
- * Completion options.
604
- */
605
- export interface CompletionOptions {
606
- /**
607
- * Most tools trigger completion request automatically without explicitly requesting
608
- * it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
609
- * starts to type an identifier. For example if the user types `c` in a JavaScript file
610
- * code complete will automatically pop up present `console` besides others as a
611
- * completion item. Characters that make up identifiers don't need to be listed here.
612
- *
613
- * If code complete should automatically be trigger on characters not being valid inside
614
- * an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
615
- */
616
- triggerCharacters?: string[];
617
- /**
618
- * The list of all possible characters that commit a completion. This field can be used
619
- * if clients don't support individual commmit characters per completion item. See
620
- * `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
621
- */
622
- allCommitCharacters?: string[];
623
- /**
624
- * The server provides support to resolve additional
625
- * information for a completion item.
626
- */
627
- resolveProvider?: boolean;
628
- }
629
- /**
630
- * Signature help options.
631
- */
632
- export interface SignatureHelpOptions {
633
- /**
634
- * The characters that trigger signature help
635
- * automatically.
636
- */
637
- triggerCharacters?: string[];
638
- }
639
- /**
640
- * Code Action options.
641
- */
642
- export interface CodeActionOptions {
643
- /**
644
- * CodeActionKinds that this server may return.
645
- *
646
- * The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
647
- * may list out every specific kind they provide.
648
- */
649
- codeActionKinds?: CodeActionKind[];
650
- }
651
- /**
652
- * Code Lens options.
653
- */
654
- export interface CodeLensOptions {
655
- /**
656
- * Code lens has a resolve provider as well.
657
- */
658
- resolveProvider?: boolean;
659
- }
660
- /**
661
- * Format document on type options
662
- */
663
- export interface DocumentOnTypeFormattingOptions {
664
- /**
665
- * A character on which formatting should be triggered, like `}`.
666
- */
667
- firstTriggerCharacter: string;
668
- /**
669
- * More trigger characters.
670
- */
671
- moreTriggerCharacter?: string[];
672
- }
673
- /**
674
- * Rename options
675
- */
676
- export interface RenameOptions {
677
- /**
678
- * Renames should be checked and tested before being executed.
679
- */
680
- prepareProvider?: boolean;
681
- }
682
- /**
683
- * Document link options
684
- */
685
- export interface DocumentLinkOptions {
686
- /**
687
- * Document links have a resolve provider as well.
688
- */
689
- resolveProvider?: boolean;
690
- }
691
- /**
692
- * Execute command options.
693
- */
694
- export interface ExecuteCommandOptions {
695
- /**
696
- * The commands to be executed on the server
697
- */
698
- commands: string[];
699
- }
700
- /**
701
- * Save options.
702
- */
703
- export interface SaveOptions {
704
- /**
705
- * The client is supposed to include the content on save.
706
- */
707
- includeText?: boolean;
708
- }
709
- export interface TextDocumentSyncOptions {
710
- /**
711
- * Open and close notifications are sent to the server.
712
- */
713
- openClose?: boolean;
714
- /**
715
- * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
716
- * and TextDocumentSyncKind.Incremental.
717
- */
718
- change?: TextDocumentSyncKind;
719
- /**
720
- * Will save notifications are sent to the server.
721
- */
722
- willSave?: boolean;
723
- /**
724
- * Will save wait until requests are sent to the server.
725
- */
726
- willSaveWaitUntil?: boolean;
727
- /**
728
- * Save notifications are sent to the server.
729
- */
730
- save?: SaveOptions;
731
- }
732
- /**
733
- * Defines the capabilities provided by a language
734
- * server.
735
- */
736
- export interface _ServerCapabilities<T = any> {
737
- /**
738
- * Defines how text documents are synced. Is either a detailed structure defining each notification or
739
- * for backwards compatibility the TextDocumentSyncKind number.
740
- */
741
- textDocumentSync?: TextDocumentSyncOptions | TextDocumentSyncKind;
742
- /**
743
- * The server provides hover support.
744
- */
745
- hoverProvider?: boolean;
746
- /**
747
- * The server provides completion support.
748
- */
749
- completionProvider?: CompletionOptions;
750
- /**
751
- * The server provides signature help support.
752
- */
753
- signatureHelpProvider?: SignatureHelpOptions;
754
- /**
755
- * The server provides goto definition support.
756
- */
757
- definitionProvider?: boolean;
758
- /**
759
- * The server provides find references support.
760
- */
761
- referencesProvider?: boolean;
762
- /**
763
- * The server provides document highlight support.
764
- */
765
- documentHighlightProvider?: boolean;
766
- /**
767
- * The server provides document symbol support.
768
- */
769
- documentSymbolProvider?: boolean;
770
- /**
771
- * The server provides workspace symbol support.
772
- */
773
- workspaceSymbolProvider?: boolean;
774
- /**
775
- * The server provides code actions. CodeActionOptions may only be
776
- * specified if the client states that it supports
777
- * `codeActionLiteralSupport` in its initial `initialize` request.
778
- */
779
- codeActionProvider?: boolean | CodeActionOptions;
780
- /**
781
- * The server provides code lens.
782
- */
783
- codeLensProvider?: CodeLensOptions;
784
- /**
785
- * The server provides document formatting.
786
- */
787
- documentFormattingProvider?: boolean;
788
- /**
789
- * The server provides document range formatting.
790
- */
791
- documentRangeFormattingProvider?: boolean;
792
- /**
793
- * The server provides document formatting on typing.
794
- */
795
- documentOnTypeFormattingProvider?: {
796
- /**
797
- * A character on which formatting should be triggered, like `}`.
798
- */
799
- firstTriggerCharacter: string;
800
- /**
801
- * More trigger characters.
802
- */
803
- moreTriggerCharacter?: string[];
804
- };
805
- /**
806
- * The server provides rename support. RenameOptions may only be
807
- * specified if the client states that it supports
808
- * `prepareSupport` in its initial `initialize` request.
809
- */
810
- renameProvider?: boolean | RenameOptions;
811
- /**
812
- * The server provides document link support.
813
- */
814
- documentLinkProvider?: DocumentLinkOptions;
815
- /**
816
- * The server provides execute command support.
817
- */
818
- executeCommandProvider?: ExecuteCommandOptions;
819
- /**
820
- * Experimental server capabilities.
821
- */
822
- experimental?: T;
823
- }
824
- export declare type ServerCapabilities<T = any> = _ServerCapabilities<T> & ImplementationServerCapabilities & TypeDefinitionServerCapabilities & WorkspaceFoldersServerCapabilities & ColorServerCapabilities & FoldingRangeServerCapabilities & DeclarationServerCapabilities & SelectionRangeServerCapabilities;
825
- /**
826
- * The initialize request is sent from the client to the server.
827
- * It is sent once as the request after starting up the server.
828
- * The requests parameter is of type [InitializeParams](#InitializeParams)
829
- * the response if of type [InitializeResult](#InitializeResult) of a Thenable that
830
- * resolves to such.
831
- */
832
- export declare namespace InitializeRequest {
833
- const type: RequestType<InitializeParams, InitializeResult<any>, InitializeError, void>;
834
- }
835
- /**
836
- * The initialize parameters
837
- */
838
- export interface _InitializeParams {
839
- /**
840
- * The process Id of the parent process that started
841
- * the server.
842
- */
843
- processId: number | null;
844
- /**
845
- * The rootPath of the workspace. Is null
846
- * if no folder is open.
847
- *
848
- * @deprecated in favour of rootUri.
849
- */
850
- rootPath?: string | null;
851
- /**
852
- * The rootUri of the workspace. Is null if no
853
- * folder is open. If both `rootPath` and `rootUri` are set
854
- * `rootUri` wins.
855
- *
856
- * @deprecated in favour of workspaceFolders.
857
- */
858
- rootUri: string | null;
859
- /**
860
- * The capabilities provided by the client (editor or tool)
861
- */
862
- capabilities: ClientCapabilities;
863
- /**
864
- * User provided initialization options.
865
- */
866
- initializationOptions?: any;
867
- /**
868
- * The initial trace setting. If omitted trace is disabled ('off').
869
- */
870
- trace?: 'off' | 'messages' | 'verbose';
871
- }
872
- export declare type InitializeParams = _InitializeParams & WorkspaceFoldersInitializeParams;
873
- /**
874
- * The result returned from an initialize request.
875
- */
876
- export interface InitializeResult<T = any> {
877
- /**
878
- * The capabilities the language server provides.
879
- */
880
- capabilities: ServerCapabilities<T>;
881
- /**
882
- * Custom initialization results.
883
- */
884
- [custom: string]: any;
885
- }
886
- /**
887
- * Known error codes for an `InitializeError`;
888
- */
889
- export declare namespace InitializeError {
890
- /**
891
- * If the protocol version provided by the client can't be handled by the server.
892
- * @deprecated This initialize error got replaced by client capabilities. There is
893
- * no version handshake in version 3.0x
894
- */
895
- const unknownProtocolVersion: number;
896
- }
897
- /**
898
- * The data type of the ResponseError if the
899
- * initialize request fails.
900
- */
901
- export interface InitializeError {
902
- /**
903
- * Indicates whether the client execute the following retry logic:
904
- * (1) show the message provided by the ResponseError to the user
905
- * (2) user selects retry or cancel
906
- * (3) if user selected retry the initialize method is sent again.
907
- */
908
- retry: boolean;
909
- }
910
- export interface InitializedParams {
911
- }
912
- /**
913
- * The intialized notification is sent from the client to the
914
- * server after the client is fully initialized and the server
915
- * is allowed to send requests from the server to the client.
916
- */
917
- export declare namespace InitializedNotification {
918
- const type: NotificationType<InitializedParams, void>;
919
- }
920
- /**
921
- * A shutdown request is sent from the client to the server.
922
- * It is sent once when the client decides to shutdown the
923
- * server. The only notification that is sent after a shutdown request
924
- * is the exit event.
925
- */
926
- export declare namespace ShutdownRequest {
927
- const type: RequestType0<void, void, void>;
928
- }
929
- /**
930
- * The exit event is sent from the client to the server to
931
- * ask the server to exit its process.
932
- */
933
- export declare namespace ExitNotification {
934
- const type: NotificationType0<void>;
935
- }
936
- /**
937
- * The configuration change notification is sent from the client to the server
938
- * when the client's configuration has changed. The notification contains
939
- * the changed configuration as defined by the language client.
940
- */
941
- export declare namespace DidChangeConfigurationNotification {
942
- const type: NotificationType<DidChangeConfigurationParams, DidChangeConfigurationRegistrationOptions>;
943
- }
944
- export interface DidChangeConfigurationRegistrationOptions {
945
- section?: string | string[];
946
- }
947
- /**
948
- * The parameters of a change configuration notification.
949
- */
950
- export interface DidChangeConfigurationParams {
951
- /**
952
- * The actual changed settings
953
- */
954
- settings: any;
955
- }
956
- /**
957
- * The message type
958
- */
959
- export declare namespace MessageType {
960
- /**
961
- * An error message.
962
- */
963
- const Error = 1;
964
- /**
965
- * A warning message.
966
- */
967
- const Warning = 2;
968
- /**
969
- * An information message.
970
- */
971
- const Info = 3;
972
- /**
973
- * A log message.
974
- */
975
- const Log = 4;
976
- }
977
- export declare type MessageType = 1 | 2 | 3 | 4;
978
- /**
979
- * The parameters of a notification message.
980
- */
981
- export interface ShowMessageParams {
982
- /**
983
- * The message type. See {@link MessageType}
984
- */
985
- type: MessageType;
986
- /**
987
- * The actual message
988
- */
989
- message: string;
990
- }
991
- /**
992
- * The show message notification is sent from a server to a client to ask
993
- * the client to display a particular message in the user interface.
994
- */
995
- export declare namespace ShowMessageNotification {
996
- const type: NotificationType<ShowMessageParams, void>;
997
- }
998
- export interface MessageActionItem {
999
- /**
1000
- * A short title like 'Retry', 'Open Log' etc.
1001
- */
1002
- title: string;
1003
- }
1004
- export interface ShowMessageRequestParams {
1005
- /**
1006
- * The message type. See {@link MessageType}
1007
- */
1008
- type: MessageType;
1009
- /**
1010
- * The actual message
1011
- */
1012
- message: string;
1013
- /**
1014
- * The message action items to present.
1015
- */
1016
- actions?: MessageActionItem[];
1017
- }
1018
- /**
1019
- * The show message request is sent from the server to the client to show a message
1020
- * and a set of options actions to the user.
1021
- */
1022
- export declare namespace ShowMessageRequest {
1023
- const type: RequestType<ShowMessageRequestParams, MessageActionItem | null, void, void>;
1024
- }
1025
- /**
1026
- * The log message notification is sent from the server to the client to ask
1027
- * the client to log a particular message.
1028
- */
1029
- export declare namespace LogMessageNotification {
1030
- const type: NotificationType<LogMessageParams, void>;
1031
- }
1032
- /**
1033
- * The log message parameters.
1034
- */
1035
- export interface LogMessageParams {
1036
- /**
1037
- * The message type. See {@link MessageType}
1038
- */
1039
- type: MessageType;
1040
- /**
1041
- * The actual message
1042
- */
1043
- message: string;
1044
- }
1045
- /**
1046
- * The telemetry event notification is sent from the server to the client to ask
1047
- * the client to log telemetry data.
1048
- */
1049
- export declare namespace TelemetryEventNotification {
1050
- const type: NotificationType<any, void>;
1051
- }
1052
- /**
1053
- * The parameters send in a open text document notification
1054
- */
1055
- export interface DidOpenTextDocumentParams {
1056
- /**
1057
- * The document that was opened.
1058
- */
1059
- textDocument: TextDocumentItem;
1060
- }
1061
- /**
1062
- * The document open notification is sent from the client to the server to signal
1063
- * newly opened text documents. The document's truth is now managed by the client
1064
- * and the server must not try to read the document's truth using the document's
1065
- * uri. Open in this sense means it is managed by the client. It doesn't necessarily
1066
- * mean that its content is presented in an editor. An open notification must not
1067
- * be sent more than once without a corresponding close notification send before.
1068
- * This means open and close notification must be balanced and the max open count
1069
- * is one.
1070
- */
1071
- export declare namespace DidOpenTextDocumentNotification {
1072
- const type: NotificationType<DidOpenTextDocumentParams, TextDocumentRegistrationOptions>;
1073
- }
1074
- /**
1075
- * The change text document notification's parameters.
1076
- */
1077
- export interface DidChangeTextDocumentParams {
1078
- /**
1079
- * The document that did change. The version number points
1080
- * to the version after all provided content changes have
1081
- * been applied.
1082
- */
1083
- textDocument: VersionedTextDocumentIdentifier;
1084
- /**
1085
- * The actual content changes. The content changes describe single state changes
1086
- * to the document. So if there are two content changes c1 and c2 for a document
1087
- * in state S then c1 move the document to S' and c2 to S''.
1088
- */
1089
- contentChanges: TextDocumentContentChangeEvent[];
1090
- }
1091
- /**
1092
- * Describe options to be used when registered for text document change events.
1093
- */
1094
- export interface TextDocumentChangeRegistrationOptions extends TextDocumentRegistrationOptions {
1095
- /**
1096
- * How documents are synced to the server.
1097
- */
1098
- syncKind: TextDocumentSyncKind;
1099
- }
1100
- /**
1101
- * The document change notification is sent from the client to the server to signal
1102
- * changes to a text document.
1103
- */
1104
- export declare namespace DidChangeTextDocumentNotification {
1105
- const type: NotificationType<DidChangeTextDocumentParams, TextDocumentChangeRegistrationOptions>;
1106
- }
1107
- /**
1108
- * The parameters send in a close text document notification
1109
- */
1110
- export interface DidCloseTextDocumentParams {
1111
- /**
1112
- * The document that was closed.
1113
- */
1114
- textDocument: TextDocumentIdentifier;
1115
- }
1116
- /**
1117
- * The document close notification is sent from the client to the server when
1118
- * the document got closed in the client. The document's truth now exists where
1119
- * the document's uri points to (e.g. if the document's uri is a file uri the
1120
- * truth now exists on disk). As with the open notification the close notification
1121
- * is about managing the document's content. Receiving a close notification
1122
- * doesn't mean that the document was open in an editor before. A close
1123
- * notification requires a previous open notification to be sent.
1124
- */
1125
- export declare namespace DidCloseTextDocumentNotification {
1126
- const type: NotificationType<DidCloseTextDocumentParams, TextDocumentRegistrationOptions>;
1127
- }
1128
- /**
1129
- * The parameters send in a save text document notification
1130
- */
1131
- export interface DidSaveTextDocumentParams {
1132
- /**
1133
- * The document that was closed.
1134
- */
1135
- textDocument: VersionedTextDocumentIdentifier;
1136
- /**
1137
- * Optional the content when saved. Depends on the includeText value
1138
- * when the save notification was requested.
1139
- */
1140
- text?: string;
1141
- }
1142
- /**
1143
- * Save registration options.
1144
- */
1145
- export interface TextDocumentSaveRegistrationOptions extends TextDocumentRegistrationOptions, SaveOptions {
1146
- }
1147
- /**
1148
- * The document save notification is sent from the client to the server when
1149
- * the document got saved in the client.
1150
- */
1151
- export declare namespace DidSaveTextDocumentNotification {
1152
- const type: NotificationType<DidSaveTextDocumentParams, TextDocumentSaveRegistrationOptions>;
1153
- }
1154
- /**
1155
- * The parameters send in a will save text document notification.
1156
- */
1157
- export interface WillSaveTextDocumentParams {
1158
- /**
1159
- * The document that will be saved.
1160
- */
1161
- textDocument: TextDocumentIdentifier;
1162
- /**
1163
- * The 'TextDocumentSaveReason'.
1164
- */
1165
- reason: TextDocumentSaveReason;
1166
- }
1167
- /**
1168
- * A document will save notification is sent from the client to the server before
1169
- * the document is actually saved.
1170
- */
1171
- export declare namespace WillSaveTextDocumentNotification {
1172
- const type: NotificationType<WillSaveTextDocumentParams, TextDocumentRegistrationOptions>;
1173
- }
1174
- /**
1175
- * A document will save request is sent from the client to the server before
1176
- * the document is actually saved. The request can return an array of TextEdits
1177
- * which will be applied to the text document before it is saved. Please note that
1178
- * clients might drop results if computing the text edits took too long or if a
1179
- * server constantly fails on this request. This is done to keep the save fast and
1180
- * reliable.
1181
- */
1182
- export declare namespace WillSaveTextDocumentWaitUntilRequest {
1183
- const type: RequestType<WillSaveTextDocumentParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1184
- }
1185
- /**
1186
- * The watched files notification is sent from the client to the server when
1187
- * the client detects changes to file watched by the language client.
1188
- */
1189
- export declare namespace DidChangeWatchedFilesNotification {
1190
- const type: NotificationType<DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions>;
1191
- }
1192
- /**
1193
- * The watched files change notification's parameters.
1194
- */
1195
- export interface DidChangeWatchedFilesParams {
1196
- /**
1197
- * The actual file events.
1198
- */
1199
- changes: FileEvent[];
1200
- }
1201
- /**
1202
- * The file event type
1203
- */
1204
- export declare namespace FileChangeType {
1205
- /**
1206
- * The file got created.
1207
- */
1208
- const Created = 1;
1209
- /**
1210
- * The file got changed.
1211
- */
1212
- const Changed = 2;
1213
- /**
1214
- * The file got deleted.
1215
- */
1216
- const Deleted = 3;
1217
- }
1218
- export declare type FileChangeType = 1 | 2 | 3;
1219
- /**
1220
- * An event describing a file change.
1221
- */
1222
- export interface FileEvent {
1223
- /**
1224
- * The file's uri.
1225
- */
1226
- uri: string;
1227
- /**
1228
- * The change type.
1229
- */
1230
- type: FileChangeType;
1231
- }
1232
- /**
1233
- * Describe options to be used when registered for text document change events.
1234
- */
1235
- export interface DidChangeWatchedFilesRegistrationOptions {
1236
- /**
1237
- * The watchers to register.
1238
- */
1239
- watchers: FileSystemWatcher[];
1240
- }
1241
- export interface FileSystemWatcher {
1242
- /**
1243
- * The glob pattern to watch. Glob patterns can have the following syntax:
1244
- * - `*` to match one or more characters in a path segment
1245
- * - `?` to match on one character in a path segment
1246
- * - `**` to match any number of path segments, including none
1247
- * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1248
- * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1249
- * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
1250
- */
1251
- globPattern: string;
1252
- /**
1253
- * The kind of events of interest. If omitted it defaults
1254
- * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
1255
- * which is 7.
1256
- */
1257
- kind?: number;
1258
- }
1259
- export declare namespace WatchKind {
1260
- /**
1261
- * Interested in create events.
1262
- */
1263
- const Create = 1;
1264
- /**
1265
- * Interested in change events
1266
- */
1267
- const Change = 2;
1268
- /**
1269
- * Interested in delete events
1270
- */
1271
- const Delete = 4;
1272
- }
1273
- /**
1274
- * Diagnostics notification are sent from the server to the client to signal
1275
- * results of validation runs.
1276
- */
1277
- export declare namespace PublishDiagnosticsNotification {
1278
- const type: NotificationType<PublishDiagnosticsParams, void>;
1279
- }
1280
- /**
1281
- * The publish diagnostic notification's parameters.
1282
- */
1283
- export interface PublishDiagnosticsParams {
1284
- /**
1285
- * The URI for which diagnostic information is reported.
1286
- */
1287
- uri: string;
1288
- /**
1289
- * Optional the version number of the document the diagnostics are published for.
1290
- */
1291
- version?: number;
1292
- /**
1293
- * An array of diagnostic information items.
1294
- */
1295
- diagnostics: Diagnostic[];
1296
- }
1297
- /**
1298
- * Completion registration options.
1299
- */
1300
- export interface CompletionRegistrationOptions extends TextDocumentRegistrationOptions, CompletionOptions {
1301
- }
1302
- /**
1303
- * How a completion was triggered
1304
- */
1305
- export declare namespace CompletionTriggerKind {
1306
- /**
1307
- * Completion was triggered by typing an identifier (24x7 code
1308
- * complete), manual invocation (e.g Ctrl+Space) or via API.
1309
- */
1310
- const Invoked: 1;
1311
- /**
1312
- * Completion was triggered by a trigger character specified by
1313
- * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
1314
- */
1315
- const TriggerCharacter: 2;
1316
- /**
1317
- * Completion was re-triggered as current completion list is incomplete
1318
- */
1319
- const TriggerForIncompleteCompletions: 3;
1320
- }
1321
- export declare type CompletionTriggerKind = 1 | 2 | 3;
1322
- /**
1323
- * Contains additional information about the context in which a completion request is triggered.
1324
- */
1325
- export interface CompletionContext {
1326
- /**
1327
- * How the completion was triggered.
1328
- */
1329
- triggerKind: CompletionTriggerKind;
1330
- /**
1331
- * The trigger character (a single character) that has trigger code complete.
1332
- * Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
1333
- */
1334
- triggerCharacter?: string;
1335
- }
1336
- /**
1337
- * Completion parameters
1338
- */
1339
- export interface CompletionParams extends TextDocumentPositionParams {
1340
- /**
1341
- * The completion context. This is only available it the client specifies
1342
- * to send this using `ClientCapabilities.textDocument.completion.contextSupport === true`
1343
- */
1344
- context?: CompletionContext;
1345
- }
1346
- /**
1347
- * Request to request completion at a given text document position. The request's
1348
- * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response
1349
- * is of type [CompletionItem[]](#CompletionItem) or [CompletionList](#CompletionList)
1350
- * or a Thenable that resolves to such.
1351
- *
1352
- * The request can delay the computation of the [`detail`](#CompletionItem.detail)
1353
- * and [`documentation`](#CompletionItem.documentation) properties to the `completionItem/resolve`
1354
- * request. However, properties that are needed for the initial sorting and filtering, like `sortText`,
1355
- * `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.
1356
- */
1357
- export declare namespace CompletionRequest {
1358
- const type: RequestType<CompletionParams, CompletionList | CompletionItem[] | null, void, CompletionRegistrationOptions>;
1359
- }
1360
- /**
1361
- * Request to resolve additional information for a given completion item.The request's
1362
- * parameter is of type [CompletionItem](#CompletionItem) the response
1363
- * is of type [CompletionItem](#CompletionItem) or a Thenable that resolves to such.
1364
- */
1365
- export declare namespace CompletionResolveRequest {
1366
- const type: RequestType<CompletionItem, CompletionItem, void, void>;
1367
- }
1368
- /**
1369
- * Request to request hover information at a given text document position. The request's
1370
- * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of
1371
- * type [Hover](#Hover) or a Thenable that resolves to such.
1372
- */
1373
- export declare namespace HoverRequest {
1374
- const type: RequestType<TextDocumentPositionParams, Hover | null, void, TextDocumentRegistrationOptions>;
1375
- }
1376
- /**
1377
- * Signature help registration options.
1378
- */
1379
- export interface SignatureHelpRegistrationOptions extends TextDocumentRegistrationOptions, SignatureHelpOptions {
1380
- }
1381
- export declare namespace SignatureHelpRequest {
1382
- const type: RequestType<TextDocumentPositionParams, SignatureHelp | null, void, SignatureHelpRegistrationOptions>;
1383
- }
1384
- /**
1385
- * A request to resolve the definition location of a symbol at a given text
1386
- * document position. The request's parameter is of type [TextDocumentPosition]
1387
- * (#TextDocumentPosition) the response is of either type [Definition](#Definition)
1388
- * or a typed array of [DefinitionLink](#DefinitionLink) or a Thenable that resolves
1389
- * to such.
1390
- */
1391
- export declare namespace DefinitionRequest {
1392
- const type: RequestType<TextDocumentPositionParams, Location | Location[] | LocationLink[] | null, void, TextDocumentRegistrationOptions>;
1393
- }
1394
- /**
1395
- * Parameters for a [ReferencesRequest](#ReferencesRequest).
1396
- */
1397
- export interface ReferenceParams extends TextDocumentPositionParams {
1398
- context: ReferenceContext;
1399
- }
1400
- /**
1401
- * A request to resolve project-wide references for the symbol denoted
1402
- * by the given text document position. The request's parameter is of
1403
- * type [ReferenceParams](#ReferenceParams) the response is of type
1404
- * [Location[]](#Location) or a Thenable that resolves to such.
1405
- */
1406
- export declare namespace ReferencesRequest {
1407
- const type: RequestType<ReferenceParams, Location[] | null, void, TextDocumentRegistrationOptions>;
1408
- }
1409
- /**
1410
- * Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given
1411
- * text document position. The request's parameter is of type [TextDocumentPosition]
1412
- * (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]
1413
- * (#DocumentHighlight) or a Thenable that resolves to such.
1414
- */
1415
- export declare namespace DocumentHighlightRequest {
1416
- const type: RequestType<TextDocumentPositionParams, DocumentHighlight[] | null, void, TextDocumentRegistrationOptions>;
1417
- }
1418
- /**
1419
- * A request to list all symbols found in a given text document. The request's
1420
- * parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the
1421
- * response is of type [SymbolInformation[]](#SymbolInformation) or a Thenable
1422
- * that resolves to such.
1423
- */
1424
- export declare namespace DocumentSymbolRequest {
1425
- const type: RequestType<DocumentSymbolParams, DocumentSymbol[] | SymbolInformation[] | null, void, TextDocumentRegistrationOptions>;
1426
- }
1427
- /**
1428
- * A request to list project-wide symbols matching the query string given
1429
- * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
1430
- * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
1431
- * resolves to such.
1432
- */
1433
- export declare namespace WorkspaceSymbolRequest {
1434
- const type: RequestType<WorkspaceSymbolParams, SymbolInformation[] | null, void, void>;
1435
- }
1436
- /**
1437
- * Params for the CodeActionRequest
1438
- */
1439
- export interface CodeActionParams {
1440
- /**
1441
- * The document in which the command was invoked.
1442
- */
1443
- textDocument: TextDocumentIdentifier;
1444
- /**
1445
- * The range for which the command was invoked.
1446
- */
1447
- range: Range;
1448
- /**
1449
- * Context carrying additional information.
1450
- */
1451
- context: CodeActionContext;
1452
- }
1453
- export interface CodeActionRegistrationOptions extends TextDocumentRegistrationOptions, CodeActionOptions {
1454
- }
1455
- /**
1456
- * A request to provide commands for the given text document and range.
1457
- */
1458
- export declare namespace CodeActionRequest {
1459
- const type: RequestType<CodeActionParams, (Command | CodeAction)[] | null, void, CodeActionRegistrationOptions>;
1460
- }
1461
- /**
1462
- * Params for the Code Lens request.
1463
- */
1464
- export interface CodeLensParams {
1465
- /**
1466
- * The document to request code lens for.
1467
- */
1468
- textDocument: TextDocumentIdentifier;
1469
- }
1470
- /**
1471
- * Code Lens registration options.
1472
- */
1473
- export interface CodeLensRegistrationOptions extends TextDocumentRegistrationOptions, CodeLensOptions {
1474
- }
1475
- /**
1476
- * A request to provide code lens for the given text document.
1477
- */
1478
- export declare namespace CodeLensRequest {
1479
- const type: RequestType<CodeLensParams, CodeLens[] | null, void, CodeLensRegistrationOptions>;
1480
- }
1481
- /**
1482
- * A request to resolve a command for a given code lens.
1483
- */
1484
- export declare namespace CodeLensResolveRequest {
1485
- const type: RequestType<CodeLens, CodeLens, void, void>;
1486
- }
1487
- export interface DocumentFormattingParams {
1488
- /**
1489
- * The document to format.
1490
- */
1491
- textDocument: TextDocumentIdentifier;
1492
- /**
1493
- * The format options
1494
- */
1495
- options: FormattingOptions;
1496
- }
1497
- /**
1498
- * A request to to format a whole document.
1499
- */
1500
- export declare namespace DocumentFormattingRequest {
1501
- const type: RequestType<DocumentFormattingParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1502
- }
1503
- export interface DocumentRangeFormattingParams {
1504
- /**
1505
- * The document to format.
1506
- */
1507
- textDocument: TextDocumentIdentifier;
1508
- /**
1509
- * The range to format
1510
- */
1511
- range: Range;
1512
- /**
1513
- * The format options
1514
- */
1515
- options: FormattingOptions;
1516
- }
1517
- /**
1518
- * A request to to format a range in a document.
1519
- */
1520
- export declare namespace DocumentRangeFormattingRequest {
1521
- const type: RequestType<DocumentRangeFormattingParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1522
- }
1523
- export interface DocumentOnTypeFormattingParams {
1524
- /**
1525
- * The document to format.
1526
- */
1527
- textDocument: TextDocumentIdentifier;
1528
- /**
1529
- * The position at which this request was send.
1530
- */
1531
- position: Position;
1532
- /**
1533
- * The character that has been typed.
1534
- */
1535
- ch: string;
1536
- /**
1537
- * The format options.
1538
- */
1539
- options: FormattingOptions;
1540
- }
1541
- /**
1542
- * Format document on type options
1543
- */
1544
- export interface DocumentOnTypeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentOnTypeFormattingOptions {
1545
- }
1546
- /**
1547
- * A request to format a document on type.
1548
- */
1549
- export declare namespace DocumentOnTypeFormattingRequest {
1550
- const type: RequestType<DocumentOnTypeFormattingParams, TextEdit[] | null, void, DocumentOnTypeFormattingRegistrationOptions>;
1551
- }
1552
- export interface RenameParams {
1553
- /**
1554
- * The document to rename.
1555
- */
1556
- textDocument: TextDocumentIdentifier;
1557
- /**
1558
- * The position at which this request was sent.
1559
- */
1560
- position: Position;
1561
- /**
1562
- * The new name of the symbol. If the given name is not valid the
1563
- * request must return a [ResponseError](#ResponseError) with an
1564
- * appropriate message set.
1565
- */
1566
- newName: string;
1567
- }
1568
- /**
1569
- * A request to rename a symbol.
1570
- */
1571
- export declare namespace RenameRequest {
1572
- const type: RequestType<RenameParams, WorkspaceEdit | null, void, RenameRegistrationOptions>;
1573
- }
1574
- /**
1575
- * A request to test and perform the setup necessary for a rename.
1576
- */
1577
- export declare namespace PrepareRenameRequest {
1578
- const type: RequestType<TextDocumentPositionParams, Range | {
1579
- range: Range;
1580
- placeholder: string;
1581
- } | null, void, void>;
1582
- }
1583
- /**
1584
- * Rename registration options.
1585
- */
1586
- export interface RenameRegistrationOptions extends TextDocumentRegistrationOptions, RenameOptions {
1587
- }
1588
- export interface DocumentLinkParams {
1589
- /**
1590
- * The document to provide document links for.
1591
- */
1592
- textDocument: TextDocumentIdentifier;
1593
- }
1594
- /**
1595
- * Document link registration options
1596
- */
1597
- export interface DocumentLinkRegistrationOptions extends TextDocumentRegistrationOptions, DocumentLinkOptions {
1598
- }
1599
- /**
1600
- * A request to provide document links
1601
- */
1602
- export declare namespace DocumentLinkRequest {
1603
- const type: RequestType<DocumentLinkParams, DocumentLink[] | null, void, DocumentLinkRegistrationOptions>;
1604
- }
1605
- /**
1606
- * Request to resolve additional information for a given document link. The request's
1607
- * parameter is of type [DocumentLink](#DocumentLink) the response
1608
- * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.
1609
- */
1610
- export declare namespace DocumentLinkResolveRequest {
1611
- const type: RequestType<DocumentLink, DocumentLink, void, void>;
1612
- }
1613
- export interface ExecuteCommandParams {
1614
- /**
1615
- * The identifier of the actual command handler.
1616
- */
1617
- command: string;
1618
- /**
1619
- * Arguments that the command should be invoked with.
1620
- */
1621
- arguments?: any[];
1622
- }
1623
- /**
1624
- * Execute command registration options.
1625
- */
1626
- export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions {
1627
- }
1628
- /**
1629
- * A request send from the client to the server to execute a command. The request might return
1630
- * a workspace edit which the client will apply to the workspace.
1631
- */
1632
- export declare namespace ExecuteCommandRequest {
1633
- const type: RequestType<ExecuteCommandParams, any, void, ExecuteCommandRegistrationOptions>;
1634
- }
1635
- /**
1636
- * The parameters passed via a apply workspace edit request.
1637
- */
1638
- export interface ApplyWorkspaceEditParams {
1639
- /**
1640
- * An optional label of the workspace edit. This label is
1641
- * presented in the user interface for example on an undo
1642
- * stack to undo the workspace edit.
1643
- */
1644
- label?: string;
1645
- /**
1646
- * The edits to apply.
1647
- */
1648
- edit: WorkspaceEdit;
1649
- }
1650
- /**
1651
- * A response returned from the apply workspace edit request.
1652
- */
1653
- export interface ApplyWorkspaceEditResponse {
1654
- /**
1655
- * Indicates whether the edit was applied or not.
1656
- */
1657
- applied: boolean;
1658
- /**
1659
- * An optional textual description for why the edit was not applied.
1660
- * This may be used by the server for diagnostic logging or to provide
1661
- * a suitable error for a request that triggered the edit.
1662
- */
1663
- failureReason?: string;
1664
- /**
1665
- * Depending on the client's failure handling strategy `failedChange` might
1666
- * contain the index of the change that failed. This property is only available
1667
- * if the client signals a `failureHandlingStrategy` in its client capabilities.
1668
- */
1669
- failedChange?: number;
1670
- }
1671
- /**
1672
- * A request sent from the server to the client to modified certain resources.
1673
- */
1674
- export declare namespace ApplyWorkspaceEditRequest {
1675
- const type: RequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResponse, void, void>;
1676
- }
1677
- export { ImplementationRequest, TypeDefinitionRequest, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, ConfigurationRequest, ConfigurationParams, ConfigurationItem, DocumentColorRequest, ColorPresentationRequest, ColorProviderOptions, DocumentColorParams, ColorPresentationParams, FoldingRangeClientCapabilities, FoldingRangeProviderOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeServerCapabilities, DeclarationClientCapabilities, DeclarationRequest, DeclarationServerCapabilities, SelectionRangeClientCapabilities, SelectionRangeProviderOptions, SelectionRangeRequest, SelectionRangeServerCapabilities, SelectionRangeKind, SelectionRange, SelectionRangeParams };
1
+ import { RequestType, RequestType0, NotificationType, NotificationType0 } from 'vscode-jsonrpc';
2
+ import { TextDocumentContentChangeEvent, Position, Range, Location, LocationLink, Diagnostic, Command, TextEdit, WorkspaceEdit, WorkspaceSymbolParams, DocumentUri, TextDocumentIdentifier, VersionedTextDocumentIdentifier, TextDocumentItem, TextDocumentSaveReason, CompletionItem, CompletionList, Hover, SignatureHelp, ReferenceContext, DocumentHighlight, DocumentSymbolParams, SymbolInformation, CodeLens, CodeActionContext, FormattingOptions, DocumentLink, MarkupKind, SymbolKind, CompletionItemKind, CodeAction, CodeActionKind, DocumentSymbol } from 'vscode-languageserver-types';
3
+ import { ImplementationRequest, ImplementationClientCapabilities, ImplementationServerCapabilities } from './protocol.implementation';
4
+ import { TypeDefinitionRequest, TypeDefinitionClientCapabilities, TypeDefinitionServerCapabilities } from './protocol.typeDefinition';
5
+ import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersClientCapabilities, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolders';
6
+ import { ConfigurationRequest, ConfigurationParams, ConfigurationItem, ConfigurationClientCapabilities } from './protocol.configuration';
7
+ import { DocumentColorRequest, ColorPresentationRequest, ColorProviderOptions, DocumentColorParams, ColorPresentationParams, ColorServerCapabilities, ColorClientCapabilities } from './protocol.colorProvider';
8
+ import { FoldingRangeClientCapabilities, FoldingRangeProviderOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeServerCapabilities } from './protocol.foldingRange';
9
+ import { DeclarationClientCapabilities, DeclarationRequest, DeclarationServerCapabilities } from './protocol.declaration';
10
+ import { SelectionRangeClientCapabilities, SelectionRangeProviderOptions, SelectionRangeRequest, SelectionRangeServerCapabilities, SelectionRangeParams } from './protocol.selectionRange';
11
+ /**
12
+ * A document filter denotes a document by different properties like
13
+ * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
14
+ * its resource, or a glob-pattern that is applied to the [path](#TextDocument.fileName).
15
+ *
16
+ * Glob patterns can have the following syntax:
17
+ * - `*` to match one or more characters in a path segment
18
+ * - `?` to match on one character in a path segment
19
+ * - `**` to match any number of path segments, including none
20
+ * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
21
+ * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
22
+ * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
23
+ *
24
+ * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
25
+ * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
26
+ */
27
+ export declare type DocumentFilter = {
28
+ /** A language id, like `typescript`. */
29
+ language: string;
30
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
31
+ scheme?: string;
32
+ /** A glob pattern, like `*.{ts,js}`. */
33
+ pattern?: string;
34
+ } | {
35
+ /** A language id, like `typescript`. */
36
+ language?: string;
37
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
38
+ scheme: string;
39
+ /** A glob pattern, like `*.{ts,js}`. */
40
+ pattern?: string;
41
+ } | {
42
+ /** A language id, like `typescript`. */
43
+ language?: string;
44
+ /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
45
+ scheme?: string;
46
+ /** A glob pattern, like `*.{ts,js}`. */
47
+ pattern: string;
48
+ };
49
+ export declare namespace DocumentFilter {
50
+ function is(value: any): value is DocumentFilter;
51
+ }
52
+ /**
53
+ * A document selector is the combination of one or many document filters.
54
+ *
55
+ * @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
56
+ */
57
+ export declare type DocumentSelector = (string | DocumentFilter)[];
58
+ /**
59
+ * General parameters to to register for an notification or to register a provider.
60
+ */
61
+ export interface Registration {
62
+ /**
63
+ * The id used to register the request. The id can be used to deregister
64
+ * the request again.
65
+ */
66
+ id: string;
67
+ /**
68
+ * The method to register for.
69
+ */
70
+ method: string;
71
+ /**
72
+ * Options necessary for the registration.
73
+ */
74
+ registerOptions?: any;
75
+ }
76
+ export interface RegistrationParams {
77
+ registrations: Registration[];
78
+ }
79
+ /**
80
+ * The `client/registerCapability` request is sent from the server to the client to register a new capability
81
+ * handler on the client side.
82
+ */
83
+ export declare namespace RegistrationRequest {
84
+ const type: RequestType<RegistrationParams, void, void, void>;
85
+ }
86
+ /**
87
+ * General parameters to unregister a request or notification.
88
+ */
89
+ export interface Unregistration {
90
+ /**
91
+ * The id used to unregister the request or notification. Usually an id
92
+ * provided during the register request.
93
+ */
94
+ id: string;
95
+ /**
96
+ * The method to unregister for.
97
+ */
98
+ method: string;
99
+ }
100
+ export interface UnregistrationParams {
101
+ unregisterations: Unregistration[];
102
+ }
103
+ /**
104
+ * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability
105
+ * handler on the client side.
106
+ */
107
+ export declare namespace UnregistrationRequest {
108
+ const type: RequestType<UnregistrationParams, void, void, void>;
109
+ }
110
+ /**
111
+ * A parameter literal used in requests to pass a text document and a position inside that
112
+ * document.
113
+ */
114
+ export interface TextDocumentPositionParams {
115
+ /**
116
+ * The text document.
117
+ */
118
+ textDocument: TextDocumentIdentifier;
119
+ /**
120
+ * The position inside the text document.
121
+ */
122
+ position: Position;
123
+ }
124
+ /**
125
+ * The kind of resource operations supported by the client.
126
+ */
127
+ export declare type ResourceOperationKind = 'create' | 'rename' | 'delete';
128
+ export declare namespace ResourceOperationKind {
129
+ /**
130
+ * Supports creating new files and folders.
131
+ */
132
+ const Create: ResourceOperationKind;
133
+ /**
134
+ * Supports renaming existing files and folders.
135
+ */
136
+ const Rename: ResourceOperationKind;
137
+ /**
138
+ * Supports deleting existing files and folders.
139
+ */
140
+ const Delete: ResourceOperationKind;
141
+ }
142
+ export declare type FailureHandlingKind = 'abort' | 'transactional' | 'undo' | 'textOnlyTransactional';
143
+ export declare namespace FailureHandlingKind {
144
+ /**
145
+ * Applying the workspace change is simply aborted if one of the changes provided
146
+ * fails. All operations executed before the failing operation stay executed.
147
+ */
148
+ const Abort: FailureHandlingKind;
149
+ /**
150
+ * All operations are executed transactional. That means they either all
151
+ * succeed or no changes at all are applied to the workspace.
152
+ */
153
+ const Transactional: FailureHandlingKind;
154
+ /**
155
+ * If the workspace edit contains only textual file changes they are executed transactional.
156
+ * If resource changes (create, rename or delete file) are part of the change the failure
157
+ * handling startegy is abort.
158
+ */
159
+ const TextOnlyTransactional: FailureHandlingKind;
160
+ /**
161
+ * The client tries to undo the operations already executed. But there is no
162
+ * guaruntee that this is succeeding.
163
+ */
164
+ const Undo: FailureHandlingKind;
165
+ }
166
+ /**
167
+ * Workspace specific client capabilities.
168
+ */
169
+ export interface WorkspaceClientCapabilities {
170
+ /**
171
+ * The client supports applying batch edits
172
+ * to the workspace by supporting the request
173
+ * 'workspace/applyEdit'
174
+ */
175
+ applyEdit?: boolean;
176
+ /**
177
+ * Capabilities specific to `WorkspaceEdit`s
178
+ */
179
+ workspaceEdit?: {
180
+ /**
181
+ * The client supports versioned document changes in `WorkspaceEdit`s
182
+ */
183
+ documentChanges?: boolean;
184
+ /**
185
+ * The resource operations the client supports. Clients should at least
186
+ * support 'create', 'rename' and 'delete' files and folders.
187
+ */
188
+ resourceOperations?: ResourceOperationKind[];
189
+ /**
190
+ * The failure handling strategy of a client if applying the workspace edit
191
+ * failes.
192
+ */
193
+ failureHandling?: FailureHandlingKind;
194
+ };
195
+ /**
196
+ * Capabilities specific to the `workspace/didChangeConfiguration` notification.
197
+ */
198
+ didChangeConfiguration?: {
199
+ /**
200
+ * Did change configuration notification supports dynamic registration.
201
+ */
202
+ dynamicRegistration?: boolean;
203
+ };
204
+ /**
205
+ * Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
206
+ */
207
+ didChangeWatchedFiles?: {
208
+ /**
209
+ * Did change watched files notification supports dynamic registration. Please note
210
+ * that the current protocol doesn't support static configuration for file changes
211
+ * from the server side.
212
+ */
213
+ dynamicRegistration?: boolean;
214
+ };
215
+ /**
216
+ * Capabilities specific to the `workspace/symbol` request.
217
+ */
218
+ symbol?: {
219
+ /**
220
+ * Symbol request supports dynamic registration.
221
+ */
222
+ dynamicRegistration?: boolean;
223
+ /**
224
+ * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
225
+ */
226
+ symbolKind?: {
227
+ /**
228
+ * The symbol kind values the client supports. When this
229
+ * property exists the client also guarantees that it will
230
+ * handle values outside its set gracefully and falls back
231
+ * to a default value when unknown.
232
+ *
233
+ * If this property is not present the client only supports
234
+ * the symbol kinds from `File` to `Array` as defined in
235
+ * the initial version of the protocol.
236
+ */
237
+ valueSet?: SymbolKind[];
238
+ };
239
+ };
240
+ /**
241
+ * Capabilities specific to the `workspace/executeCommand` request.
242
+ */
243
+ executeCommand?: {
244
+ /**
245
+ * Execute command supports dynamic registration.
246
+ */
247
+ dynamicRegistration?: boolean;
248
+ };
249
+ }
250
+ /**
251
+ * Text document specific client capabilities.
252
+ */
253
+ export interface TextDocumentClientCapabilities {
254
+ /**
255
+ * Defines which synchronization capabilities the client supports.
256
+ */
257
+ synchronization?: {
258
+ /**
259
+ * Whether text document synchronization supports dynamic registration.
260
+ */
261
+ dynamicRegistration?: boolean;
262
+ /**
263
+ * The client supports sending will save notifications.
264
+ */
265
+ willSave?: boolean;
266
+ /**
267
+ * The client supports sending a will save request and
268
+ * waits for a response providing text edits which will
269
+ * be applied to the document before it is saved.
270
+ */
271
+ willSaveWaitUntil?: boolean;
272
+ /**
273
+ * The client supports did save notifications.
274
+ */
275
+ didSave?: boolean;
276
+ };
277
+ /**
278
+ * Capabilities specific to the `textDocument/completion`
279
+ */
280
+ completion?: {
281
+ /**
282
+ * Whether completion supports dynamic registration.
283
+ */
284
+ dynamicRegistration?: boolean;
285
+ /**
286
+ * The client supports the following `CompletionItem` specific
287
+ * capabilities.
288
+ */
289
+ completionItem?: {
290
+ /**
291
+ * Client supports snippets as insert text.
292
+ *
293
+ * A snippet can define tab stops and placeholders with `$1`, `$2`
294
+ * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
295
+ * the end of the snippet. Placeholders with equal identifiers are linked,
296
+ * that is typing in one will update others too.
297
+ */
298
+ snippetSupport?: boolean;
299
+ /**
300
+ * Client supports commit characters on a completion item.
301
+ */
302
+ commitCharactersSupport?: boolean;
303
+ /**
304
+ * Client supports the follow content formats for the documentation
305
+ * property. The order describes the preferred format of the client.
306
+ */
307
+ documentationFormat?: MarkupKind[];
308
+ /**
309
+ * Client supports the deprecated property on a completion item.
310
+ */
311
+ deprecatedSupport?: boolean;
312
+ /**
313
+ * Client supports the preselect property on a completion item.
314
+ */
315
+ preselectSupport?: boolean;
316
+ };
317
+ completionItemKind?: {
318
+ /**
319
+ * The completion item kind values the client supports. When this
320
+ * property exists the client also guarantees that it will
321
+ * handle values outside its set gracefully and falls back
322
+ * to a default value when unknown.
323
+ *
324
+ * If this property is not present the client only supports
325
+ * the completion items kinds from `Text` to `Reference` as defined in
326
+ * the initial version of the protocol.
327
+ */
328
+ valueSet?: CompletionItemKind[];
329
+ };
330
+ /**
331
+ * The client supports to send additional context information for a
332
+ * `textDocument/completion` requestion.
333
+ */
334
+ contextSupport?: boolean;
335
+ };
336
+ /**
337
+ * Capabilities specific to the `textDocument/hover`
338
+ */
339
+ hover?: {
340
+ /**
341
+ * Whether hover supports dynamic registration.
342
+ */
343
+ dynamicRegistration?: boolean;
344
+ /**
345
+ * Client supports the follow content formats for the content
346
+ * property. The order describes the preferred format of the client.
347
+ */
348
+ contentFormat?: MarkupKind[];
349
+ };
350
+ /**
351
+ * Capabilities specific to the `textDocument/signatureHelp`
352
+ */
353
+ signatureHelp?: {
354
+ /**
355
+ * Whether signature help supports dynamic registration.
356
+ */
357
+ dynamicRegistration?: boolean;
358
+ /**
359
+ * The client supports the following `SignatureInformation`
360
+ * specific properties.
361
+ */
362
+ signatureInformation?: {
363
+ /**
364
+ * Client supports the follow content formats for the documentation
365
+ * property. The order describes the preferred format of the client.
366
+ */
367
+ documentationFormat?: MarkupKind[];
368
+ /**
369
+ * Client capabilities specific to parameter information.
370
+ */
371
+ parameterInformation?: {
372
+ /**
373
+ * The client supports processing label offsets instead of a
374
+ * simple label string.
375
+ */
376
+ labelOffsetSupport?: boolean;
377
+ };
378
+ };
379
+ };
380
+ /**
381
+ * Capabilities specific to the `textDocument/references`
382
+ */
383
+ references?: {
384
+ /**
385
+ * Whether references supports dynamic registration.
386
+ */
387
+ dynamicRegistration?: boolean;
388
+ };
389
+ /**
390
+ * Capabilities specific to the `textDocument/documentHighlight`
391
+ */
392
+ documentHighlight?: {
393
+ /**
394
+ * Whether document highlight supports dynamic registration.
395
+ */
396
+ dynamicRegistration?: boolean;
397
+ };
398
+ /**
399
+ * Capabilities specific to the `textDocument/documentSymbol`
400
+ */
401
+ documentSymbol?: {
402
+ /**
403
+ * Whether document symbol supports dynamic registration.
404
+ */
405
+ dynamicRegistration?: boolean;
406
+ /**
407
+ * Specific capabilities for the `SymbolKind`.
408
+ */
409
+ symbolKind?: {
410
+ /**
411
+ * The symbol kind values the client supports. When this
412
+ * property exists the client also guarantees that it will
413
+ * handle values outside its set gracefully and falls back
414
+ * to a default value when unknown.
415
+ *
416
+ * If this property is not present the client only supports
417
+ * the symbol kinds from `File` to `Array` as defined in
418
+ * the initial version of the protocol.
419
+ */
420
+ valueSet?: SymbolKind[];
421
+ };
422
+ /**
423
+ * The client support hierarchical document symbols.
424
+ */
425
+ hierarchicalDocumentSymbolSupport?: boolean;
426
+ };
427
+ /**
428
+ * Capabilities specific to the `textDocument/formatting`
429
+ */
430
+ formatting?: {
431
+ /**
432
+ * Whether formatting supports dynamic registration.
433
+ */
434
+ dynamicRegistration?: boolean;
435
+ };
436
+ /**
437
+ * Capabilities specific to the `textDocument/rangeFormatting`
438
+ */
439
+ rangeFormatting?: {
440
+ /**
441
+ * Whether range formatting supports dynamic registration.
442
+ */
443
+ dynamicRegistration?: boolean;
444
+ };
445
+ /**
446
+ * Capabilities specific to the `textDocument/onTypeFormatting`
447
+ */
448
+ onTypeFormatting?: {
449
+ /**
450
+ * Whether on type formatting supports dynamic registration.
451
+ */
452
+ dynamicRegistration?: boolean;
453
+ };
454
+ /**
455
+ * Capabilities specific to the `textDocument/definition`
456
+ */
457
+ definition?: {
458
+ /**
459
+ * Whether definition supports dynamic registration.
460
+ */
461
+ dynamicRegistration?: boolean;
462
+ /**
463
+ * The client supports additional metadata in the form of definition links.
464
+ */
465
+ linkSupport?: boolean;
466
+ };
467
+ /**
468
+ * Capabilities specific to the `textDocument/codeAction`
469
+ */
470
+ codeAction?: {
471
+ /**
472
+ * Whether code action supports dynamic registration.
473
+ */
474
+ dynamicRegistration?: boolean;
475
+ /**
476
+ * The client support code action literals as a valid
477
+ * response of the `textDocument/codeAction` request.
478
+ */
479
+ codeActionLiteralSupport?: {
480
+ /**
481
+ * The code action kind is support with the following value
482
+ * set.
483
+ */
484
+ codeActionKind: {
485
+ /**
486
+ * The code action kind values the client supports. When this
487
+ * property exists the client also guarantees that it will
488
+ * handle values outside its set gracefully and falls back
489
+ * to a default value when unknown.
490
+ */
491
+ valueSet: CodeActionKind[];
492
+ };
493
+ };
494
+ };
495
+ /**
496
+ * Capabilities specific to the `textDocument/codeLens`
497
+ */
498
+ codeLens?: {
499
+ /**
500
+ * Whether code lens supports dynamic registration.
501
+ */
502
+ dynamicRegistration?: boolean;
503
+ };
504
+ /**
505
+ * Capabilities specific to the `textDocument/documentLink`
506
+ */
507
+ documentLink?: {
508
+ /**
509
+ * Whether document link supports dynamic registration.
510
+ */
511
+ dynamicRegistration?: boolean;
512
+ };
513
+ /**
514
+ * Capabilities specific to the `textDocument/rename`
515
+ */
516
+ rename?: {
517
+ /**
518
+ * Whether rename supports dynamic registration.
519
+ */
520
+ dynamicRegistration?: boolean;
521
+ /**
522
+ * Client supports testing for validity of rename operations
523
+ * before execution.
524
+ */
525
+ prepareSupport?: boolean;
526
+ };
527
+ /**
528
+ * Capabilities specific to `textDocument/publishDiagnostics`.
529
+ */
530
+ publishDiagnostics?: {
531
+ /**
532
+ * Whether the clients accepts diagnostics with related information.
533
+ */
534
+ relatedInformation?: boolean;
535
+ /**
536
+ * Client supports the tag property to provide meta data about a diagnostic.
537
+ */
538
+ tagSupport?: boolean;
539
+ };
540
+ }
541
+ /**
542
+ * Window specific client capabilities.
543
+ */
544
+ export interface WindowClientCapabilities {
545
+ /**
546
+ * Whether client supports handling progress notifications.
547
+ */
548
+ progress?: boolean;
549
+ }
550
+ /**
551
+ * Defines the capabilities provided by the client.
552
+ */
553
+ export interface _ClientCapabilities {
554
+ /**
555
+ * Workspace specific client capabilities.
556
+ */
557
+ workspace?: WorkspaceClientCapabilities;
558
+ /**
559
+ * Text document specific client capabilities.
560
+ */
561
+ textDocument?: TextDocumentClientCapabilities;
562
+ /**
563
+ * Window specific client capabilities.
564
+ */
565
+ window?: WindowClientCapabilities;
566
+ /**
567
+ * Experimental client capabilities.
568
+ */
569
+ experimental?: any;
570
+ }
571
+ export declare type ClientCapabilities = _ClientCapabilities & ImplementationClientCapabilities & TypeDefinitionClientCapabilities & WorkspaceFoldersClientCapabilities & ConfigurationClientCapabilities & ColorClientCapabilities & FoldingRangeClientCapabilities & DeclarationClientCapabilities & SelectionRangeClientCapabilities;
572
+ /**
573
+ * Defines how the host (editor) should sync
574
+ * document changes to the language server.
575
+ */
576
+ export declare namespace TextDocumentSyncKind {
577
+ /**
578
+ * Documents should not be synced at all.
579
+ */
580
+ const None = 0;
581
+ /**
582
+ * Documents are synced by always sending the full content
583
+ * of the document.
584
+ */
585
+ const Full = 1;
586
+ /**
587
+ * Documents are synced by sending the full content on open.
588
+ * After that only incremental updates to the document are
589
+ * send.
590
+ */
591
+ const Incremental = 2;
592
+ }
593
+ export declare type TextDocumentSyncKind = 0 | 1 | 2;
594
+ /**
595
+ * Static registration options to be returned in the initialize
596
+ * request.
597
+ */
598
+ export interface StaticRegistrationOptions {
599
+ /**
600
+ * The id used to register the request. The id can be used to deregister
601
+ * the request again. See also Registration#id.
602
+ */
603
+ id?: string;
604
+ }
605
+ /**
606
+ * General text document registration options.
607
+ */
608
+ export interface TextDocumentRegistrationOptions {
609
+ /**
610
+ * A document selector to identify the scope of the registration. If set to null
611
+ * the document selector provided on the client side will be used.
612
+ */
613
+ documentSelector: DocumentSelector | null;
614
+ }
615
+ /**
616
+ * Completion options.
617
+ */
618
+ export interface CompletionOptions {
619
+ /**
620
+ * Most tools trigger completion request automatically without explicitly requesting
621
+ * it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
622
+ * starts to type an identifier. For example if the user types `c` in a JavaScript file
623
+ * code complete will automatically pop up present `console` besides others as a
624
+ * completion item. Characters that make up identifiers don't need to be listed here.
625
+ *
626
+ * If code complete should automatically be trigger on characters not being valid inside
627
+ * an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
628
+ */
629
+ triggerCharacters?: string[];
630
+ /**
631
+ * The list of all possible characters that commit a completion. This field can be used
632
+ * if clients don't support individual commmit characters per completion item. See
633
+ * `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
634
+ */
635
+ allCommitCharacters?: string[];
636
+ /**
637
+ * The server provides support to resolve additional
638
+ * information for a completion item.
639
+ */
640
+ resolveProvider?: boolean;
641
+ }
642
+ /**
643
+ * Signature help options.
644
+ */
645
+ export interface SignatureHelpOptions {
646
+ /**
647
+ * The characters that trigger signature help
648
+ * automatically.
649
+ */
650
+ triggerCharacters?: string[];
651
+ }
652
+ /**
653
+ * Code Action options.
654
+ */
655
+ export interface CodeActionOptions {
656
+ /**
657
+ * CodeActionKinds that this server may return.
658
+ *
659
+ * The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
660
+ * may list out every specific kind they provide.
661
+ */
662
+ codeActionKinds?: CodeActionKind[];
663
+ }
664
+ /**
665
+ * Code Lens options.
666
+ */
667
+ export interface CodeLensOptions {
668
+ /**
669
+ * Code lens has a resolve provider as well.
670
+ */
671
+ resolveProvider?: boolean;
672
+ }
673
+ /**
674
+ * Format document on type options
675
+ */
676
+ export interface DocumentOnTypeFormattingOptions {
677
+ /**
678
+ * A character on which formatting should be triggered, like `}`.
679
+ */
680
+ firstTriggerCharacter: string;
681
+ /**
682
+ * More trigger characters.
683
+ */
684
+ moreTriggerCharacter?: string[];
685
+ }
686
+ /**
687
+ * Rename options
688
+ */
689
+ export interface RenameOptions {
690
+ /**
691
+ * Renames should be checked and tested before being executed.
692
+ */
693
+ prepareProvider?: boolean;
694
+ }
695
+ /**
696
+ * Document link options
697
+ */
698
+ export interface DocumentLinkOptions {
699
+ /**
700
+ * Document links have a resolve provider as well.
701
+ */
702
+ resolveProvider?: boolean;
703
+ }
704
+ /**
705
+ * Execute command options.
706
+ */
707
+ export interface ExecuteCommandOptions {
708
+ /**
709
+ * The commands to be executed on the server
710
+ */
711
+ commands: string[];
712
+ }
713
+ /**
714
+ * Save options.
715
+ */
716
+ export interface SaveOptions {
717
+ /**
718
+ * The client is supposed to include the content on save.
719
+ */
720
+ includeText?: boolean;
721
+ }
722
+ export interface TextDocumentSyncOptions {
723
+ /**
724
+ * Open and close notifications are sent to the server. If omitted open close notification should not
725
+ * be sent.
726
+ */
727
+ openClose?: boolean;
728
+ /**
729
+ * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
730
+ * and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
731
+ */
732
+ change?: TextDocumentSyncKind;
733
+ /**
734
+ * If present will save notifications are sent to the server. If omitted the notification should not be
735
+ * sent.
736
+ */
737
+ willSave?: boolean;
738
+ /**
739
+ * If present will save wait until requests are sent to the server. If omitted the request should not be
740
+ * sent.
741
+ */
742
+ willSaveWaitUntil?: boolean;
743
+ /**
744
+ * If present save notifications are sent to the server. If omitted the notification should not be
745
+ * sent.
746
+ */
747
+ save?: SaveOptions;
748
+ }
749
+ /**
750
+ * Defines the capabilities provided by a language
751
+ * server.
752
+ */
753
+ export interface _ServerCapabilities<T = any> {
754
+ /**
755
+ * Defines how text documents are synced. Is either a detailed structure defining each notification or
756
+ * for backwards compatibility the TextDocumentSyncKind number.
757
+ */
758
+ textDocumentSync?: TextDocumentSyncOptions | TextDocumentSyncKind;
759
+ /**
760
+ * The server provides hover support.
761
+ */
762
+ hoverProvider?: boolean;
763
+ /**
764
+ * The server provides completion support.
765
+ */
766
+ completionProvider?: CompletionOptions;
767
+ /**
768
+ * The server provides signature help support.
769
+ */
770
+ signatureHelpProvider?: SignatureHelpOptions;
771
+ /**
772
+ * The server provides goto definition support.
773
+ */
774
+ definitionProvider?: boolean;
775
+ /**
776
+ * The server provides find references support.
777
+ */
778
+ referencesProvider?: boolean;
779
+ /**
780
+ * The server provides document highlight support.
781
+ */
782
+ documentHighlightProvider?: boolean;
783
+ /**
784
+ * The server provides document symbol support.
785
+ */
786
+ documentSymbolProvider?: boolean;
787
+ /**
788
+ * The server provides workspace symbol support.
789
+ */
790
+ workspaceSymbolProvider?: boolean;
791
+ /**
792
+ * The server provides code actions. CodeActionOptions may only be
793
+ * specified if the client states that it supports
794
+ * `codeActionLiteralSupport` in its initial `initialize` request.
795
+ */
796
+ codeActionProvider?: boolean | CodeActionOptions;
797
+ /**
798
+ * The server provides code lens.
799
+ */
800
+ codeLensProvider?: CodeLensOptions;
801
+ /**
802
+ * The server provides document formatting.
803
+ */
804
+ documentFormattingProvider?: boolean;
805
+ /**
806
+ * The server provides document range formatting.
807
+ */
808
+ documentRangeFormattingProvider?: boolean;
809
+ /**
810
+ * The server provides document formatting on typing.
811
+ */
812
+ documentOnTypeFormattingProvider?: {
813
+ /**
814
+ * A character on which formatting should be triggered, like `}`.
815
+ */
816
+ firstTriggerCharacter: string;
817
+ /**
818
+ * More trigger characters.
819
+ */
820
+ moreTriggerCharacter?: string[];
821
+ };
822
+ /**
823
+ * The server provides rename support. RenameOptions may only be
824
+ * specified if the client states that it supports
825
+ * `prepareSupport` in its initial `initialize` request.
826
+ */
827
+ renameProvider?: boolean | RenameOptions;
828
+ /**
829
+ * The server provides document link support.
830
+ */
831
+ documentLinkProvider?: DocumentLinkOptions;
832
+ /**
833
+ * The server provides execute command support.
834
+ */
835
+ executeCommandProvider?: ExecuteCommandOptions;
836
+ /**
837
+ * Experimental server capabilities.
838
+ */
839
+ experimental?: T;
840
+ }
841
+ export declare type ServerCapabilities<T = any> = _ServerCapabilities<T> & ImplementationServerCapabilities & TypeDefinitionServerCapabilities & WorkspaceFoldersServerCapabilities & ColorServerCapabilities & FoldingRangeServerCapabilities & DeclarationServerCapabilities & SelectionRangeServerCapabilities;
842
+ /**
843
+ * The initialize request is sent from the client to the server.
844
+ * It is sent once as the request after starting up the server.
845
+ * The requests parameter is of type [InitializeParams](#InitializeParams)
846
+ * the response if of type [InitializeResult](#InitializeResult) of a Thenable that
847
+ * resolves to such.
848
+ */
849
+ export declare namespace InitializeRequest {
850
+ const type: RequestType<InitializeParams, InitializeResult<any>, InitializeError, void>;
851
+ }
852
+ /**
853
+ * The initialize parameters
854
+ */
855
+ export interface _InitializeParams {
856
+ /**
857
+ * The process Id of the parent process that started
858
+ * the server.
859
+ */
860
+ processId: number | null;
861
+ /**
862
+ * The rootPath of the workspace. Is null
863
+ * if no folder is open.
864
+ *
865
+ * @deprecated in favour of rootUri.
866
+ */
867
+ rootPath?: string | null;
868
+ /**
869
+ * The rootUri of the workspace. Is null if no
870
+ * folder is open. If both `rootPath` and `rootUri` are set
871
+ * `rootUri` wins.
872
+ *
873
+ * @deprecated in favour of workspaceFolders.
874
+ */
875
+ rootUri: DocumentUri | null;
876
+ /**
877
+ * The capabilities provided by the client (editor or tool)
878
+ */
879
+ capabilities: ClientCapabilities;
880
+ /**
881
+ * User provided initialization options.
882
+ */
883
+ initializationOptions?: any;
884
+ /**
885
+ * The initial trace setting. If omitted trace is disabled ('off').
886
+ */
887
+ trace?: 'off' | 'messages' | 'verbose';
888
+ }
889
+ export declare type InitializeParams = _InitializeParams & WorkspaceFoldersInitializeParams;
890
+ /**
891
+ * The result returned from an initialize request.
892
+ */
893
+ export interface InitializeResult<T = any> {
894
+ /**
895
+ * The capabilities the language server provides.
896
+ */
897
+ capabilities: ServerCapabilities<T>;
898
+ /**
899
+ * Custom initialization results.
900
+ */
901
+ [custom: string]: any;
902
+ }
903
+ /**
904
+ * Known error codes for an `InitializeError`;
905
+ */
906
+ export declare namespace InitializeError {
907
+ /**
908
+ * If the protocol version provided by the client can't be handled by the server.
909
+ * @deprecated This initialize error got replaced by client capabilities. There is
910
+ * no version handshake in version 3.0x
911
+ */
912
+ const unknownProtocolVersion: number;
913
+ }
914
+ /**
915
+ * The data type of the ResponseError if the
916
+ * initialize request fails.
917
+ */
918
+ export interface InitializeError {
919
+ /**
920
+ * Indicates whether the client execute the following retry logic:
921
+ * (1) show the message provided by the ResponseError to the user
922
+ * (2) user selects retry or cancel
923
+ * (3) if user selected retry the initialize method is sent again.
924
+ */
925
+ retry: boolean;
926
+ }
927
+ export interface InitializedParams {
928
+ }
929
+ /**
930
+ * The intialized notification is sent from the client to the
931
+ * server after the client is fully initialized and the server
932
+ * is allowed to send requests from the server to the client.
933
+ */
934
+ export declare namespace InitializedNotification {
935
+ const type: NotificationType<InitializedParams, void>;
936
+ }
937
+ /**
938
+ * A shutdown request is sent from the client to the server.
939
+ * It is sent once when the client decides to shutdown the
940
+ * server. The only notification that is sent after a shutdown request
941
+ * is the exit event.
942
+ */
943
+ export declare namespace ShutdownRequest {
944
+ const type: RequestType0<void, void, void>;
945
+ }
946
+ /**
947
+ * The exit event is sent from the client to the server to
948
+ * ask the server to exit its process.
949
+ */
950
+ export declare namespace ExitNotification {
951
+ const type: NotificationType0<void>;
952
+ }
953
+ /**
954
+ * The configuration change notification is sent from the client to the server
955
+ * when the client's configuration has changed. The notification contains
956
+ * the changed configuration as defined by the language client.
957
+ */
958
+ export declare namespace DidChangeConfigurationNotification {
959
+ const type: NotificationType<DidChangeConfigurationParams, DidChangeConfigurationRegistrationOptions>;
960
+ }
961
+ export interface DidChangeConfigurationRegistrationOptions {
962
+ section?: string | string[];
963
+ }
964
+ /**
965
+ * The parameters of a change configuration notification.
966
+ */
967
+ export interface DidChangeConfigurationParams {
968
+ /**
969
+ * The actual changed settings
970
+ */
971
+ settings: any;
972
+ }
973
+ /**
974
+ * The message type
975
+ */
976
+ export declare namespace MessageType {
977
+ /**
978
+ * An error message.
979
+ */
980
+ const Error = 1;
981
+ /**
982
+ * A warning message.
983
+ */
984
+ const Warning = 2;
985
+ /**
986
+ * An information message.
987
+ */
988
+ const Info = 3;
989
+ /**
990
+ * A log message.
991
+ */
992
+ const Log = 4;
993
+ }
994
+ export declare type MessageType = 1 | 2 | 3 | 4;
995
+ /**
996
+ * The parameters of a notification message.
997
+ */
998
+ export interface ShowMessageParams {
999
+ /**
1000
+ * The message type. See {@link MessageType}
1001
+ */
1002
+ type: MessageType;
1003
+ /**
1004
+ * The actual message
1005
+ */
1006
+ message: string;
1007
+ }
1008
+ /**
1009
+ * The show message notification is sent from a server to a client to ask
1010
+ * the client to display a particular message in the user interface.
1011
+ */
1012
+ export declare namespace ShowMessageNotification {
1013
+ const type: NotificationType<ShowMessageParams, void>;
1014
+ }
1015
+ export interface MessageActionItem {
1016
+ /**
1017
+ * A short title like 'Retry', 'Open Log' etc.
1018
+ */
1019
+ title: string;
1020
+ }
1021
+ export interface ShowMessageRequestParams {
1022
+ /**
1023
+ * The message type. See {@link MessageType}
1024
+ */
1025
+ type: MessageType;
1026
+ /**
1027
+ * The actual message
1028
+ */
1029
+ message: string;
1030
+ /**
1031
+ * The message action items to present.
1032
+ */
1033
+ actions?: MessageActionItem[];
1034
+ }
1035
+ /**
1036
+ * The show message request is sent from the server to the client to show a message
1037
+ * and a set of options actions to the user.
1038
+ */
1039
+ export declare namespace ShowMessageRequest {
1040
+ const type: RequestType<ShowMessageRequestParams, MessageActionItem | null, void, void>;
1041
+ }
1042
+ /**
1043
+ * The log message notification is sent from the server to the client to ask
1044
+ * the client to log a particular message.
1045
+ */
1046
+ export declare namespace LogMessageNotification {
1047
+ const type: NotificationType<LogMessageParams, void>;
1048
+ }
1049
+ /**
1050
+ * The log message parameters.
1051
+ */
1052
+ export interface LogMessageParams {
1053
+ /**
1054
+ * The message type. See {@link MessageType}
1055
+ */
1056
+ type: MessageType;
1057
+ /**
1058
+ * The actual message
1059
+ */
1060
+ message: string;
1061
+ }
1062
+ /**
1063
+ * The telemetry event notification is sent from the server to the client to ask
1064
+ * the client to log telemetry data.
1065
+ */
1066
+ export declare namespace TelemetryEventNotification {
1067
+ const type: NotificationType<any, void>;
1068
+ }
1069
+ /**
1070
+ * The parameters send in a open text document notification
1071
+ */
1072
+ export interface DidOpenTextDocumentParams {
1073
+ /**
1074
+ * The document that was opened.
1075
+ */
1076
+ textDocument: TextDocumentItem;
1077
+ }
1078
+ /**
1079
+ * The document open notification is sent from the client to the server to signal
1080
+ * newly opened text documents. The document's truth is now managed by the client
1081
+ * and the server must not try to read the document's truth using the document's
1082
+ * uri. Open in this sense means it is managed by the client. It doesn't necessarily
1083
+ * mean that its content is presented in an editor. An open notification must not
1084
+ * be sent more than once without a corresponding close notification send before.
1085
+ * This means open and close notification must be balanced and the max open count
1086
+ * is one.
1087
+ */
1088
+ export declare namespace DidOpenTextDocumentNotification {
1089
+ const type: NotificationType<DidOpenTextDocumentParams, TextDocumentRegistrationOptions>;
1090
+ }
1091
+ /**
1092
+ * The change text document notification's parameters.
1093
+ */
1094
+ export interface DidChangeTextDocumentParams {
1095
+ /**
1096
+ * The document that did change. The version number points
1097
+ * to the version after all provided content changes have
1098
+ * been applied.
1099
+ */
1100
+ textDocument: VersionedTextDocumentIdentifier;
1101
+ /**
1102
+ * The actual content changes. The content changes describe single state changes
1103
+ * to the document. So if there are two content changes c1 and c2 for a document
1104
+ * in state S then c1 move the document to S' and c2 to S''.
1105
+ */
1106
+ contentChanges: TextDocumentContentChangeEvent[];
1107
+ }
1108
+ /**
1109
+ * Describe options to be used when registered for text document change events.
1110
+ */
1111
+ export interface TextDocumentChangeRegistrationOptions extends TextDocumentRegistrationOptions {
1112
+ /**
1113
+ * How documents are synced to the server.
1114
+ */
1115
+ syncKind: TextDocumentSyncKind;
1116
+ }
1117
+ /**
1118
+ * The document change notification is sent from the client to the server to signal
1119
+ * changes to a text document.
1120
+ */
1121
+ export declare namespace DidChangeTextDocumentNotification {
1122
+ const type: NotificationType<DidChangeTextDocumentParams, TextDocumentChangeRegistrationOptions>;
1123
+ }
1124
+ /**
1125
+ * The parameters send in a close text document notification
1126
+ */
1127
+ export interface DidCloseTextDocumentParams {
1128
+ /**
1129
+ * The document that was closed.
1130
+ */
1131
+ textDocument: TextDocumentIdentifier;
1132
+ }
1133
+ /**
1134
+ * The document close notification is sent from the client to the server when
1135
+ * the document got closed in the client. The document's truth now exists where
1136
+ * the document's uri points to (e.g. if the document's uri is a file uri the
1137
+ * truth now exists on disk). As with the open notification the close notification
1138
+ * is about managing the document's content. Receiving a close notification
1139
+ * doesn't mean that the document was open in an editor before. A close
1140
+ * notification requires a previous open notification to be sent.
1141
+ */
1142
+ export declare namespace DidCloseTextDocumentNotification {
1143
+ const type: NotificationType<DidCloseTextDocumentParams, TextDocumentRegistrationOptions>;
1144
+ }
1145
+ /**
1146
+ * The parameters send in a save text document notification
1147
+ */
1148
+ export interface DidSaveTextDocumentParams {
1149
+ /**
1150
+ * The document that was closed.
1151
+ */
1152
+ textDocument: VersionedTextDocumentIdentifier;
1153
+ /**
1154
+ * Optional the content when saved. Depends on the includeText value
1155
+ * when the save notification was requested.
1156
+ */
1157
+ text?: string;
1158
+ }
1159
+ /**
1160
+ * Save registration options.
1161
+ */
1162
+ export interface TextDocumentSaveRegistrationOptions extends TextDocumentRegistrationOptions, SaveOptions {
1163
+ }
1164
+ /**
1165
+ * The document save notification is sent from the client to the server when
1166
+ * the document got saved in the client.
1167
+ */
1168
+ export declare namespace DidSaveTextDocumentNotification {
1169
+ const type: NotificationType<DidSaveTextDocumentParams, TextDocumentSaveRegistrationOptions>;
1170
+ }
1171
+ /**
1172
+ * The parameters send in a will save text document notification.
1173
+ */
1174
+ export interface WillSaveTextDocumentParams {
1175
+ /**
1176
+ * The document that will be saved.
1177
+ */
1178
+ textDocument: TextDocumentIdentifier;
1179
+ /**
1180
+ * The 'TextDocumentSaveReason'.
1181
+ */
1182
+ reason: TextDocumentSaveReason;
1183
+ }
1184
+ /**
1185
+ * A document will save notification is sent from the client to the server before
1186
+ * the document is actually saved.
1187
+ */
1188
+ export declare namespace WillSaveTextDocumentNotification {
1189
+ const type: NotificationType<WillSaveTextDocumentParams, TextDocumentRegistrationOptions>;
1190
+ }
1191
+ /**
1192
+ * A document will save request is sent from the client to the server before
1193
+ * the document is actually saved. The request can return an array of TextEdits
1194
+ * which will be applied to the text document before it is saved. Please note that
1195
+ * clients might drop results if computing the text edits took too long or if a
1196
+ * server constantly fails on this request. This is done to keep the save fast and
1197
+ * reliable.
1198
+ */
1199
+ export declare namespace WillSaveTextDocumentWaitUntilRequest {
1200
+ const type: RequestType<WillSaveTextDocumentParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1201
+ }
1202
+ /**
1203
+ * The watched files notification is sent from the client to the server when
1204
+ * the client detects changes to file watched by the language client.
1205
+ */
1206
+ export declare namespace DidChangeWatchedFilesNotification {
1207
+ const type: NotificationType<DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions>;
1208
+ }
1209
+ /**
1210
+ * The watched files change notification's parameters.
1211
+ */
1212
+ export interface DidChangeWatchedFilesParams {
1213
+ /**
1214
+ * The actual file events.
1215
+ */
1216
+ changes: FileEvent[];
1217
+ }
1218
+ /**
1219
+ * The file event type
1220
+ */
1221
+ export declare namespace FileChangeType {
1222
+ /**
1223
+ * The file got created.
1224
+ */
1225
+ const Created = 1;
1226
+ /**
1227
+ * The file got changed.
1228
+ */
1229
+ const Changed = 2;
1230
+ /**
1231
+ * The file got deleted.
1232
+ */
1233
+ const Deleted = 3;
1234
+ }
1235
+ export declare type FileChangeType = 1 | 2 | 3;
1236
+ /**
1237
+ * An event describing a file change.
1238
+ */
1239
+ export interface FileEvent {
1240
+ /**
1241
+ * The file's uri.
1242
+ */
1243
+ uri: DocumentUri;
1244
+ /**
1245
+ * The change type.
1246
+ */
1247
+ type: FileChangeType;
1248
+ }
1249
+ /**
1250
+ * Describe options to be used when registered for text document change events.
1251
+ */
1252
+ export interface DidChangeWatchedFilesRegistrationOptions {
1253
+ /**
1254
+ * The watchers to register.
1255
+ */
1256
+ watchers: FileSystemWatcher[];
1257
+ }
1258
+ export interface FileSystemWatcher {
1259
+ /**
1260
+ * The glob pattern to watch. Glob patterns can have the following syntax:
1261
+ * - `*` to match one or more characters in a path segment
1262
+ * - `?` to match on one character in a path segment
1263
+ * - `**` to match any number of path segments, including none
1264
+ * - `{}` to group conditions (e.g. `**​/*.{ts,js}` matches all TypeScript and JavaScript files)
1265
+ * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1266
+ * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
1267
+ */
1268
+ globPattern: string;
1269
+ /**
1270
+ * The kind of events of interest. If omitted it defaults
1271
+ * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
1272
+ * which is 7.
1273
+ */
1274
+ kind?: number;
1275
+ }
1276
+ export declare namespace WatchKind {
1277
+ /**
1278
+ * Interested in create events.
1279
+ */
1280
+ const Create = 1;
1281
+ /**
1282
+ * Interested in change events
1283
+ */
1284
+ const Change = 2;
1285
+ /**
1286
+ * Interested in delete events
1287
+ */
1288
+ const Delete = 4;
1289
+ }
1290
+ /**
1291
+ * Diagnostics notification are sent from the server to the client to signal
1292
+ * results of validation runs.
1293
+ */
1294
+ export declare namespace PublishDiagnosticsNotification {
1295
+ const type: NotificationType<PublishDiagnosticsParams, void>;
1296
+ }
1297
+ /**
1298
+ * The publish diagnostic notification's parameters.
1299
+ */
1300
+ export interface PublishDiagnosticsParams {
1301
+ /**
1302
+ * The URI for which diagnostic information is reported.
1303
+ */
1304
+ uri: DocumentUri;
1305
+ /**
1306
+ * Optional the version number of the document the diagnostics are published for.
1307
+ *
1308
+ * @since 3.15
1309
+ */
1310
+ version?: number;
1311
+ /**
1312
+ * An array of diagnostic information items.
1313
+ */
1314
+ diagnostics: Diagnostic[];
1315
+ }
1316
+ /**
1317
+ * Completion registration options.
1318
+ */
1319
+ export interface CompletionRegistrationOptions extends TextDocumentRegistrationOptions, CompletionOptions {
1320
+ }
1321
+ /**
1322
+ * How a completion was triggered
1323
+ */
1324
+ export declare namespace CompletionTriggerKind {
1325
+ /**
1326
+ * Completion was triggered by typing an identifier (24x7 code
1327
+ * complete), manual invocation (e.g Ctrl+Space) or via API.
1328
+ */
1329
+ const Invoked: 1;
1330
+ /**
1331
+ * Completion was triggered by a trigger character specified by
1332
+ * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
1333
+ */
1334
+ const TriggerCharacter: 2;
1335
+ /**
1336
+ * Completion was re-triggered as current completion list is incomplete
1337
+ */
1338
+ const TriggerForIncompleteCompletions: 3;
1339
+ }
1340
+ export declare type CompletionTriggerKind = 1 | 2 | 3;
1341
+ /**
1342
+ * Contains additional information about the context in which a completion request is triggered.
1343
+ */
1344
+ export interface CompletionContext {
1345
+ /**
1346
+ * How the completion was triggered.
1347
+ */
1348
+ triggerKind: CompletionTriggerKind;
1349
+ /**
1350
+ * The trigger character (a single character) that has trigger code complete.
1351
+ * Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
1352
+ */
1353
+ triggerCharacter?: string;
1354
+ }
1355
+ /**
1356
+ * Completion parameters
1357
+ */
1358
+ export interface CompletionParams extends TextDocumentPositionParams {
1359
+ /**
1360
+ * The completion context. This is only available it the client specifies
1361
+ * to send this using `ClientCapabilities.textDocument.completion.contextSupport === true`
1362
+ */
1363
+ context?: CompletionContext;
1364
+ }
1365
+ /**
1366
+ * Request to request completion at a given text document position. The request's
1367
+ * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response
1368
+ * is of type [CompletionItem[]](#CompletionItem) or [CompletionList](#CompletionList)
1369
+ * or a Thenable that resolves to such.
1370
+ *
1371
+ * The request can delay the computation of the [`detail`](#CompletionItem.detail)
1372
+ * and [`documentation`](#CompletionItem.documentation) properties to the `completionItem/resolve`
1373
+ * request. However, properties that are needed for the initial sorting and filtering, like `sortText`,
1374
+ * `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.
1375
+ */
1376
+ export declare namespace CompletionRequest {
1377
+ const type: RequestType<CompletionParams, CompletionList | CompletionItem[] | null, void, CompletionRegistrationOptions>;
1378
+ }
1379
+ /**
1380
+ * Request to resolve additional information for a given completion item.The request's
1381
+ * parameter is of type [CompletionItem](#CompletionItem) the response
1382
+ * is of type [CompletionItem](#CompletionItem) or a Thenable that resolves to such.
1383
+ */
1384
+ export declare namespace CompletionResolveRequest {
1385
+ const type: RequestType<CompletionItem, CompletionItem, void, void>;
1386
+ }
1387
+ /**
1388
+ * Request to request hover information at a given text document position. The request's
1389
+ * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of
1390
+ * type [Hover](#Hover) or a Thenable that resolves to such.
1391
+ */
1392
+ export declare namespace HoverRequest {
1393
+ const type: RequestType<TextDocumentPositionParams, Hover | null, void, TextDocumentRegistrationOptions>;
1394
+ }
1395
+ /**
1396
+ * Signature help registration options.
1397
+ */
1398
+ export interface SignatureHelpRegistrationOptions extends TextDocumentRegistrationOptions, SignatureHelpOptions {
1399
+ }
1400
+ export declare namespace SignatureHelpRequest {
1401
+ const type: RequestType<TextDocumentPositionParams, SignatureHelp | null, void, SignatureHelpRegistrationOptions>;
1402
+ }
1403
+ /**
1404
+ * A request to resolve the definition location of a symbol at a given text
1405
+ * document position. The request's parameter is of type [TextDocumentPosition]
1406
+ * (#TextDocumentPosition) the response is of either type [Definition](#Definition)
1407
+ * or a typed array of [DefinitionLink](#DefinitionLink) or a Thenable that resolves
1408
+ * to such.
1409
+ */
1410
+ export declare namespace DefinitionRequest {
1411
+ const type: RequestType<TextDocumentPositionParams, Location | Location[] | LocationLink[] | null, void, TextDocumentRegistrationOptions>;
1412
+ }
1413
+ /**
1414
+ * Parameters for a [ReferencesRequest](#ReferencesRequest).
1415
+ */
1416
+ export interface ReferenceParams extends TextDocumentPositionParams {
1417
+ context: ReferenceContext;
1418
+ }
1419
+ /**
1420
+ * A request to resolve project-wide references for the symbol denoted
1421
+ * by the given text document position. The request's parameter is of
1422
+ * type [ReferenceParams](#ReferenceParams) the response is of type
1423
+ * [Location[]](#Location) or a Thenable that resolves to such.
1424
+ */
1425
+ export declare namespace ReferencesRequest {
1426
+ const type: RequestType<ReferenceParams, Location[] | null, void, TextDocumentRegistrationOptions>;
1427
+ }
1428
+ /**
1429
+ * Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given
1430
+ * text document position. The request's parameter is of type [TextDocumentPosition]
1431
+ * (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]
1432
+ * (#DocumentHighlight) or a Thenable that resolves to such.
1433
+ */
1434
+ export declare namespace DocumentHighlightRequest {
1435
+ const type: RequestType<TextDocumentPositionParams, DocumentHighlight[] | null, void, TextDocumentRegistrationOptions>;
1436
+ }
1437
+ /**
1438
+ * A request to list all symbols found in a given text document. The request's
1439
+ * parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the
1440
+ * response is of type [SymbolInformation[]](#SymbolInformation) or a Thenable
1441
+ * that resolves to such.
1442
+ */
1443
+ export declare namespace DocumentSymbolRequest {
1444
+ const type: RequestType<DocumentSymbolParams, DocumentSymbol[] | SymbolInformation[] | null, void, TextDocumentRegistrationOptions>;
1445
+ }
1446
+ /**
1447
+ * A request to list project-wide symbols matching the query string given
1448
+ * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
1449
+ * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
1450
+ * resolves to such.
1451
+ */
1452
+ export declare namespace WorkspaceSymbolRequest {
1453
+ const type: RequestType<WorkspaceSymbolParams, SymbolInformation[] | null, void, void>;
1454
+ }
1455
+ /**
1456
+ * Params for the CodeActionRequest
1457
+ */
1458
+ export interface CodeActionParams {
1459
+ /**
1460
+ * The document in which the command was invoked.
1461
+ */
1462
+ textDocument: TextDocumentIdentifier;
1463
+ /**
1464
+ * The range for which the command was invoked.
1465
+ */
1466
+ range: Range;
1467
+ /**
1468
+ * Context carrying additional information.
1469
+ */
1470
+ context: CodeActionContext;
1471
+ }
1472
+ export interface CodeActionRegistrationOptions extends TextDocumentRegistrationOptions, CodeActionOptions {
1473
+ }
1474
+ /**
1475
+ * A request to provide commands for the given text document and range.
1476
+ */
1477
+ export declare namespace CodeActionRequest {
1478
+ const type: RequestType<CodeActionParams, (Command | CodeAction)[] | null, void, CodeActionRegistrationOptions>;
1479
+ }
1480
+ /**
1481
+ * Params for the Code Lens request.
1482
+ */
1483
+ export interface CodeLensParams {
1484
+ /**
1485
+ * The document to request code lens for.
1486
+ */
1487
+ textDocument: TextDocumentIdentifier;
1488
+ }
1489
+ /**
1490
+ * Code Lens registration options.
1491
+ */
1492
+ export interface CodeLensRegistrationOptions extends TextDocumentRegistrationOptions, CodeLensOptions {
1493
+ }
1494
+ /**
1495
+ * A request to provide code lens for the given text document.
1496
+ */
1497
+ export declare namespace CodeLensRequest {
1498
+ const type: RequestType<CodeLensParams, CodeLens[] | null, void, CodeLensRegistrationOptions>;
1499
+ }
1500
+ /**
1501
+ * A request to resolve a command for a given code lens.
1502
+ */
1503
+ export declare namespace CodeLensResolveRequest {
1504
+ const type: RequestType<CodeLens, CodeLens, void, void>;
1505
+ }
1506
+ export interface DocumentFormattingParams {
1507
+ /**
1508
+ * The document to format.
1509
+ */
1510
+ textDocument: TextDocumentIdentifier;
1511
+ /**
1512
+ * The format options
1513
+ */
1514
+ options: FormattingOptions;
1515
+ }
1516
+ /**
1517
+ * A request to to format a whole document.
1518
+ */
1519
+ export declare namespace DocumentFormattingRequest {
1520
+ const type: RequestType<DocumentFormattingParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1521
+ }
1522
+ export interface DocumentRangeFormattingParams {
1523
+ /**
1524
+ * The document to format.
1525
+ */
1526
+ textDocument: TextDocumentIdentifier;
1527
+ /**
1528
+ * The range to format
1529
+ */
1530
+ range: Range;
1531
+ /**
1532
+ * The format options
1533
+ */
1534
+ options: FormattingOptions;
1535
+ }
1536
+ /**
1537
+ * A request to to format a range in a document.
1538
+ */
1539
+ export declare namespace DocumentRangeFormattingRequest {
1540
+ const type: RequestType<DocumentRangeFormattingParams, TextEdit[] | null, void, TextDocumentRegistrationOptions>;
1541
+ }
1542
+ export interface DocumentOnTypeFormattingParams {
1543
+ /**
1544
+ * The document to format.
1545
+ */
1546
+ textDocument: TextDocumentIdentifier;
1547
+ /**
1548
+ * The position at which this request was send.
1549
+ */
1550
+ position: Position;
1551
+ /**
1552
+ * The character that has been typed.
1553
+ */
1554
+ ch: string;
1555
+ /**
1556
+ * The format options.
1557
+ */
1558
+ options: FormattingOptions;
1559
+ }
1560
+ /**
1561
+ * Format document on type options
1562
+ */
1563
+ export interface DocumentOnTypeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentOnTypeFormattingOptions {
1564
+ }
1565
+ /**
1566
+ * A request to format a document on type.
1567
+ */
1568
+ export declare namespace DocumentOnTypeFormattingRequest {
1569
+ const type: RequestType<DocumentOnTypeFormattingParams, TextEdit[] | null, void, DocumentOnTypeFormattingRegistrationOptions>;
1570
+ }
1571
+ export interface RenameParams {
1572
+ /**
1573
+ * The document to rename.
1574
+ */
1575
+ textDocument: TextDocumentIdentifier;
1576
+ /**
1577
+ * The position at which this request was sent.
1578
+ */
1579
+ position: Position;
1580
+ /**
1581
+ * The new name of the symbol. If the given name is not valid the
1582
+ * request must return a [ResponseError](#ResponseError) with an
1583
+ * appropriate message set.
1584
+ */
1585
+ newName: string;
1586
+ }
1587
+ /**
1588
+ * A request to rename a symbol.
1589
+ */
1590
+ export declare namespace RenameRequest {
1591
+ const type: RequestType<RenameParams, WorkspaceEdit | null, void, RenameRegistrationOptions>;
1592
+ }
1593
+ /**
1594
+ * A request to test and perform the setup necessary for a rename.
1595
+ */
1596
+ export declare namespace PrepareRenameRequest {
1597
+ const type: RequestType<TextDocumentPositionParams, Range | {
1598
+ range: Range;
1599
+ placeholder: string;
1600
+ } | null, void, void>;
1601
+ }
1602
+ /**
1603
+ * Rename registration options.
1604
+ */
1605
+ export interface RenameRegistrationOptions extends TextDocumentRegistrationOptions, RenameOptions {
1606
+ }
1607
+ export interface DocumentLinkParams {
1608
+ /**
1609
+ * The document to provide document links for.
1610
+ */
1611
+ textDocument: TextDocumentIdentifier;
1612
+ }
1613
+ /**
1614
+ * Document link registration options
1615
+ */
1616
+ export interface DocumentLinkRegistrationOptions extends TextDocumentRegistrationOptions, DocumentLinkOptions {
1617
+ }
1618
+ /**
1619
+ * A request to provide document links
1620
+ */
1621
+ export declare namespace DocumentLinkRequest {
1622
+ const type: RequestType<DocumentLinkParams, DocumentLink[] | null, void, DocumentLinkRegistrationOptions>;
1623
+ }
1624
+ /**
1625
+ * Request to resolve additional information for a given document link. The request's
1626
+ * parameter is of type [DocumentLink](#DocumentLink) the response
1627
+ * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.
1628
+ */
1629
+ export declare namespace DocumentLinkResolveRequest {
1630
+ const type: RequestType<DocumentLink, DocumentLink, void, void>;
1631
+ }
1632
+ export interface ExecuteCommandParams {
1633
+ /**
1634
+ * The identifier of the actual command handler.
1635
+ */
1636
+ command: string;
1637
+ /**
1638
+ * Arguments that the command should be invoked with.
1639
+ */
1640
+ arguments?: any[];
1641
+ }
1642
+ /**
1643
+ * Execute command registration options.
1644
+ */
1645
+ export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions {
1646
+ }
1647
+ /**
1648
+ * A request send from the client to the server to execute a command. The request might return
1649
+ * a workspace edit which the client will apply to the workspace.
1650
+ */
1651
+ export declare namespace ExecuteCommandRequest {
1652
+ const type: RequestType<ExecuteCommandParams, any, void, ExecuteCommandRegistrationOptions>;
1653
+ }
1654
+ /**
1655
+ * The parameters passed via a apply workspace edit request.
1656
+ */
1657
+ export interface ApplyWorkspaceEditParams {
1658
+ /**
1659
+ * An optional label of the workspace edit. This label is
1660
+ * presented in the user interface for example on an undo
1661
+ * stack to undo the workspace edit.
1662
+ */
1663
+ label?: string;
1664
+ /**
1665
+ * The edits to apply.
1666
+ */
1667
+ edit: WorkspaceEdit;
1668
+ }
1669
+ /**
1670
+ * A response returned from the apply workspace edit request.
1671
+ */
1672
+ export interface ApplyWorkspaceEditResponse {
1673
+ /**
1674
+ * Indicates whether the edit was applied or not.
1675
+ */
1676
+ applied: boolean;
1677
+ /**
1678
+ * An optional textual description for why the edit was not applied.
1679
+ * This may be used by the server for diagnostic logging or to provide
1680
+ * a suitable error for a request that triggered the edit.
1681
+ */
1682
+ failureReason?: string;
1683
+ /**
1684
+ * Depending on the client's failure handling strategy `failedChange` might
1685
+ * contain the index of the change that failed. This property is only available
1686
+ * if the client signals a `failureHandlingStrategy` in its client capabilities.
1687
+ */
1688
+ failedChange?: number;
1689
+ }
1690
+ /**
1691
+ * A request sent from the server to the client to modified certain resources.
1692
+ */
1693
+ export declare namespace ApplyWorkspaceEditRequest {
1694
+ const type: RequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResponse, void, void>;
1695
+ }
1696
+ export { ImplementationRequest, TypeDefinitionRequest, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, ConfigurationRequest, ConfigurationParams, ConfigurationItem, DocumentColorRequest, ColorPresentationRequest, ColorProviderOptions, DocumentColorParams, ColorPresentationParams, FoldingRangeClientCapabilities, FoldingRangeProviderOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeServerCapabilities, DeclarationClientCapabilities, DeclarationRequest, DeclarationServerCapabilities, SelectionRangeClientCapabilities, SelectionRangeProviderOptions, SelectionRangeServerCapabilities, SelectionRangeParams, SelectionRangeRequest };