-
-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathlifecycle.gen.go
More file actions
666 lines (531 loc) · 25.2 KB
/
Copy pathlifecycle.gen.go
File metadata and controls
666 lines (531 loc) · 25.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
// Copyright 2026 The Go Language Server Authors
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by internal/genlsp from metaModel.json; DO NOT EDIT.
package protocol
import (
"go.lsp.dev/uri"
)
// InitializeParams is defined by the LSP specification.
type InitializeParams struct {
WorkDoneProgressParams
WorkspaceFoldersInitializeParams
// ProcessID The process Id of the parent process that started
// the server.
//
// Is `null` if the process has not been started by another process.
// If the parent process is not alive then the server should exit.
ProcessID *int32 `json:"processId"`
// ClientInfo Information about the client
//
// Since: 3.15.0
ClientInfo ClientInfo `json:"clientInfo,omitzero"`
// Locale The locale the client is currently showing the user interface
// in. This must not necessarily be the locale of the operating
// system.
//
// Uses IETF language tags as the value's syntax
// (See https://en.wikipedia.org/wiki/IETF_language_tag)
//
// Since: 3.16.0
Locale *string `json:"locale,omitzero"`
// RootPath The rootPath of the workspace. Is null
// if no folder is open.
//
// Deprecated: in favour of rootUri.
RootPath Nullable[string] `json:"rootPath,omitzero"`
// RootURI The rootUri of the workspace. Is null if no
// folder is open. If both `rootPath` and `rootUri` are set
// `rootUri` wins.
//
// Deprecated: in favour of workspaceFolders.
RootURI *uri.URI `json:"rootUri"`
// Capabilities The capabilities provided by the client (editor or tool)
Capabilities ClientCapabilities `json:"capabilities"`
// InitializationOptions User provided initialization options.
InitializationOptions LSPAny `json:"initializationOptions,omitzero"`
// Trace The initial trace setting. If omitted trace is disabled ('off').
Trace TraceValue `json:"trace,omitzero"`
}
// InitializeResult The result returned from an initialize request.
type InitializeResult struct {
// Capabilities The capabilities the language server provides.
Capabilities ServerCapabilities `json:"capabilities"`
// ServerInfo Information about the server.
//
// Since: 3.15.0
ServerInfo ServerInfo `json:"serverInfo,omitzero"`
}
// InitializeError The data type of the ResponseError if the
// initialize request fails.
type InitializeError struct {
// Retry Indicates whether the client execute the following retry logic:
// (1) show the message provided by the ResponseError to the user
// (2) user selects retry or cancel
// (3) if user selected retry the initialize method is sent again.
Retry bool `json:"retry"`
}
// InitializedParams is defined by the LSP specification.
type InitializedParams struct{}
// ServerCapabilities Defines the capabilities provided by a language
// server.
type ServerCapabilities struct {
// PositionEncoding The position encoding the server picked from the encodings offered
// by the client via the client capability `general.positionEncodings`.
//
// If the client didn't provide any position encodings the only valid
// value that a server can return is 'utf-16'.
//
// If omitted it defaults to 'utf-16'.
//
// Since: 3.17.0
PositionEncoding PositionEncodingKind `json:"positionEncoding,omitzero"`
// TextDocumentSync Defines how text documents are synced. Is either a detailed structure
// defining each notification or for backwards compatibility the
// TextDocumentSyncKind number.
TextDocumentSync TextDocumentSync `json:"textDocumentSync,omitzero"`
// NotebookDocumentSync Defines how notebook documents are synced.
//
// Since: 3.17.0
NotebookDocumentSync NotebookDocumentSync `json:"notebookDocumentSync,omitzero"`
// CompletionProvider The server provides completion support.
CompletionProvider *CompletionOptions `json:"completionProvider,omitzero"`
// HoverProvider The server provides hover support.
HoverProvider HoverProvider `json:"hoverProvider,omitzero"`
// SignatureHelpProvider The server provides signature help support.
SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitzero"`
// DeclarationProvider The server provides Goto Declaration support.
DeclarationProvider DeclarationProvider `json:"declarationProvider,omitzero"`
// DefinitionProvider The server provides goto definition support.
DefinitionProvider DefinitionProvider `json:"definitionProvider,omitzero"`
// TypeDefinitionProvider The server provides Goto Type Definition support.
TypeDefinitionProvider TypeDefinitionProvider `json:"typeDefinitionProvider,omitzero"`
// ImplementationProvider The server provides Goto Implementation support.
ImplementationProvider ImplementationProvider `json:"implementationProvider,omitzero"`
// ReferencesProvider The server provides find references support.
ReferencesProvider ReferencesProvider `json:"referencesProvider,omitzero"`
// DocumentHighlightProvider The server provides document highlight support.
DocumentHighlightProvider DocumentHighlightProvider `json:"documentHighlightProvider,omitzero"`
// DocumentSymbolProvider The server provides document symbol support.
DocumentSymbolProvider DocumentSymbolProvider `json:"documentSymbolProvider,omitzero"`
// CodeActionProvider The server provides code actions. CodeActionOptions may only be
// specified if the client states that it supports
// `codeActionLiteralSupport` in its initial `initialize` request.
CodeActionProvider CodeActionProvider `json:"codeActionProvider,omitzero"`
// CodeLensProvider The server provides code lens.
CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitzero"`
// DocumentLinkProvider The server provides document link support.
DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitzero"`
// ColorProvider The server provides color provider support.
ColorProvider ColorProvider `json:"colorProvider,omitzero"`
// WorkspaceSymbolProvider The server provides workspace symbol support.
WorkspaceSymbolProvider WorkspaceSymbolProvider `json:"workspaceSymbolProvider,omitzero"`
// DocumentFormattingProvider The server provides document formatting.
DocumentFormattingProvider DocumentFormattingProvider `json:"documentFormattingProvider,omitzero"`
// DocumentRangeFormattingProvider The server provides document range formatting.
DocumentRangeFormattingProvider DocumentRangeFormattingProvider `json:"documentRangeFormattingProvider,omitzero"`
// DocumentOnTypeFormattingProvider The server provides document formatting on typing.
DocumentOnTypeFormattingProvider DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitzero"`
// RenameProvider The server provides rename support. RenameOptions may only be
// specified if the client states that it supports
// `prepareSupport` in its initial `initialize` request.
RenameProvider RenameProvider `json:"renameProvider,omitzero"`
// FoldingRangeProvider The server provides folding provider support.
FoldingRangeProvider FoldingRangeProvider `json:"foldingRangeProvider,omitzero"`
// SelectionRangeProvider The server provides selection range support.
SelectionRangeProvider SelectionRangeProvider `json:"selectionRangeProvider,omitzero"`
// ExecuteCommandProvider The server provides execute command support.
ExecuteCommandProvider ExecuteCommandOptions `json:"executeCommandProvider,omitzero"`
// CallHierarchyProvider The server provides call hierarchy support.
//
// Since: 3.16.0
CallHierarchyProvider CallHierarchyProvider `json:"callHierarchyProvider,omitzero"`
// LinkedEditingRangeProvider The server provides linked editing range support.
//
// Since: 3.16.0
LinkedEditingRangeProvider LinkedEditingRangeProvider `json:"linkedEditingRangeProvider,omitzero"`
// SemanticTokensProvider The server provides semantic tokens support.
//
// Since: 3.16.0
SemanticTokensProvider SemanticTokensProvider `json:"semanticTokensProvider,omitzero"`
// MonikerProvider The server provides moniker support.
//
// Since: 3.16.0
MonikerProvider MonikerProvider `json:"monikerProvider,omitzero"`
// TypeHierarchyProvider The server provides type hierarchy support.
//
// Since: 3.17.0
TypeHierarchyProvider TypeHierarchyProvider `json:"typeHierarchyProvider,omitzero"`
// InlineValueProvider The server provides inline values.
//
// Since: 3.17.0
InlineValueProvider InlineValueProvider `json:"inlineValueProvider,omitzero"`
// InlayHintProvider The server provides inlay hints.
//
// Since: 3.17.0
InlayHintProvider InlayHintProvider `json:"inlayHintProvider,omitzero"`
// DiagnosticProvider The server has support for pull model diagnostics.
//
// Since: 3.17.0
DiagnosticProvider DiagnosticProvider `json:"diagnosticProvider,omitzero"`
// InlineCompletionProvider Inline completion options used during static registration.
//
// Since: 3.18.0
InlineCompletionProvider InlineCompletionProvider `json:"inlineCompletionProvider,omitzero"`
// Workspace Workspace specific server capabilities.
Workspace *WorkspaceOptions `json:"workspace,omitzero"`
// Experimental Experimental server capabilities.
Experimental LSPAny `json:"experimental,omitzero"`
}
// ServerInfo Information about the server
//
// ServerInfo type name added.
//
// Since: 3.18.0 ServerInfo type name added.
type ServerInfo struct {
// Name The name of the server as defined by the server.
Name string `json:"name"`
// Version The server's version as defined by the server.
Version Optional[string] `json:"version,omitzero"`
}
// ClientInfo Information about the client
//
// ClientInfo type name added.
//
// Since: 3.18.0 ClientInfo type name added.
type ClientInfo struct {
// Name The name of the client as defined by the client.
Name string `json:"name"`
// Version The client's version as defined by the client.
Version Optional[string] `json:"version,omitzero"`
}
// ClientCapabilities Defines the capabilities provided by the client.
type ClientCapabilities struct {
// Workspace Workspace specific client capabilities.
Workspace *WorkspaceClientCapabilities `json:"workspace,omitzero"`
// TextDocument Text document specific client capabilities.
TextDocument *TextDocumentClientCapabilities `json:"textDocument,omitzero"`
// NotebookDocument Capabilities specific to the notebook document support.
//
// Since: 3.17.0
NotebookDocument *NotebookDocumentClientCapabilities `json:"notebookDocument,omitzero"`
// Window Window specific client capabilities.
Window *WindowClientCapabilities `json:"window,omitzero"`
// General General client capabilities.
//
// Since: 3.16.0
General *GeneralClientCapabilities `json:"general,omitzero"`
// Experimental Experimental client capabilities.
Experimental LSPAny `json:"experimental,omitzero"`
}
// WorkspaceOptions Defines workspace specific capabilities of the server.
//
// Since: 3.18.0
type WorkspaceOptions struct {
// WorkspaceFolders The server supports workspace folder.
//
// Since: 3.6.0
WorkspaceFolders *WorkspaceFoldersServerCapabilities `json:"workspaceFolders,omitzero"`
// FileOperations The server is interested in notifications/requests for operations on files.
//
// Since: 3.16.0
FileOperations *FileOperationOptions `json:"fileOperations,omitzero"`
// TextDocumentContent The server supports the `workspace/textDocumentContent` request.
//
// Since: 3.18.0
TextDocumentContent WorkspaceOptionsTextDocumentContent `json:"textDocumentContent,omitzero"`
}
// WorkspaceClientCapabilities Workspace specific client capabilities.
type WorkspaceClientCapabilities struct {
// ApplyEdit The client supports applying batch edits
// to the workspace by supporting the request
// 'workspace/applyEdit'
ApplyEdit *bool `json:"applyEdit,omitzero"`
// WorkspaceEdit Capabilities specific to `WorkspaceEdit`s.
WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitzero"`
// DidChangeConfiguration Capabilities specific to the `workspace/didChangeConfiguration` notification.
DidChangeConfiguration *DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration,omitzero"`
// DidChangeWatchedFiles Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
DidChangeWatchedFiles *DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles,omitzero"`
// Symbol Capabilities specific to the `workspace/symbol` request.
Symbol *WorkspaceSymbolClientCapabilities `json:"symbol,omitzero"`
// ExecuteCommand Capabilities specific to the `workspace/executeCommand` request.
ExecuteCommand *ExecuteCommandClientCapabilities `json:"executeCommand,omitzero"`
// WorkspaceFolders The client has support for workspace folders.
//
// Since: 3.6.0
WorkspaceFolders *bool `json:"workspaceFolders,omitzero"`
// Configuration The client supports `workspace/configuration` requests.
//
// Since: 3.6.0
Configuration *bool `json:"configuration,omitzero"`
// SemanticTokens Capabilities specific to the semantic token requests scoped to the
// workspace.
//
// Since: 3.16.0.
SemanticTokens *SemanticTokensWorkspaceClientCapabilities `json:"semanticTokens,omitzero"`
// CodeLens Capabilities specific to the code lens requests scoped to the
// workspace.
//
// Since: 3.16.0.
CodeLens *CodeLensWorkspaceClientCapabilities `json:"codeLens,omitzero"`
// FileOperations The client has support for file notifications/requests for user operations on files.
//
// Since 3.16.0
FileOperations *FileOperationClientCapabilities `json:"fileOperations,omitzero"`
// InlineValue Capabilities specific to the inline values requests scoped to the
// workspace.
//
// Since: 3.17.0.
InlineValue *InlineValueWorkspaceClientCapabilities `json:"inlineValue,omitzero"`
// InlayHint Capabilities specific to the inlay hint requests scoped to the
// workspace.
//
// Since: 3.17.0.
InlayHint *InlayHintWorkspaceClientCapabilities `json:"inlayHint,omitzero"`
// Diagnostics Capabilities specific to the diagnostic requests scoped to the
// workspace.
//
// Since: 3.17.0.
Diagnostics *DiagnosticWorkspaceClientCapabilities `json:"diagnostics,omitzero"`
// FoldingRange Capabilities specific to the folding range requests scoped to the workspace.
//
// Since: 3.18.0
FoldingRange *FoldingRangeWorkspaceClientCapabilities `json:"foldingRange,omitzero"`
// TextDocumentContent Capabilities specific to the `workspace/textDocumentContent` request.
//
// Since: 3.18.0
TextDocumentContent *TextDocumentContentClientCapabilities `json:"textDocumentContent,omitzero"`
}
// TextDocumentClientCapabilities Text document specific client capabilities.
type TextDocumentClientCapabilities struct {
// Synchronization Defines which synchronization capabilities the client supports.
Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitzero"`
// Filters Defines which filters the client supports.
//
// Since: 3.18.0
Filters *TextDocumentFilterClientCapabilities `json:"filters,omitzero"`
// Completion Capabilities specific to the `textDocument/completion` request.
Completion *CompletionClientCapabilities `json:"completion,omitzero"`
// Hover Capabilities specific to the `textDocument/hover` request.
Hover *HoverClientCapabilities `json:"hover,omitzero"`
// SignatureHelp Capabilities specific to the `textDocument/signatureHelp` request.
SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitzero"`
// Declaration Capabilities specific to the `textDocument/declaration` request.
//
// Since: 3.14.0
Declaration *DeclarationClientCapabilities `json:"declaration,omitzero"`
// Definition Capabilities specific to the `textDocument/definition` request.
Definition *DefinitionClientCapabilities `json:"definition,omitzero"`
// TypeDefinition Capabilities specific to the `textDocument/typeDefinition` request.
//
// Since: 3.6.0
TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitzero"`
// Implementation Capabilities specific to the `textDocument/implementation` request.
//
// Since: 3.6.0
Implementation *ImplementationClientCapabilities `json:"implementation,omitzero"`
// References Capabilities specific to the `textDocument/references` request.
References *ReferenceClientCapabilities `json:"references,omitzero"`
// DocumentHighlight Capabilities specific to the `textDocument/documentHighlight` request.
DocumentHighlight *DocumentHighlightClientCapabilities `json:"documentHighlight,omitzero"`
// DocumentSymbol Capabilities specific to the `textDocument/documentSymbol` request.
DocumentSymbol *DocumentSymbolClientCapabilities `json:"documentSymbol,omitzero"`
// CodeAction Capabilities specific to the `textDocument/codeAction` request.
CodeAction *CodeActionClientCapabilities `json:"codeAction,omitzero"`
// CodeLens Capabilities specific to the `textDocument/codeLens` request.
CodeLens *CodeLensClientCapabilities `json:"codeLens,omitzero"`
// DocumentLink Capabilities specific to the `textDocument/documentLink` request.
DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitzero"`
// ColorProvider Capabilities specific to the `textDocument/documentColor` and the
// `textDocument/colorPresentation` request.
//
// Since: 3.6.0
ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitzero"`
// Formatting Capabilities specific to the `textDocument/formatting` request.
Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitzero"`
// RangeFormatting Capabilities specific to the `textDocument/rangeFormatting` request.
RangeFormatting *DocumentRangeFormattingClientCapabilities `json:"rangeFormatting,omitzero"`
// OnTypeFormatting Capabilities specific to the `textDocument/onTypeFormatting` request.
OnTypeFormatting *DocumentOnTypeFormattingClientCapabilities `json:"onTypeFormatting,omitzero"`
// Rename Capabilities specific to the `textDocument/rename` request.
Rename *RenameClientCapabilities `json:"rename,omitzero"`
// FoldingRange Capabilities specific to the `textDocument/foldingRange` request.
//
// Since: 3.10.0
FoldingRange *FoldingRangeClientCapabilities `json:"foldingRange,omitzero"`
// SelectionRange Capabilities specific to the `textDocument/selectionRange` request.
//
// Since: 3.15.0
SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitzero"`
// PublishDiagnostics Capabilities specific to the `textDocument/publishDiagnostics` notification.
PublishDiagnostics *PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitzero"`
// CallHierarchy Capabilities specific to the various call hierarchy requests.
//
// Since: 3.16.0
CallHierarchy *CallHierarchyClientCapabilities `json:"callHierarchy,omitzero"`
// SemanticTokens Capabilities specific to the various semantic token request.
//
// Since: 3.16.0
SemanticTokens SemanticTokensClientCapabilities `json:"semanticTokens,omitzero"`
// LinkedEditingRange Capabilities specific to the `textDocument/linkedEditingRange` request.
//
// Since: 3.16.0
LinkedEditingRange *LinkedEditingRangeClientCapabilities `json:"linkedEditingRange,omitzero"`
// Moniker Client capabilities specific to the `textDocument/moniker` request.
//
// Since: 3.16.0
Moniker *MonikerClientCapabilities `json:"moniker,omitzero"`
// TypeHierarchy Capabilities specific to the various type hierarchy requests.
//
// Since: 3.17.0
TypeHierarchy *TypeHierarchyClientCapabilities `json:"typeHierarchy,omitzero"`
// InlineValue Capabilities specific to the `textDocument/inlineValue` request.
//
// Since: 3.17.0
InlineValue *InlineValueClientCapabilities `json:"inlineValue,omitzero"`
// InlayHint Capabilities specific to the `textDocument/inlayHint` request.
//
// Since: 3.17.0
InlayHint *InlayHintClientCapabilities `json:"inlayHint,omitzero"`
// Diagnostic Capabilities specific to the diagnostic pull model.
//
// Since: 3.17.0
Diagnostic *DiagnosticClientCapabilities `json:"diagnostic,omitzero"`
// InlineCompletion Client capabilities specific to inline completions.
//
// Since: 3.18.0
InlineCompletion *InlineCompletionClientCapabilities `json:"inlineCompletion,omitzero"`
}
// NotebookDocumentClientCapabilities Capabilities specific to the notebook document support.
//
// Since: 3.17.0
type NotebookDocumentClientCapabilities struct {
// Synchronization Capabilities specific to notebook document synchronization
//
// Since: 3.17.0
Synchronization NotebookDocumentSyncClientCapabilities `json:"synchronization"`
}
// WindowClientCapabilities is defined by the LSP specification.
type WindowClientCapabilities struct {
// WorkDoneProgress It indicates whether the client supports server initiated
// progress using the `window/workDoneProgress/create` request.
//
// The capability also controls Whether client supports handling
// of progress notifications. If set servers are allowed to report a
// `workDoneProgress` property in the request specific server
// capabilities.
//
// Since: 3.15.0
WorkDoneProgress *bool `json:"workDoneProgress,omitzero"`
// ShowMessage Capabilities specific to the showMessage request.
//
// Since: 3.16.0
ShowMessage *ShowMessageRequestClientCapabilities `json:"showMessage,omitzero"`
// ShowDocument Capabilities specific to the showDocument request.
//
// Since: 3.16.0
ShowDocument *ShowDocumentClientCapabilities `json:"showDocument,omitzero"`
}
// GeneralClientCapabilities General client capabilities.
//
// Since: 3.16.0
type GeneralClientCapabilities struct {
// StaleRequestSupport Client capability that signals how the client
// handles stale requests (e.g. a request
// for which the client will not process the response
// anymore since the information is outdated).
//
// Since: 3.17.0
StaleRequestSupport StaleRequestSupportOptions `json:"staleRequestSupport,omitzero"`
// RegularExpressions Client capabilities specific to regular expressions.
//
// Since: 3.16.0
RegularExpressions RegularExpressionsClientCapabilities `json:"regularExpressions,omitzero"`
// Markdown Client capabilities specific to the client's markdown parser.
//
// Since: 3.16.0
Markdown MarkdownClientCapabilities `json:"markdown,omitzero"`
// PositionEncodings The position encodings supported by the client. Client and server
// have to agree on the same position encoding to ensure that offsets
// (e.g. character position in a line) are interpreted the same on both
// sides.
//
// To keep the protocol backwards compatible the following applies: if
// the value 'utf-16' is missing from the array of position encodings
// servers can assume that the client supports UTF-16. UTF-16 is
// therefore a mandatory encoding.
//
// If omitted it defaults to ['utf-16'].
//
// Implementation considerations: since the conversion from one encoding
// into another requires the content of the file / line the conversion
// is best done where the file is read which is usually on the server
// side.
//
// Since: 3.17.0
PositionEncodings []PositionEncodingKind `json:"positionEncodings,omitzero"`
}
// WorkspaceFoldersServerCapabilities is defined by the LSP specification.
type WorkspaceFoldersServerCapabilities struct {
// Supported The server has support for workspace folders
Supported *bool `json:"supported,omitzero"`
// ChangeNotifications Whether the server wants to receive workspace folder
// change notifications.
//
// If a string is provided the string is treated as an ID
// under which the notification is registered on the client
// side. The ID can be used to unregister for these events
// using the `client/unregisterCapability` request.
ChangeNotifications ChangeNotifications `json:"changeNotifications,omitzero"`
}
// StaleRequestSupportOptions is defined by the LSP specification.
//
// Since: 3.18.0
type StaleRequestSupportOptions struct {
// Cancel The client will actively cancel the request.
Cancel bool `json:"cancel"`
// RetryOnContentModified The list of requests for which the client
// will retry the request if it receives a
// response with error code `ContentModified`
RetryOnContentModified []string `json:"retryOnContentModified"`
}
// RegistrationParams is defined by the LSP specification.
type RegistrationParams struct {
// Registrations is defined by the LSP specification.
Registrations []Registration `json:"registrations"`
}
// UnregistrationParams is defined by the LSP specification.
type UnregistrationParams struct {
// Unregisterations is defined by the LSP specification.
Unregisterations []Unregistration `json:"unregisterations"`
}
// Registration General parameters to register for a notification or to register a provider.
type Registration struct {
// ID The id used to register the request. The id can be used to deregister
// the request again.
ID string `json:"id"`
// Method The method / capability to register for.
Method string `json:"method"`
// RegisterOptions Options necessary for the registration.
RegisterOptions LSPAny `json:"registerOptions,omitzero"`
}
// Unregistration General parameters to unregister a request or notification.
type Unregistration struct {
// ID The id used to unregister the request or notification. Usually an id
// provided during the register request.
ID string `json:"id"`
// Method The method to unregister for.
Method string `json:"method"`
}
// SetTraceParams is defined by the LSP specification.
type SetTraceParams struct {
// Value is defined by the LSP specification.
Value TraceValue `json:"value"`
}
// LogTraceParams is defined by the LSP specification.
type LogTraceParams struct {
// Message is defined by the LSP specification.
Message string `json:"message"`
// Verbose is defined by the LSP specification.
Verbose *string `json:"verbose,omitzero"`
}