@@ -1,6952 +0,0 @@
1−// Copyright 2023 The Go Authors. All rights reserved.
2−// Use of this source code is governed by a BSD-style
3−// license that can be found in the LICENSE file.
4−
5−// Code generated for LSP. DO NOT EDIT.
6−
7−package protocol
8−
9−// Code generated from protocol/metaModel.json at ref release/protocol/3.17.6-next.9 (hash c94395b5da53729e6dff931293b051009ccaaaa4).
10−// https://github.com/microsoft/vscode-languageserver-node/blob/release/protocol/3.17.6-next.9/protocol/metaModel.json
11−// LSP metaData.version = 3.17.0.
12−
13−import "encoding/json"
14−
15−// created for And
16−type And_RegOpt_textDocument_colorPresentation struct {
17− WorkDoneProgressOptions
18− TextDocumentRegistrationOptions
19−}
20−
21−// A special text edit with an additional change annotation.
22−//
23−// @since 3.16.0.
24−//
25−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#annotatedTextEdit
26−type AnnotatedTextEdit struct {
27− // The actual identifier of the change annotation
28− AnnotationID *ChangeAnnotationIdentifier `json:"annotationId,omitempty"`
29− TextEdit
30−}
31−
32−// The parameters passed via an apply workspace edit request.
33−//
34−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#applyWorkspaceEditParams
35−type ApplyWorkspaceEditParams struct {
36− // An optional label of the workspace edit. This label is
37− // presented in the user interface for example on an undo
38− // stack to undo the workspace edit.
39− Label string `json:"label,omitempty"`
40− // The edits to apply.
41− Edit WorkspaceEdit `json:"edit"`
42− // Additional data about the edit.
43− //
44− // @since 3.18.0
45− // @proposed
46− Metadata *WorkspaceEditMetadata `json:"metadata,omitempty"`
47−}
48−
49−// The result returned from the apply workspace edit request.
50−//
51−// @since 3.17 renamed from ApplyWorkspaceEditResponse
52−//
53−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#applyWorkspaceEditResult
54−type ApplyWorkspaceEditResult struct {
55− // Indicates whether the edit was applied or not.
56− Applied bool `json:"applied"`
57− // An optional textual description for why the edit was not applied.
58− // This may be used by the server for diagnostic slog.or to provide
59− // a suitable error for a request that triggered the edit.
60− FailureReason string `json:"failureReason,omitempty"`
61− // Depending on the client's failure handling strategy `failedChange` might
62− // contain the index of the change that failed. This property is only available
63− // if the client signals a `failureHandlingStrategy` in its client capabilities.
64− FailedChange uint32 `json:"failedChange,omitempty"`
65−}
66−
67−// A base for all symbol information.
68−//
69−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#baseSymbolInformation
70−type BaseSymbolInformation struct {
71− // The name of this symbol.
72− Name string `json:"name"`
73− // The kind of this symbol.
74− Kind SymbolKind `json:"kind"`
75− // Tags for this symbol.
76− //
77− // @since 3.16.0
78− Tags []SymbolTag `json:"tags,omitempty"`
79− // The name of the symbol containing this symbol. This information is for
80− // user interface purposes (e.g. to render a qualifier in the user interface
81− // if necessary). It can't be used to re-infer a hierarchy for the document
82− // symbols.
83− ContainerName string `json:"containerName,omitempty"`
84−}
85−
86−// @since 3.16.0
87−//
88−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyClientCapabilities
89−type CallHierarchyClientCapabilities struct {
90− // Whether implementation supports dynamic registration. If this is set to `true`
91− // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
92− // return value for the corresponding server capability as well.
93− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
94−}
95−
96−// Represents an incoming call, e.g. a caller of a method or constructor.
97−//
98−// @since 3.16.0
99−//
100−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyIncomingCall
101−type CallHierarchyIncomingCall struct {
102− // The item that makes the call.
103− From CallHierarchyItem `json:"from"`
104− // The ranges at which the calls appear. This is relative to the caller
105− // denoted by {@link CallHierarchyIncomingCall.from `this.from`}.
106− FromRanges []Range `json:"fromRanges"`
107−}
108−
109−// The parameter of a `callHierarchy/incomingCalls` request.
110−//
111−// @since 3.16.0
112−//
113−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyIncomingCallsParams
114−type CallHierarchyIncomingCallsParams struct {
115− Item CallHierarchyItem `json:"item"`
116− WorkDoneProgressParams
117− PartialResultParams
118−}
119−
120−// Represents programming constructs like functions or constructors in the context
121−// of call hierarchy.
122−//
123−// @since 3.16.0
124−//
125−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyItem
126−type CallHierarchyItem struct {
127− // The name of this item.
128− Name string `json:"name"`
129− // The kind of this item.
130− Kind SymbolKind `json:"kind"`
131− // Tags for this item.
132− Tags []SymbolTag `json:"tags,omitempty"`
133− // More detail for this item, e.g. the signature of a function.
134− Detail string `json:"detail,omitempty"`
135− // The resource identifier of this item.
136− URI DocumentURI `json:"uri"`
137− // The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.
138− Range Range `json:"range"`
139− // The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function.
140− // Must be contained by the {@link CallHierarchyItem.range `range`}.
141− SelectionRange Range `json:"selectionRange"`
142− // A data entry field that is preserved between a call hierarchy prepare and
143− // incoming calls or outgoing calls requests.
144− Data interface{} `json:"data,omitempty"`
145−}
146−
147−// Call hierarchy options used during static registration.
148−//
149−// @since 3.16.0
150−//
151−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOptions
152−type CallHierarchyOptions struct {
153− WorkDoneProgressOptions
154−}
155−
156−// Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc.
157−//
158−// @since 3.16.0
159−//
160−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOutgoingCall
161−type CallHierarchyOutgoingCall struct {
162− // The item that is called.
163− To CallHierarchyItem `json:"to"`
164− // The range at which this item is called. This is the range relative to the caller, e.g the item
165− // passed to {@link CallHierarchyItemProvider.provideCallHierarchyOutgoingCalls `provideCallHierarchyOutgoingCalls`}
166− // and not {@link CallHierarchyOutgoingCall.to `this.to`}.
167− FromRanges []Range `json:"fromRanges"`
168−}
169−
170−// The parameter of a `callHierarchy/outgoingCalls` request.
171−//
172−// @since 3.16.0
173−//
174−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOutgoingCallsParams
175−type CallHierarchyOutgoingCallsParams struct {
176− Item CallHierarchyItem `json:"item"`
177− WorkDoneProgressParams
178− PartialResultParams
179−}
180−
181−// The parameter of a `textDocument/prepareCallHierarchy` request.
182−//
183−// @since 3.16.0
184−//
185−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyPrepareParams
186−type CallHierarchyPrepareParams struct {
187− TextDocumentPositionParams
188− WorkDoneProgressParams
189−}
190−
191−// Call hierarchy options used during static or dynamic registration.
192−//
193−// @since 3.16.0
194−//
195−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyRegistrationOptions
196−type CallHierarchyRegistrationOptions struct {
197− TextDocumentRegistrationOptions
198− CallHierarchyOptions
199− StaticRegistrationOptions
200−}
201−
202−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#cancelParams
203−type CancelParams struct {
204− // The request id to cancel.
205− ID interface{} `json:"id"`
206−}
207−
208−// Additional information that describes document changes.
209−//
210−// @since 3.16.0
211−//
212−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotation
213−type ChangeAnnotation struct {
214− // A human-readable string describing the actual change. The string
215− // is rendered prominent in the user interface.
216− Label string `json:"label"`
217− // A flag which indicates that user confirmation is needed
218− // before applying the change.
219− NeedsConfirmation bool `json:"needsConfirmation,omitempty"`
220− // A human-readable string which is rendered less prominent in
221− // the user interface.
222− Description string `json:"description,omitempty"`
223−}
224−
225−// An identifier to refer to a change annotation stored with a workspace edit.
226−//
227−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotationIdentifier
228−type (
229− ChangeAnnotationIdentifier = string // (alias)
230− // @since 3.18.0
231− //
232− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotationsSupportOptions
233− ChangeAnnotationsSupportOptions struct {
234− // Whether the client groups edits with equal labels into tree nodes,
235− // for instance all edits labelled with "Changes in Strings" would
236− // be a tree node.
237− GroupsOnLabel bool `json:"groupsOnLabel,omitempty"`
238− }
239−)
240−
241−// Defines the capabilities provided by the client.
242−//
243−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCapabilities
244−type ClientCapabilities struct {
245− // Workspace specific client capabilities.
246− Workspace WorkspaceClientCapabilities `json:"workspace,omitempty"`
247− // Text document specific client capabilities.
248− TextDocument TextDocumentClientCapabilities `json:"textDocument,omitempty"`
249− // Capabilities specific to the notebook document support.
250− //
251− // @since 3.17.0
252− NotebookDocument *NotebookDocumentClientCapabilities `json:"notebookDocument,omitempty"`
253− // Window specific client capabilities.
254− Window WindowClientCapabilities `json:"window,omitempty"`
255− // General client capabilities.
256− //
257− // @since 3.16.0
258− General *GeneralClientCapabilities `json:"general,omitempty"`
259− // Experimental client capabilities.
260− Experimental interface{} `json:"experimental,omitempty"`
261−}
262−
263−// @since 3.18.0
264−//
265−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionKindOptions
266−type ClientCodeActionKindOptions struct {
267− // The code action kind values the client supports. When this
268− // property exists the client also guarantees that it will
269− // handle values outside its set gracefully and falls back
270− // to a default value when unknown.
271− ValueSet []CodeActionKind `json:"valueSet"`
272−}
273−
274−// @since 3.18.0
275−//
276−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionLiteralOptions
277−type ClientCodeActionLiteralOptions struct {
278− // The code action kind is support with the following value
279− // set.
280− CodeActionKind ClientCodeActionKindOptions `json:"codeActionKind"`
281−}
282−
283−// @since 3.18.0
284−//
285−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionResolveOptions
286−type ClientCodeActionResolveOptions struct {
287− // The properties that a client can resolve lazily.
288− Properties []string `json:"properties"`
289−}
290−
291−// @since 3.18.0
292−//
293−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeLensResolveOptions
294−type ClientCodeLensResolveOptions struct {
295− // The properties that a client can resolve lazily.
296− Properties []string `json:"properties"`
297−}
298−
299−// @since 3.18.0
300−//
301−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemInsertTextModeOptions
302−type ClientCompletionItemInsertTextModeOptions struct {
303− ValueSet []InsertTextMode `json:"valueSet"`
304−}
305−
306−// @since 3.18.0
307−//
308−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemOptions
309−type ClientCompletionItemOptions struct {
310− // Client supports snippets as insert text.
311− //
312− // A snippet can define tab stops and placeholders with `$1`, `$2`
313− // and `${3:foo}`. `$0` defines the final tab stop, it defaults to
314− // the end of the snippet. Placeholders with equal identifiers are linked,
315− // that is typing in one will update others too.
316− SnippetSupport bool `json:"snippetSupport,omitempty"`
317− // Client supports commit characters on a completion item.
318− CommitCharactersSupport bool `json:"commitCharactersSupport,omitempty"`
319− // Client supports the following content formats for the documentation
320− // property. The order describes the preferred format of the client.
321− DocumentationFormat []MarkupKind `json:"documentationFormat,omitempty"`
322− // Client supports the deprecated property on a completion item.
323− DeprecatedSupport bool `json:"deprecatedSupport,omitempty"`
324− // Client supports the preselect property on a completion item.
325− PreselectSupport bool `json:"preselectSupport,omitempty"`
326− // Client supports the tag property on a completion item. Clients supporting
327− // tags have to handle unknown tags gracefully. Clients especially need to
328− // preserve unknown tags when sending a completion item back to the server in
329− // a resolve call.
330− //
331− // @since 3.15.0
332− TagSupport *CompletionItemTagOptions `json:"tagSupport,omitempty"`
333− // Client support insert replace edit to control different behavior if a
334− // completion item is inserted in the text or should replace text.
335− //
336− // @since 3.16.0
337− InsertReplaceSupport bool `json:"insertReplaceSupport,omitempty"`
338− // Indicates which properties a client can resolve lazily on a completion
339− // item. Before version 3.16.0 only the predefined properties `documentation`
340− // and `details` could be resolved lazily.
341− //
342− // @since 3.16.0
343− ResolveSupport *ClientCompletionItemResolveOptions `json:"resolveSupport,omitempty"`
344− // The client supports the `insertTextMode` property on
345− // a completion item to override the whitespace handling mode
346− // as defined by the client (see `insertTextMode`).
347− //
348− // @since 3.16.0
349− InsertTextModeSupport *ClientCompletionItemInsertTextModeOptions `json:"insertTextModeSupport,omitempty"`
350− // The client has support for completion item label
351− // details (see also `CompletionItemLabelDetails`).
352− //
353− // @since 3.17.0
354− LabelDetailsSupport bool `json:"labelDetailsSupport,omitempty"`
355−}
356−
357−// @since 3.18.0
358−//
359−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemOptionsKind
360−type ClientCompletionItemOptionsKind struct {
361− // The completion item kind values the client supports. When this
362− // property exists the client also guarantees that it will
363− // handle values outside its set gracefully and falls back
364− // to a default value when unknown.
365− //
366− // If this property is not present the client only supports
367− // the completion items kinds from `Text` to `Reference` as defined in
368− // the initial version of the protocol.
369− ValueSet []CompletionItemKind `json:"valueSet,omitempty"`
370−}
371−
372−// @since 3.18.0
373−//
374−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemResolveOptions
375−type ClientCompletionItemResolveOptions struct {
376− // The properties that a client can resolve lazily.
377− Properties []string `json:"properties"`
378−}
379−
380−// @since 3.18.0
381−//
382−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientDiagnosticsTagOptions
383−type ClientDiagnosticsTagOptions struct {
384− // The tags supported by the client.
385− ValueSet []DiagnosticTag `json:"valueSet"`
386−}
387−
388−// @since 3.18.0
389−//
390−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientFoldingRangeKindOptions
391−type ClientFoldingRangeKindOptions struct {
392− // The folding range kind values the client supports. When this
393− // property exists the client also guarantees that it will
394− // handle values outside its set gracefully and falls back
395− // to a default value when unknown.
396− ValueSet []FoldingRangeKind `json:"valueSet,omitempty"`
397−}
398−
399−// @since 3.18.0
400−//
401−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientFoldingRangeOptions
402−type ClientFoldingRangeOptions struct {
403− // If set, the client signals that it supports setting collapsedText on
404− // folding ranges to display custom labels instead of the default text.
405− //
406− // @since 3.17.0
407− CollapsedText bool `json:"collapsedText,omitempty"`
408−}
409−
410−// Information about the client
411−//
412−// @since 3.15.0
413−// @since 3.18.0 ClientInfo type name added.
414−//
415−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientInfo
416−type ClientInfo struct {
417− // The name of the client as defined by the client.
418− Name string `json:"name"`
419− // The client's version as defined by the client.
420− Version string `json:"version,omitempty"`
421−}
422−
423−// @since 3.18.0
424−//
425−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientInlayHintResolveOptions
426−type ClientInlayHintResolveOptions struct {
427− // The properties that a client can resolve lazily.
428− Properties []string `json:"properties"`
429−}
430−
431−// @since 3.18.0
432−//
433−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSemanticTokensRequestFullDelta
434−type ClientSemanticTokensRequestFullDelta struct {
435− // The client will send the `textDocument/semanticTokens/full/delta` request if
436− // the server provides a corresponding handler.
437− Delta bool `json:"delta,omitempty"`
438−}
439−
440−// @since 3.18.0
441−//
442−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSemanticTokensRequestOptions
443−type ClientSemanticTokensRequestOptions struct {
444− // The client will send the `textDocument/semanticTokens/range` request if
445− // the server provides a corresponding handler.
446− Range *Or_ClientSemanticTokensRequestOptions_range `json:"range,omitempty"`
447− // The client will send the `textDocument/semanticTokens/full` request if
448− // the server provides a corresponding handler.
449− Full *Or_ClientSemanticTokensRequestOptions_full `json:"full,omitempty"`
450−}
451−
452−// @since 3.18.0
453−//
454−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientShowMessageActionItemOptions
455−type ClientShowMessageActionItemOptions struct {
456− // Whether the client supports additional attributes which
457− // are preserved and send back to the server in the
458− // request's response.
459− AdditionalPropertiesSupport bool `json:"additionalPropertiesSupport,omitempty"`
460−}
461−
462−// @since 3.18.0
463−//
464−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSignatureInformationOptions
465−type ClientSignatureInformationOptions struct {
466− // Client supports the following content formats for the documentation
467− // property. The order describes the preferred format of the client.
468− DocumentationFormat []MarkupKind `json:"documentationFormat,omitempty"`
469− // Client capabilities specific to parameter information.
470− ParameterInformation *ClientSignatureParameterInformationOptions `json:"parameterInformation,omitempty"`
471− // The client supports the `activeParameter` property on `SignatureInformation`
472− // literal.
473− //
474− // @since 3.16.0
475− ActiveParameterSupport bool `json:"activeParameterSupport,omitempty"`
476− // The client supports the `activeParameter` property on
477− // `SignatureHelp`/`SignatureInformation` being set to `null` to
478− // indicate that no parameter should be active.
479− //
480− // @since 3.18.0
481− // @proposed
482− NoActiveParameterSupport bool `json:"noActiveParameterSupport,omitempty"`
483−}
484−
485−// @since 3.18.0
486−//
487−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSignatureParameterInformationOptions
488−type ClientSignatureParameterInformationOptions struct {
489− // The client supports processing label offsets instead of a
490− // simple label string.
491− //
492− // @since 3.14.0
493− LabelOffsetSupport bool `json:"labelOffsetSupport,omitempty"`
494−}
495−
496−// @since 3.18.0
497−//
498−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolKindOptions
499−type ClientSymbolKindOptions struct {
500− // The symbol kind values the client supports. When this
501− // property exists the client also guarantees that it will
502− // handle values outside its set gracefully and falls back
503− // to a default value when unknown.
504− //
505− // If this property is not present the client only supports
506− // the symbol kinds from `File` to `Array` as defined in
507− // the initial version of the protocol.
508− ValueSet []SymbolKind `json:"valueSet,omitempty"`
509−}
510−
511−// @since 3.18.0
512−//
513−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolResolveOptions
514−type ClientSymbolResolveOptions struct {
515− // The properties that a client can resolve lazily. Usually
516− // `location.range`
517− Properties []string `json:"properties"`
518−}
519−
520−// @since 3.18.0
521−//
522−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolTagOptions
523−type ClientSymbolTagOptions struct {
524− // The tags supported by the client.
525− ValueSet []SymbolTag `json:"valueSet"`
526−}
527−
528−// A code action represents a change that can be performed in code, e.g. to fix a problem or
529−// to refactor code.
530−//
531−// A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed.
532−//
533−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeAction
534−type CodeAction struct {
535− // A short, human-readable, title for this code action.
536− Title string `json:"title"`
537− // The kind of the code action.
538− //
539− // Used to filter code actions.
540− Kind CodeActionKind `json:"kind,omitempty"`
541− // The diagnostics that this code action resolves.
542− Diagnostics []Diagnostic `json:"diagnostics,omitempty"`
543− // Marks this as a preferred action. Preferred actions are used by the `auto fix` command and can be targeted
544− // by keybindings.
545− //
546− // A quick fix should be marked preferred if it properly addresses the underlying error.
547− // A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
548− //
549− // @since 3.15.0
550− IsPreferred bool `json:"isPreferred,omitempty"`
551− // Marks that the code action cannot currently be applied.
552− //
553− // Clients should follow the following guidelines regarding disabled code actions:
554− //
555− // - Disabled code actions are not shown in automatic [lightbulbs](https://code.visualstudio.com/docs/editor/editingevolved#_code-action)
556− // code action menus.
557− //
558− // - Disabled actions are shown as faded out in the code action menu when the user requests a more specific type
559− // of code action, such as refactorings.
560− //
561− // - If the user has a [keybinding](https://code.visualstudio.com/docs/editor/refactoring#_keybindings-for-code-actions)
562− // that auto applies a code action and only disabled code actions are returned, the client should show the user an
563− // error message with `reason` in the editor.
564− //
565− // @since 3.16.0
566− Disabled *CodeActionDisabled `json:"disabled,omitempty"`
567− // The workspace edit this code action performs.
568− Edit *WorkspaceEdit `json:"edit,omitempty"`
569− // A command this code action executes. If a code action
570− // provides an edit and a command, first the edit is
571− // executed and then the command.
572− Command *Command `json:"command,omitempty"`
573− // A data entry field that is preserved on a code action between
574− // a `textDocument/codeAction` and a `codeAction/resolve` request.
575− //
576− // @since 3.16.0
577− Data *json.RawMessage `json:"data,omitempty"`
578−}
579−
580−// The Client Capabilities of a {@link CodeActionRequest}.
581−//
582−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionClientCapabilities
583−type CodeActionClientCapabilities struct {
584− // Whether code action supports dynamic registration.
585− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
586− // The client support code action literals of type `CodeAction` as a valid
587− // response of the `textDocument/codeAction` request. If the property is not
588− // set the request can only return `Command` literals.
589− //
590− // @since 3.8.0
591− CodeActionLiteralSupport ClientCodeActionLiteralOptions `json:"codeActionLiteralSupport,omitempty"`
592− // Whether code action supports the `isPreferred` property.
593− //
594− // @since 3.15.0
595− IsPreferredSupport bool `json:"isPreferredSupport,omitempty"`
596− // Whether code action supports the `disabled` property.
597− //
598− // @since 3.16.0
599− DisabledSupport bool `json:"disabledSupport,omitempty"`
600− // Whether code action supports the `data` property which is
601− // preserved between a `textDocument/codeAction` and a
602− // `codeAction/resolve` request.
603− //
604− // @since 3.16.0
605− DataSupport bool `json:"dataSupport,omitempty"`
606− // Whether the client supports resolving additional code action
607− // properties via a separate `codeAction/resolve` request.
608− //
609− // @since 3.16.0
610− ResolveSupport *ClientCodeActionResolveOptions `json:"resolveSupport,omitempty"`
611− // Whether the client honors the change annotations in
612− // text edits and resource operations returned via the
613− // `CodeAction#edit` property by for example presenting
614− // the workspace edit in the user interface and asking
615− // for confirmation.
616− //
617− // @since 3.16.0
618− HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
619− // Whether the client supports documentation for a class of
620− // code actions.
621− //
622− // @since 3.18.0
623− // @proposed
624− DocumentationSupport bool `json:"documentationSupport,omitempty"`
625−}
626−
627−// Contains additional diagnostic information about the context in which
628−// a {@link CodeActionProvider.provideCodeActions code action} is run.
629−//
630−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionContext
631−type CodeActionContext struct {
632− // An array of diagnostics known on the client side overlapping the range provided to the
633− // `textDocument/codeAction` request. They are provided so that the server knows which
634− // errors are currently presented to the user for the given range. There is no guarantee
635− // that these accurately reflect the error state of the resource. The primary parameter
636− // to compute code actions is the provided range.
637− Diagnostics []Diagnostic `json:"diagnostics"`
638− // Requested kind of actions to return.
639− //
640− // Actions not of this kind are filtered out by the client before being shown. So servers
641− // can omit computing them.
642− Only []CodeActionKind `json:"only,omitempty"`
643− // The reason why code actions were requested.
644− //
645− // @since 3.17.0
646− TriggerKind *CodeActionTriggerKind `json:"triggerKind,omitempty"`
647−}
648−
649−// Captures why the code action is currently disabled.
650−//
651−// @since 3.18.0
652−//
653−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionDisabled
654−type CodeActionDisabled struct {
655− // Human readable description of why the code action is currently disabled.
656− //
657− // This is displayed in the code actions UI.
658− Reason string `json:"reason"`
659−}
660−
661−// A set of predefined code action kinds
662−type CodeActionKind string
663−
664−// Documentation for a class of code actions.
665−//
666−// @since 3.18.0
667−// @proposed
668−//
669−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionKindDocumentation
670−type CodeActionKindDocumentation struct {
671− // The kind of the code action being documented.
672− //
673− // If the kind is generic, such as `CodeActionKind.Refactor`, the documentation will be shown whenever any
674− // refactorings are returned. If the kind if more specific, such as `CodeActionKind.RefactorExtract`, the
675− // documentation will only be shown when extract refactoring code actions are returned.
676− Kind CodeActionKind `json:"kind"`
677− // Command that is ued to display the documentation to the user.
678− //
679− // The title of this documentation code action is taken from {@linkcode Command.title}
680− Command Command `json:"command"`
681−}
682−
683−// Provider options for a {@link CodeActionRequest}.
684−//
685−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionOptions
686−type CodeActionOptions struct {
687− // CodeActionKinds that this server may return.
688− //
689− // The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
690− // may list out every specific kind they provide.
691− CodeActionKinds []CodeActionKind `json:"codeActionKinds,omitempty"`
692− // Static documentation for a class of code actions.
693− //
694− // Documentation from the provider should be shown in the code actions menu if either:
695− //
696− //
697− // - Code actions of `kind` are requested by the editor. In this case, the editor will show the documentation that
698− // most closely matches the requested code action kind. For example, if a provider has documentation for
699− // both `Refactor` and `RefactorExtract`, when the user requests code actions for `RefactorExtract`,
700− // the editor will use the documentation for `RefactorExtract` instead of the documentation for `Refactor`.
701− //
702− //
703− // - Any code actions of `kind` are returned by the provider.
704− //
705− // At most one documentation entry should be shown per provider.
706− //
707− // @since 3.18.0
708− // @proposed
709− Documentation []CodeActionKindDocumentation `json:"documentation,omitempty"`
710− // The server provides support to resolve additional
711− // information for a code action.
712− //
713− // @since 3.16.0
714− ResolveProvider bool `json:"resolveProvider,omitempty"`
715− WorkDoneProgressOptions
716−}
717−
718−// The parameters of a {@link CodeActionRequest}.
719−//
720−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionParams
721−type CodeActionParams struct {
722− // The document in which the command was invoked.
723− TextDocument TextDocumentIdentifier `json:"textDocument"`
724− // The range for which the command was invoked.
725− Range Range `json:"range"`
726− // Context carrying additional information.
727− Context CodeActionContext `json:"context"`
728− WorkDoneProgressParams
729− PartialResultParams
730−}
731−
732−// Registration options for a {@link CodeActionRequest}.
733−//
734−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionRegistrationOptions
735−type CodeActionRegistrationOptions struct {
736− TextDocumentRegistrationOptions
737− CodeActionOptions
738−}
739−
740−// The reason why code actions were requested.
741−//
742−// @since 3.17.0
743−type CodeActionTriggerKind uint32
744−
745−// Structure to capture a description for an error code.
746−//
747−// @since 3.16.0
748−//
749−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeDescription
750−type CodeDescription struct {
751− // An URI to open with more information about the diagnostic error.
752− Href URI `json:"href"`
753−}
754−
755−// A code lens represents a {@link Command command} that should be shown along with
756−// source text, like the number of references, a way to run tests, etc.
757−//
758−// A code lens is _unresolved_ when no command is associated to it. For performance
759−// reasons the creation of a code lens and resolving should be done in two stages.
760−//
761−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLens
762−type CodeLens struct {
763− // The range in which this code lens is valid. Should only span a single line.
764− Range Range `json:"range"`
765− // The command this code lens represents.
766− Command *Command `json:"command,omitempty"`
767− // A data entry field that is preserved on a code lens item between
768− // a {@link CodeLensRequest} and a {@link CodeLensResolveRequest}
769− Data interface{} `json:"data,omitempty"`
770−}
771−
772−// The client capabilities of a {@link CodeLensRequest}.
773−//
774−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensClientCapabilities
775−type CodeLensClientCapabilities struct {
776− // Whether code lens supports dynamic registration.
777− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
778− // Whether the client supports resolving additional code lens
779− // properties via a separate `codeLens/resolve` request.
780− //
781− // @since 3.18.0
782− ResolveSupport *ClientCodeLensResolveOptions `json:"resolveSupport,omitempty"`
783−}
784−
785−// Code Lens provider options of a {@link CodeLensRequest}.
786−//
787−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensOptions
788−type CodeLensOptions struct {
789− // Code lens has a resolve provider as well.
790− ResolveProvider bool `json:"resolveProvider,omitempty"`
791− WorkDoneProgressOptions
792−}
793−
794−// The parameters of a {@link CodeLensRequest}.
795−//
796−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensParams
797−type CodeLensParams struct {
798− // The document to request code lens for.
799− TextDocument TextDocumentIdentifier `json:"textDocument"`
800− WorkDoneProgressParams
801− PartialResultParams
802−}
803−
804−// Registration options for a {@link CodeLensRequest}.
805−//
806−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensRegistrationOptions
807−type CodeLensRegistrationOptions struct {
808− TextDocumentRegistrationOptions
809− CodeLensOptions
810−}
811−
812−// @since 3.16.0
813−//
814−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensWorkspaceClientCapabilities
815−type CodeLensWorkspaceClientCapabilities struct {
816− // Whether the client implementation supports a refresh request sent from the
817− // server to the client.
818− //
819− // Note that this event is global and will force the client to refresh all
820− // code lenses currently shown. It should be used with absolute care and is
821− // useful for situation where a server for example detect a project wide
822− // change that requires such a calculation.
823− RefreshSupport bool `json:"refreshSupport,omitempty"`
824−}
825−
826−// Represents a color in RGBA space.
827−//
828−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#color
829−type Color struct {
830− // The red component of this color in the range [0-1].
831− Red float64 `json:"red"`
832− // The green component of this color in the range [0-1].
833− Green float64 `json:"green"`
834− // The blue component of this color in the range [0-1].
835− Blue float64 `json:"blue"`
836− // The alpha component of this color in the range [0-1].
837− Alpha float64 `json:"alpha"`
838−}
839−
840−// Represents a color range from a document.
841−//
842−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorInformation
843−type ColorInformation struct {
844− // The range in the document where this color appears.
845− Range Range `json:"range"`
846− // The actual color value for this color range.
847− Color Color `json:"color"`
848−}
849−
850−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorPresentation
851−type ColorPresentation struct {
852− // The label of this color presentation. It will be shown on the color
853− // picker header. By default this is also the text that is inserted when selecting
854− // this color presentation.
855− Label string `json:"label"`
856− // An {@link TextEdit edit} which is applied to a document when selecting
857− // this presentation for the color. When `falsy` the {@link ColorPresentation.label label}
858− // is used.
859− TextEdit *TextEdit `json:"textEdit,omitempty"`
860− // An optional array of additional {@link TextEdit text edits} that are applied when
861− // selecting this color presentation. Edits must not overlap with the main {@link ColorPresentation.textEdit edit} nor with themselves.
862− AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
863−}
864−
865−// Parameters for a {@link ColorPresentationRequest}.
866−//
867−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorPresentationParams
868−type ColorPresentationParams struct {
869− // The text document.
870− TextDocument TextDocumentIdentifier `json:"textDocument"`
871− // The color to request presentations for.
872− Color Color `json:"color"`
873− // The range where the color would be inserted. Serves as a context.
874− Range Range `json:"range"`
875− WorkDoneProgressParams
876− PartialResultParams
877−}
878−
879−// Represents a reference to a command. Provides a title which
880−// will be used to represent a command in the UI and, optionally,
881−// an array of arguments which will be passed to the command handler
882−// function when invoked.
883−//
884−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#command
885−type Command struct {
886− // Title of the command, like `save`.
887− Title string `json:"title"`
888− // An optional tooltip.
889− //
890− // @since 3.18.0
891− // @proposed
892− Tooltip string `json:"tooltip,omitempty"`
893− // The identifier of the actual command handler.
894− Command string `json:"command"`
895− // Arguments that the command handler should be
896− // invoked with.
897− Arguments []json.RawMessage `json:"arguments,omitempty"`
898−}
899−
900−// Completion client capabilities
901−//
902−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionClientCapabilities
903−type CompletionClientCapabilities struct {
904− // Whether completion supports dynamic registration.
905− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
906− // The client supports the following `CompletionItem` specific
907− // capabilities.
908− CompletionItem ClientCompletionItemOptions `json:"completionItem,omitempty"`
909− CompletionItemKind *ClientCompletionItemOptionsKind `json:"completionItemKind,omitempty"`
910− // Defines how the client handles whitespace and indentation
911− // when accepting a completion item that uses multi line
912− // text in either `insertText` or `textEdit`.
913− //
914− // @since 3.17.0
915− InsertTextMode InsertTextMode `json:"insertTextMode,omitempty"`
916− // The client supports to send additional context information for a
917− // `textDocument/completion` request.
918− ContextSupport bool `json:"contextSupport,omitempty"`
919− // The client supports the following `CompletionList` specific
920− // capabilities.
921− //
922− // @since 3.17.0
923− CompletionList *CompletionListCapabilities `json:"completionList,omitempty"`
924−}
925−
926−// Contains additional information about the context in which a completion request is triggered.
927−//
928−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionContext
929−type CompletionContext struct {
930− // How the completion was triggered.
931− TriggerKind CompletionTriggerKind `json:"triggerKind"`
932− // The trigger character (a single character) that has trigger code complete.
933− // Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
934− TriggerCharacter string `json:"triggerCharacter,omitempty"`
935−}
936−
937−// A completion item represents a text snippet that is
938−// proposed to complete text that is being typed.
939−//
940−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItem
941−type CompletionItem struct {
942− // The label of this completion item.
943− //
944− // The label property is also by default the text that
945− // is inserted when selecting this completion.
946− //
947− // If label details are provided the label itself should
948− // be an unqualified name of the completion item.
949− Label string `json:"label"`
950− // Additional details for the label
951− //
952− // @since 3.17.0
953− LabelDetails *CompletionItemLabelDetails `json:"labelDetails,omitempty"`
954− // The kind of this completion item. Based of the kind
955− // an icon is chosen by the editor.
956− Kind CompletionItemKind `json:"kind,omitempty"`
957− // Tags for this completion item.
958− //
959− // @since 3.15.0
960− Tags []CompletionItemTag `json:"tags,omitempty"`
961− // A human-readable string with additional information
962− // about this item, like type or symbol information.
963− Detail string `json:"detail,omitempty"`
964− // A human-readable string that represents a doc-comment.
965− Documentation *Or_CompletionItem_documentation `json:"documentation,omitempty"`
966− // Indicates if this item is deprecated.
967− // @deprecated Use `tags` instead.
968− Deprecated bool `json:"deprecated,omitempty"`
969− // Select this item when showing.
970− //
971− // *Note* that only one completion item can be selected and that the
972− // tool / client decides which item that is. The rule is that the *first*
973− // item of those that match best is selected.
974− Preselect bool `json:"preselect,omitempty"`
975− // A string that should be used when comparing this item
976− // with other items. When `falsy` the {@link CompletionItem.label label}
977− // is used.
978− SortText string `json:"sortText,omitempty"`
979− // A string that should be used when filtering a set of
980− // completion items. When `falsy` the {@link CompletionItem.label label}
981− // is used.
982− FilterText string `json:"filterText,omitempty"`
983− // A string that should be inserted into a document when selecting
984− // this completion. When `falsy` the {@link CompletionItem.label label}
985− // is used.
986− //
987− // The `insertText` is subject to interpretation by the client side.
988− // Some tools might not take the string literally. For example
989− // VS Code when code complete is requested in this example
990− // `con<cursor position>` and a completion item with an `insertText` of
991− // `console` is provided it will only insert `sole`. Therefore it is
992− // recommended to use `textEdit` instead since it avoids additional client
993− // side interpretation.
994− InsertText string `json:"insertText,omitempty"`
995− // The format of the insert text. The format applies to both the
996− // `insertText` property and the `newText` property of a provided
997− // `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`.
998− //
999− // Please note that the insertTextFormat doesn't apply to
1000− // `additionalTextEdits`.
1001− InsertTextFormat *InsertTextFormat `json:"insertTextFormat,omitempty"`
1002− // How whitespace and indentation is handled during completion
1003− // item insertion. If not provided the clients default value depends on
1004− // the `textDocument.completion.insertTextMode` client capability.
1005− //
1006− // @since 3.16.0
1007− InsertTextMode *InsertTextMode `json:"insertTextMode,omitempty"`
1008− // An {@link TextEdit edit} which is applied to a document when selecting
1009− // this completion. When an edit is provided the value of
1010− // {@link CompletionItem.insertText insertText} is ignored.
1011− //
1012− // Most editors support two different operations when accepting a completion
1013− // item. One is to insert a completion text and the other is to replace an
1014− // existing text with a completion text. Since this can usually not be
1015− // predetermined by a server it can report both ranges. Clients need to
1016− // signal support for `InsertReplaceEdits` via the
1017− // `textDocument.completion.insertReplaceSupport` client capability
1018− // property.
1019− //
1020− // *Note 1:* The text edit's range as well as both ranges from an insert
1021− // replace edit must be a [single line] and they must contain the position
1022− // at which completion has been requested.
1023− // *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range
1024− // must be a prefix of the edit's replace range, that means it must be
1025− // contained and starting at the same position.
1026− //
1027− // @since 3.16.0 additional type `InsertReplaceEdit`
1028− TextEdit *Or_CompletionItem_textEdit `json:"textEdit,omitempty"`
1029− // The edit text used if the completion item is part of a CompletionList and
1030− // CompletionList defines an item default for the text edit range.
1031− //
1032− // Clients will only honor this property if they opt into completion list
1033− // item defaults using the capability `completionList.itemDefaults`.
1034− //
1035− // If not provided and a list's default range is provided the label
1036− // property is used as a text.
1037− //
1038− // @since 3.17.0
1039− TextEditText string `json:"textEditText,omitempty"`
1040− // An optional array of additional {@link TextEdit text edits} that are applied when
1041− // selecting this completion. Edits must not overlap (including the same insert position)
1042− // with the main {@link CompletionItem.textEdit edit} nor with themselves.
1043− //
1044− // Additional text edits should be used to change text unrelated to the current cursor position
1045− // (for example adding an import statement at the top of the file if the completion item will
1046− // insert an unqualified type).
1047− AdditionalTextEdits []TextEdit `json:"additionalTextEdits,omitempty"`
1048− // An optional set of characters that when pressed while this completion is active will accept it first and
1049− // then type that character. *Note* that all commit characters should have `length=1` and that superfluous
1050− // characters will be ignored.
1051− CommitCharacters []string `json:"commitCharacters,omitempty"`
1052− // An optional {@link Command command} that is executed *after* inserting this completion. *Note* that
1053− // additional modifications to the current document should be described with the
1054− // {@link CompletionItem.additionalTextEdits additionalTextEdits}-property.
1055− Command *Command `json:"command,omitempty"`
1056− // A data entry field that is preserved on a completion item between a
1057− // {@link CompletionRequest} and a {@link CompletionResolveRequest}.
1058− Data interface{} `json:"data,omitempty"`
1059−}
1060−
1061−// In many cases the items of an actual completion result share the same
1062−// value for properties like `commitCharacters` or the range of a text
1063−// edit. A completion list can therefore define item defaults which will
1064−// be used if a completion item itself doesn't specify the value.
1065−//
1066−// If a completion list specifies a default value and a completion item
1067−// also specifies a corresponding value the one from the item is used.
1068−//
1069−// Servers are only allowed to return default values if the client
1070−// signals support for this via the `completionList.itemDefaults`
1071−// capability.
1072−//
1073−// @since 3.17.0
1074−//
1075−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemDefaults
1076−type CompletionItemDefaults struct {
1077− // A default commit character set.
1078− //
1079− // @since 3.17.0
1080− CommitCharacters []string `json:"commitCharacters,omitempty"`
1081− // A default edit range.
1082− //
1083− // @since 3.17.0
1084− EditRange *Or_CompletionItemDefaults_editRange `json:"editRange,omitempty"`
1085− // A default insert text format.
1086− //
1087− // @since 3.17.0
1088− InsertTextFormat *InsertTextFormat `json:"insertTextFormat,omitempty"`
1089− // A default insert text mode.
1090− //
1091− // @since 3.17.0
1092− InsertTextMode *InsertTextMode `json:"insertTextMode,omitempty"`
1093− // A default data value.
1094− //
1095− // @since 3.17.0
1096− Data interface{} `json:"data,omitempty"`
1097−}
1098−
1099−// The kind of a completion entry.
1100−type CompletionItemKind uint32
1101−
1102−// Additional details for a completion item label.
1103−//
1104−// @since 3.17.0
1105−//
1106−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemLabelDetails
1107−type CompletionItemLabelDetails struct {
1108− // An optional string which is rendered less prominently directly after {@link CompletionItem.label label},
1109− // without any spacing. Should be used for function signatures and type annotations.
1110− Detail string `json:"detail,omitempty"`
1111− // An optional string which is rendered less prominently after {@link CompletionItem.detail}. Should be used
1112− // for fully qualified names and file paths.
1113− Description string `json:"description,omitempty"`
1114−}
1115−
1116−// Completion item tags are extra annotations that tweak the rendering of a completion
1117−// item.
1118−//
1119−// @since 3.15.0
1120−type CompletionItemTag uint32
1121−
1122−// @since 3.18.0
1123−//
1124−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemTagOptions
1125−type CompletionItemTagOptions struct {
1126− // The tags supported by the client.
1127− ValueSet []CompletionItemTag `json:"valueSet"`
1128−}
1129−
1130−// Represents a collection of {@link CompletionItem completion items} to be presented
1131−// in the editor.
1132−//
1133−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionList
1134−type CompletionList struct {
1135− // This list it not complete. Further typing results in recomputing this list.
1136− //
1137− // Recomputed lists have all their items replaced (not appended) in the
1138− // incomplete completion sessions.
1139− IsIncomplete bool `json:"isIncomplete"`
1140− // In many cases the items of an actual completion result share the same
1141− // value for properties like `commitCharacters` or the range of a text
1142− // edit. A completion list can therefore define item defaults which will
1143− // be used if a completion item itself doesn't specify the value.
1144− //
1145− // If a completion list specifies a default value and a completion item
1146− // also specifies a corresponding value the one from the item is used.
1147− //
1148− // Servers are only allowed to return default values if the client
1149− // signals support for this via the `completionList.itemDefaults`
1150− // capability.
1151− //
1152− // @since 3.17.0
1153− ItemDefaults *CompletionItemDefaults `json:"itemDefaults,omitempty"`
1154− // The completion items.
1155− Items []CompletionItem `json:"items"`
1156−}
1157−
1158−// The client supports the following `CompletionList` specific
1159−// capabilities.
1160−//
1161−// @since 3.17.0
1162−//
1163−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionListCapabilities
1164−type CompletionListCapabilities struct {
1165− // The client supports the following itemDefaults on
1166− // a completion list.
1167− //
1168− // The value lists the supported property names of the
1169− // `CompletionList.itemDefaults` object. If omitted
1170− // no properties are supported.
1171− //
1172− // @since 3.17.0
1173− ItemDefaults []string `json:"itemDefaults,omitempty"`
1174−}
1175−
1176−// Completion options.
1177−//
1178−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionOptions
1179−type CompletionOptions struct {
1180− // Most tools trigger completion request automatically without explicitly requesting
1181− // it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
1182− // starts to type an identifier. For example if the user types `c` in a JavaScript file
1183− // code complete will automatically pop up present `console` besides others as a
1184− // completion item. Characters that make up identifiers don't need to be listed here.
1185− //
1186− // If code complete should automatically be trigger on characters not being valid inside
1187− // an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
1188− TriggerCharacters []string `json:"triggerCharacters,omitempty"`
1189− // The list of all possible characters that commit a completion. This field can be used
1190− // if clients don't support individual commit characters per completion item. See
1191− // `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
1192− //
1193− // If a server provides both `allCommitCharacters` and commit characters on an individual
1194− // completion item the ones on the completion item win.
1195− //
1196− // @since 3.2.0
1197− AllCommitCharacters []string `json:"allCommitCharacters,omitempty"`
1198− // The server provides support to resolve additional
1199− // information for a completion item.
1200− ResolveProvider bool `json:"resolveProvider,omitempty"`
1201− // The server supports the following `CompletionItem` specific
1202− // capabilities.
1203− //
1204− // @since 3.17.0
1205− CompletionItem *ServerCompletionItemOptions `json:"completionItem,omitempty"`
1206− WorkDoneProgressOptions
1207−}
1208−
1209−// Completion parameters
1210−//
1211−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionParams
1212−type CompletionParams struct {
1213− // The completion context. This is only available it the client specifies
1214− // to send this using the client capability `textDocument.completion.contextSupport === true`
1215− Context CompletionContext `json:"context,omitempty"`
1216− TextDocumentPositionParams
1217− WorkDoneProgressParams
1218− PartialResultParams
1219−}
1220−
1221−// Registration options for a {@link CompletionRequest}.
1222−//
1223−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionRegistrationOptions
1224−type CompletionRegistrationOptions struct {
1225− TextDocumentRegistrationOptions
1226− CompletionOptions
1227−}
1228−
1229−// How a completion was triggered
1230−type CompletionTriggerKind uint32
1231−
1232−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationItem
1233−type ConfigurationItem struct {
1234− // The scope to get the configuration section for.
1235− ScopeURI *URI `json:"scopeUri,omitempty"`
1236− // The configuration section asked for.
1237− Section string `json:"section,omitempty"`
1238−}
1239−
1240−// The parameters of a configuration request.
1241−//
1242−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationParams
1243−type ConfigurationParams struct {
1244− Items []ConfigurationItem `json:"items"`
1245−}
1246−
1247−// Create file operation.
1248−//
1249−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFile
1250−type CreateFile struct {
1251− // A create
1252− Kind string `json:"kind"`
1253− // The resource to create.
1254− URI DocumentURI `json:"uri"`
1255− // Additional options
1256− Options *CreateFileOptions `json:"options,omitempty"`
1257− ResourceOperation
1258−}
1259−
1260−// Options to create a file.
1261−//
1262−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFileOptions
1263−type CreateFileOptions struct {
1264− // Overwrite existing file. Overwrite wins over `ignoreIfExists`
1265− Overwrite bool `json:"overwrite,omitempty"`
1266− // Ignore if exists.
1267− IgnoreIfExists bool `json:"ignoreIfExists,omitempty"`
1268−}
1269−
1270−// The parameters sent in notifications/requests for user-initiated creation of
1271−// files.
1272−//
1273−// @since 3.16.0
1274−//
1275−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFilesParams
1276−type CreateFilesParams struct {
1277− // An array of all files/folders created in this operation.
1278− Files []FileCreate `json:"files"`
1279−}
1280−
1281−// The declaration of a symbol representation as one or many {@link Location locations}.
1282−//
1283−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declaration
1284−type (
1285− Declaration = Or_Declaration // (alias)
1286− // @since 3.14.0
1287− //
1288− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationClientCapabilities
1289− DeclarationClientCapabilities struct {
1290− // Whether declaration supports dynamic registration. If this is set to `true`
1291− // the client supports the new `DeclarationRegistrationOptions` return value
1292− // for the corresponding server capability as well.
1293− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1294− // The client supports additional metadata in the form of declaration links.
1295− LinkSupport bool `json:"linkSupport,omitempty"`
1296− }
1297−)
1298−
1299−// Information about where a symbol is declared.
1300−//
1301−// Provides additional metadata over normal {@link Location location} declarations, including the range of
1302−// the declaring symbol.
1303−//
1304−// Servers should prefer returning `DeclarationLink` over `Declaration` if supported
1305−// by the client.
1306−//
1307−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationLink
1308−type (
1309− DeclarationLink = LocationLink // (alias)
1310− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationOptions
1311− DeclarationOptions struct {
1312− WorkDoneProgressOptions
1313− }
1314−)
1315−
1316−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationParams
1317−type DeclarationParams struct {
1318− TextDocumentPositionParams
1319− WorkDoneProgressParams
1320− PartialResultParams
1321−}
1322−
1323−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationRegistrationOptions
1324−type DeclarationRegistrationOptions struct {
1325− DeclarationOptions
1326− TextDocumentRegistrationOptions
1327− StaticRegistrationOptions
1328−}
1329−
1330−// The definition of a symbol represented as one or many {@link Location locations}.
1331−// For most programming languages there is only one location at which a symbol is
1332−// defined.
1333−//
1334−// Servers should prefer returning `DefinitionLink` over `Definition` if supported
1335−// by the client.
1336−//
1337−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definition
1338−type (
1339− Definition = Or_Definition // (alias)
1340− // Client Capabilities for a {@link DefinitionRequest}.
1341− //
1342− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionClientCapabilities
1343− DefinitionClientCapabilities struct {
1344− // Whether definition supports dynamic registration.
1345− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1346− // The client supports additional metadata in the form of definition links.
1347− //
1348− // @since 3.14.0
1349− LinkSupport bool `json:"linkSupport,omitempty"`
1350− }
1351−)
1352−
1353−// Information about where a symbol is defined.
1354−//
1355−// Provides additional metadata over normal {@link Location location} definitions, including the range of
1356−// the defining symbol
1357−//
1358−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionLink
1359−type (
1360− DefinitionLink = LocationLink // (alias)
1361− // Server Capabilities for a {@link DefinitionRequest}.
1362− //
1363− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionOptions
1364− DefinitionOptions struct {
1365− WorkDoneProgressOptions
1366− }
1367−)
1368−
1369−// Parameters for a {@link DefinitionRequest}.
1370−//
1371−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionParams
1372−type DefinitionParams struct {
1373− TextDocumentPositionParams
1374− WorkDoneProgressParams
1375− PartialResultParams
1376−}
1377−
1378−// Registration options for a {@link DefinitionRequest}.
1379−//
1380−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionRegistrationOptions
1381−type DefinitionRegistrationOptions struct {
1382− TextDocumentRegistrationOptions
1383− DefinitionOptions
1384−}
1385−
1386−// Delete file operation
1387−//
1388−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFile
1389−type DeleteFile struct {
1390− // A delete
1391− Kind string `json:"kind"`
1392− // The file to delete.
1393− URI DocumentURI `json:"uri"`
1394− // Delete options.
1395− Options *DeleteFileOptions `json:"options,omitempty"`
1396− ResourceOperation
1397−}
1398−
1399−// Delete file options
1400−//
1401−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFileOptions
1402−type DeleteFileOptions struct {
1403− // Delete the content recursively if a folder is denoted.
1404− Recursive bool `json:"recursive,omitempty"`
1405− // Ignore the operation if the file doesn't exist.
1406− IgnoreIfNotExists bool `json:"ignoreIfNotExists,omitempty"`
1407−}
1408−
1409−// The parameters sent in notifications/requests for user-initiated deletes of
1410−// files.
1411−//
1412−// @since 3.16.0
1413−//
1414−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFilesParams
1415−type DeleteFilesParams struct {
1416− // An array of all files/folders deleted in this operation.
1417− Files []FileDelete `json:"files"`
1418−}
1419−
1420−// Represents a diagnostic, such as a compiler error or warning. Diagnostic objects
1421−// are only valid in the scope of a resource.
1422−//
1423−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnostic
1424−type Diagnostic struct {
1425− // The range at which the message applies
1426− Range Range `json:"range"`
1427− // The diagnostic's severity. To avoid interpretation mismatches when a
1428− // server is used with different clients it is highly recommended that servers
1429− // always provide a severity value.
1430− Severity DiagnosticSeverity `json:"severity,omitempty"`
1431− // The diagnostic's code, which usually appear in the user interface.
1432− Code interface{} `json:"code,omitempty"`
1433− // An optional property to describe the error code.
1434− // Requires the code field (above) to be present/not null.
1435− //
1436− // @since 3.16.0
1437− CodeDescription *CodeDescription `json:"codeDescription,omitempty"`
1438− // A human-readable string describing the source of this
1439− // diagnostic, e.g. 'typescript' or 'super lint'. It usually
1440− // appears in the user interface.
1441− Source string `json:"source,omitempty"`
1442− // The diagnostic's message. It usually appears in the user interface
1443− Message string `json:"message"`
1444− // Additional metadata about the diagnostic.
1445− //
1446− // @since 3.15.0
1447− Tags []DiagnosticTag `json:"tags,omitempty"`
1448− // An array of related diagnostic information, e.g. when symbol-names within
1449− // a scope collide all definitions can be marked via this property.
1450− RelatedInformation []DiagnosticRelatedInformation `json:"relatedInformation,omitempty"`
1451− // A data entry field that is preserved between a `textDocument/publishDiagnostics`
1452− // notification and `textDocument/codeAction` request.
1453− //
1454− // @since 3.16.0
1455− Data *json.RawMessage `json:"data,omitempty"`
1456−}
1457−
1458−// Client capabilities specific to diagnostic pull requests.
1459−//
1460−// @since 3.17.0
1461−//
1462−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticClientCapabilities
1463−type DiagnosticClientCapabilities struct {
1464− // Whether implementation supports dynamic registration. If this is set to `true`
1465− // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
1466− // return value for the corresponding server capability as well.
1467− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1468− // Whether the clients supports related documents for document diagnostic pulls.
1469− RelatedDocumentSupport bool `json:"relatedDocumentSupport,omitempty"`
1470− DiagnosticsCapabilities
1471−}
1472−
1473−// Diagnostic options.
1474−//
1475−// @since 3.17.0
1476−//
1477−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticOptions
1478−type DiagnosticOptions struct {
1479− // An optional identifier under which the diagnostics are
1480− // managed by the client.
1481− Identifier string `json:"identifier,omitempty"`
1482− // Whether the language has inter file dependencies meaning that
1483− // editing code in one file can result in a different diagnostic
1484− // set in another file. Inter file dependencies are common for
1485− // most programming languages and typically uncommon for linters.
1486− InterFileDependencies bool `json:"interFileDependencies"`
1487− // The server provides support for workspace diagnostics as well.
1488− WorkspaceDiagnostics bool `json:"workspaceDiagnostics"`
1489− WorkDoneProgressOptions
1490−}
1491−
1492−// Diagnostic registration options.
1493−//
1494−// @since 3.17.0
1495−//
1496−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticRegistrationOptions
1497−type DiagnosticRegistrationOptions struct {
1498− TextDocumentRegistrationOptions
1499− DiagnosticOptions
1500− StaticRegistrationOptions
1501−}
1502−
1503−// Represents a related message and source code location for a diagnostic. This should be
1504−// used to point to code locations that cause or related to a diagnostics, e.g when duplicating
1505−// a symbol in a scope.
1506−//
1507−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticRelatedInformation
1508−type DiagnosticRelatedInformation struct {
1509− // The location of this related diagnostic information.
1510− Location Location `json:"location"`
1511− // The message of this related diagnostic information.
1512− Message string `json:"message"`
1513−}
1514−
1515−// Cancellation data returned from a diagnostic request.
1516−//
1517−// @since 3.17.0
1518−//
1519−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticServerCancellationData
1520−type DiagnosticServerCancellationData struct {
1521− RetriggerRequest bool `json:"retriggerRequest"`
1522−}
1523−
1524−// The diagnostic's severity.
1525−type DiagnosticSeverity uint32
1526−
1527−// The diagnostic tags.
1528−//
1529−// @since 3.15.0
1530−type DiagnosticTag uint32
1531−
1532−// Workspace client capabilities specific to diagnostic pull requests.
1533−//
1534−// @since 3.17.0
1535−//
1536−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticWorkspaceClientCapabilities
1537−type DiagnosticWorkspaceClientCapabilities struct {
1538− // Whether the client implementation supports a refresh request sent from
1539− // the server to the client.
1540− //
1541− // Note that this event is global and will force the client to refresh all
1542− // pulled diagnostics currently shown. It should be used with absolute care and
1543− // is useful for situation where a server for example detects a project wide
1544− // change that requires such a calculation.
1545− RefreshSupport bool `json:"refreshSupport,omitempty"`
1546−}
1547−
1548−// General diagnostics capabilities for pull and push model.
1549−//
1550−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticsCapabilities
1551−type DiagnosticsCapabilities struct {
1552− // Whether the clients accepts diagnostics with related information.
1553− RelatedInformation bool `json:"relatedInformation,omitempty"`
1554− // Client supports the tag property to provide meta data about a diagnostic.
1555− // Clients supporting tags have to handle unknown tags gracefully.
1556− //
1557− // @since 3.15.0
1558− TagSupport *ClientDiagnosticsTagOptions `json:"tagSupport,omitempty"`
1559− // Client supports a codeDescription property
1560− //
1561− // @since 3.16.0
1562− CodeDescriptionSupport bool `json:"codeDescriptionSupport,omitempty"`
1563− // Whether code action supports the `data` property which is
1564− // preserved between a `textDocument/publishDiagnostics` and
1565− // `textDocument/codeAction` request.
1566− //
1567− // @since 3.16.0
1568− DataSupport bool `json:"dataSupport,omitempty"`
1569−}
1570−
1571−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationClientCapabilities
1572−type DidChangeConfigurationClientCapabilities struct {
1573− // Did change configuration notification supports dynamic registration.
1574− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1575−}
1576−
1577−// The parameters of a change configuration notification.
1578−//
1579−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationParams
1580−type DidChangeConfigurationParams struct {
1581− // The actual changed settings
1582− Settings interface{} `json:"settings"`
1583−}
1584−
1585−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationRegistrationOptions
1586−type DidChangeConfigurationRegistrationOptions struct {
1587− Section *Or_DidChangeConfigurationRegistrationOptions_section `json:"section,omitempty"`
1588−}
1589−
1590−// The params sent in a change notebook document notification.
1591−//
1592−// @since 3.17.0
1593−//
1594−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeNotebookDocumentParams
1595−type DidChangeNotebookDocumentParams struct {
1596− // The notebook document that did change. The version number points
1597− // to the version after all provided changes have been applied. If
1598− // only the text document content of a cell changes the notebook version
1599− // doesn't necessarily have to change.
1600− NotebookDocument VersionedNotebookDocumentIdentifier `json:"notebookDocument"`
1601− // The actual changes to the notebook document.
1602− //
1603− // The changes describe single state changes to the notebook document.
1604− // So if there are two changes c1 (at array index 0) and c2 (at array
1605− // index 1) for a notebook in state S then c1 moves the notebook from
1606− // S to S' and c2 from S' to S''. So c1 is computed on the state S and
1607− // c2 is computed on the state S'.
1608− //
1609− // To mirror the content of a notebook using change events use the following approach:
1610− //
1611− // - start with the same initial content
1612− // - apply the 'notebookDocument/didChange' notifications in the order you receive them.
1613− // - apply the `NotebookChangeEvent`s in a single notification in the order
1614− // you receive them.
1615− Change NotebookDocumentChangeEvent `json:"change"`
1616−}
1617−
1618−// The change text document notification's parameters.
1619−//
1620−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeTextDocumentParams
1621−type DidChangeTextDocumentParams struct {
1622− // The document that did change. The version number points
1623− // to the version after all provided content changes have
1624− // been applied.
1625− TextDocument VersionedTextDocumentIdentifier `json:"textDocument"`
1626− // The actual content changes. The content changes describe single state changes
1627− // to the document. So if there are two content changes c1 (at array index 0) and
1628− // c2 (at array index 1) for a document in state S then c1 moves the document from
1629− // S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
1630− // on the state S'.
1631− //
1632− // To mirror the content of a document using change events use the following approach:
1633− //
1634− // - start with the same initial content
1635− // - apply the 'textDocument/didChange' notifications in the order you receive them.
1636− // - apply the `TextDocumentContentChangeEvent`s in a single notification in the order
1637− // you receive them.
1638− ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
1639−}
1640−
1641−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesClientCapabilities
1642−type DidChangeWatchedFilesClientCapabilities struct {
1643− // Did change watched files notification supports dynamic registration. Please note
1644− // that the current protocol doesn't support static configuration for file changes
1645− // from the server side.
1646− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1647− // Whether the client has support for {@link RelativePattern relative pattern}
1648− // or not.
1649− //
1650− // @since 3.17.0
1651− RelativePatternSupport bool `json:"relativePatternSupport,omitempty"`
1652−}
1653−
1654−// The watched files change notification's parameters.
1655−//
1656−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesParams
1657−type DidChangeWatchedFilesParams struct {
1658− // The actual file events.
1659− Changes []FileEvent `json:"changes"`
1660−}
1661−
1662−// Describe options to be used when registered for text document change events.
1663−//
1664−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesRegistrationOptions
1665−type DidChangeWatchedFilesRegistrationOptions struct {
1666− // The watchers to register.
1667− Watchers []FileSystemWatcher `json:"watchers"`
1668−}
1669−
1670−// The parameters of a `workspace/didChangeWorkspaceFolders` notification.
1671−//
1672−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWorkspaceFoldersParams
1673−type DidChangeWorkspaceFoldersParams struct {
1674− // The actual workspace folder change event.
1675− Event WorkspaceFoldersChangeEvent `json:"event"`
1676−}
1677−
1678−// The params sent in a close notebook document notification.
1679−//
1680−// @since 3.17.0
1681−//
1682−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didCloseNotebookDocumentParams
1683−type DidCloseNotebookDocumentParams struct {
1684− // The notebook document that got closed.
1685− NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"`
1686− // The text documents that represent the content
1687− // of a notebook cell that got closed.
1688− CellTextDocuments []TextDocumentIdentifier `json:"cellTextDocuments"`
1689−}
1690−
1691−// The parameters sent in a close text document notification
1692−//
1693−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didCloseTextDocumentParams
1694−type DidCloseTextDocumentParams struct {
1695− // The document that was closed.
1696− TextDocument TextDocumentIdentifier `json:"textDocument"`
1697−}
1698−
1699−// The params sent in an open notebook document notification.
1700−//
1701−// @since 3.17.0
1702−//
1703−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didOpenNotebookDocumentParams
1704−type DidOpenNotebookDocumentParams struct {
1705− // The notebook document that got opened.
1706− NotebookDocument NotebookDocument `json:"notebookDocument"`
1707− // The text documents that represent the content
1708− // of a notebook cell.
1709− CellTextDocuments []TextDocumentItem `json:"cellTextDocuments"`
1710−}
1711−
1712−// The parameters sent in an open text document notification
1713−//
1714−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didOpenTextDocumentParams
1715−type DidOpenTextDocumentParams struct {
1716− // The document that was opened.
1717− TextDocument TextDocumentItem `json:"textDocument"`
1718−}
1719−
1720−// The params sent in a save notebook document notification.
1721−//
1722−// @since 3.17.0
1723−//
1724−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didSaveNotebookDocumentParams
1725−type DidSaveNotebookDocumentParams struct {
1726− // The notebook document that got saved.
1727− NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"`
1728−}
1729−
1730−// The parameters sent in a save text document notification
1731−//
1732−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didSaveTextDocumentParams
1733−type DidSaveTextDocumentParams struct {
1734− // The document that was saved.
1735− TextDocument TextDocumentIdentifier `json:"textDocument"`
1736− // Optional the content when saved. Depends on the includeText value
1737− // when the save notification was requested.
1738− Text *string `json:"text,omitempty"`
1739−}
1740−
1741−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorClientCapabilities
1742−type DocumentColorClientCapabilities struct {
1743− // Whether implementation supports dynamic registration. If this is set to `true`
1744− // the client supports the new `DocumentColorRegistrationOptions` return value
1745− // for the corresponding server capability as well.
1746− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1747−}
1748−
1749−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorOptions
1750−type DocumentColorOptions struct {
1751− WorkDoneProgressOptions
1752−}
1753−
1754−// Parameters for a {@link DocumentColorRequest}.
1755−//
1756−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorParams
1757−type DocumentColorParams struct {
1758− // The text document.
1759− TextDocument TextDocumentIdentifier `json:"textDocument"`
1760− WorkDoneProgressParams
1761− PartialResultParams
1762−}
1763−
1764−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorRegistrationOptions
1765−type DocumentColorRegistrationOptions struct {
1766− TextDocumentRegistrationOptions
1767− DocumentColorOptions
1768− StaticRegistrationOptions
1769−}
1770−
1771−// Parameters of the document diagnostic request.
1772−//
1773−// @since 3.17.0
1774−//
1775−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentDiagnosticParams
1776−type DocumentDiagnosticParams struct {
1777− // The text document.
1778− TextDocument TextDocumentIdentifier `json:"textDocument"`
1779− // The additional identifier provided during registration.
1780− Identifier string `json:"identifier,omitempty"`
1781− // The result id of a previous response if provided.
1782− PreviousResultID string `json:"previousResultId,omitempty"`
1783− WorkDoneProgressParams
1784− PartialResultParams
1785−}
1786−
1787−// The result of a document diagnostic pull request. A report can
1788−// either be a full report containing all diagnostics for the
1789−// requested document or an unchanged report indicating that nothing
1790−// has changed in terms of diagnostics in comparison to the last
1791−// pull request.
1792−//
1793−// @since 3.17.0
1794−//
1795−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentDiagnosticReport
1796−type (
1797− DocumentDiagnosticReport = Or_DocumentDiagnosticReport // (alias)
1798− // The document diagnostic report kinds.
1799− //
1800− // @since 3.17.0
1801− DocumentDiagnosticReportKind string
1802−)
1803−
1804−// A partial result for a document diagnostic report.
1805−//
1806−// @since 3.17.0
1807−//
1808−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentDiagnosticReportPartialResult
1809−type DocumentDiagnosticReportPartialResult struct {
1810− RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments"`
1811−}
1812−
1813−// A document filter describes a top level text document or
1814−// a notebook cell document.
1815−//
1816−// @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter.
1817−//
1818−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFilter
1819−type (
1820− DocumentFilter = Or_DocumentFilter // (alias)
1821− // Client capabilities of a {@link DocumentFormattingRequest}.
1822− //
1823− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingClientCapabilities
1824− DocumentFormattingClientCapabilities struct {
1825− // Whether formatting supports dynamic registration.
1826− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1827− }
1828−)
1829−
1830−// Provider options for a {@link DocumentFormattingRequest}.
1831−//
1832−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingOptions
1833−type DocumentFormattingOptions struct {
1834− WorkDoneProgressOptions
1835−}
1836−
1837−// The parameters of a {@link DocumentFormattingRequest}.
1838−//
1839−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingParams
1840−type DocumentFormattingParams struct {
1841− // The document to format.
1842− TextDocument TextDocumentIdentifier `json:"textDocument"`
1843− // The format options.
1844− Options FormattingOptions `json:"options"`
1845− WorkDoneProgressParams
1846−}
1847−
1848−// Registration options for a {@link DocumentFormattingRequest}.
1849−//
1850−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingRegistrationOptions
1851−type DocumentFormattingRegistrationOptions struct {
1852− TextDocumentRegistrationOptions
1853− DocumentFormattingOptions
1854−}
1855−
1856−// A document highlight is a range inside a text document which deserves
1857−// special attention. Usually a document highlight is visualized by changing
1858−// the background color of its range.
1859−//
1860−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlight
1861−type DocumentHighlight struct {
1862− // The range this highlight applies to.
1863− Range Range `json:"range"`
1864− // The highlight kind, default is {@link DocumentHighlightKind.Text text}.
1865− Kind DocumentHighlightKind `json:"kind,omitempty"`
1866−}
1867−
1868−// Client Capabilities for a {@link DocumentHighlightRequest}.
1869−//
1870−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightClientCapabilities
1871−type DocumentHighlightClientCapabilities struct {
1872− // Whether document highlight supports dynamic registration.
1873− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1874−}
1875−
1876−// A document highlight kind.
1877−type DocumentHighlightKind uint32
1878−
1879−// Provider options for a {@link DocumentHighlightRequest}.
1880−//
1881−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightOptions
1882−type DocumentHighlightOptions struct {
1883− WorkDoneProgressOptions
1884−}
1885−
1886−// Parameters for a {@link DocumentHighlightRequest}.
1887−//
1888−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightParams
1889−type DocumentHighlightParams struct {
1890− TextDocumentPositionParams
1891− WorkDoneProgressParams
1892− PartialResultParams
1893−}
1894−
1895−// Registration options for a {@link DocumentHighlightRequest}.
1896−//
1897−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightRegistrationOptions
1898−type DocumentHighlightRegistrationOptions struct {
1899− TextDocumentRegistrationOptions
1900− DocumentHighlightOptions
1901−}
1902−
1903−// A document link is a range in a text document that links to an internal or external resource, like another
1904−// text document or a web site.
1905−//
1906−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLink
1907−type DocumentLink struct {
1908− // The range this link applies to.
1909− Range Range `json:"range"`
1910− // The uri this link points to. If missing a resolve request is sent later.
1911− Target *URI `json:"target,omitempty"`
1912− // The tooltip text when you hover over this link.
1913− //
1914− // If a tooltip is provided, is will be displayed in a string that includes instructions on how to
1915− // trigger the link, such as `{0} (ctrl + click)`. The specific instructions vary depending on OS,
1916− // user settings, and localization.
1917− //
1918− // @since 3.15.0
1919− Tooltip string `json:"tooltip,omitempty"`
1920− // A data entry field that is preserved on a document link between a
1921− // DocumentLinkRequest and a DocumentLinkResolveRequest.
1922− Data interface{} `json:"data,omitempty"`
1923−}
1924−
1925−// The client capabilities of a {@link DocumentLinkRequest}.
1926−//
1927−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkClientCapabilities
1928−type DocumentLinkClientCapabilities struct {
1929− // Whether document link supports dynamic registration.
1930− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1931− // Whether the client supports the `tooltip` property on `DocumentLink`.
1932− //
1933− // @since 3.15.0
1934− TooltipSupport bool `json:"tooltipSupport,omitempty"`
1935−}
1936−
1937−// Provider options for a {@link DocumentLinkRequest}.
1938−//
1939−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkOptions
1940−type DocumentLinkOptions struct {
1941− // Document links have a resolve provider as well.
1942− ResolveProvider bool `json:"resolveProvider,omitempty"`
1943− WorkDoneProgressOptions
1944−}
1945−
1946−// The parameters of a {@link DocumentLinkRequest}.
1947−//
1948−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkParams
1949−type DocumentLinkParams struct {
1950− // The document to provide document links for.
1951− TextDocument TextDocumentIdentifier `json:"textDocument"`
1952− WorkDoneProgressParams
1953− PartialResultParams
1954−}
1955−
1956−// Registration options for a {@link DocumentLinkRequest}.
1957−//
1958−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkRegistrationOptions
1959−type DocumentLinkRegistrationOptions struct {
1960− TextDocumentRegistrationOptions
1961− DocumentLinkOptions
1962−}
1963−
1964−// Client capabilities of a {@link DocumentOnTypeFormattingRequest}.
1965−//
1966−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingClientCapabilities
1967−type DocumentOnTypeFormattingClientCapabilities struct {
1968− // Whether on type formatting supports dynamic registration.
1969− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
1970−}
1971−
1972−// Provider options for a {@link DocumentOnTypeFormattingRequest}.
1973−//
1974−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingOptions
1975−type DocumentOnTypeFormattingOptions struct {
1976− // A character on which formatting should be triggered, like `{`.
1977− FirstTriggerCharacter string `json:"firstTriggerCharacter"`
1978− // More trigger characters.
1979− MoreTriggerCharacter []string `json:"moreTriggerCharacter,omitempty"`
1980−}
1981−
1982−// The parameters of a {@link DocumentOnTypeFormattingRequest}.
1983−//
1984−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingParams
1985−type DocumentOnTypeFormattingParams struct {
1986− // The document to format.
1987− TextDocument TextDocumentIdentifier `json:"textDocument"`
1988− // The position around which the on type formatting should happen.
1989− // This is not necessarily the exact position where the character denoted
1990− // by the property `ch` got typed.
1991− Position Position `json:"position"`
1992− // The character that has been typed that triggered the formatting
1993− // on type request. That is not necessarily the last character that
1994− // got inserted into the document since the client could auto insert
1995− // characters as well (e.g. like automatic brace completion).
1996− Ch string `json:"ch"`
1997− // The formatting options.
1998− Options FormattingOptions `json:"options"`
1999−}
2000−
2001−// Registration options for a {@link DocumentOnTypeFormattingRequest}.
2002−//
2003−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingRegistrationOptions
2004−type DocumentOnTypeFormattingRegistrationOptions struct {
2005− TextDocumentRegistrationOptions
2006− DocumentOnTypeFormattingOptions
2007−}
2008−
2009−// Client capabilities of a {@link DocumentRangeFormattingRequest}.
2010−//
2011−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingClientCapabilities
2012−type DocumentRangeFormattingClientCapabilities struct {
2013− // Whether range formatting supports dynamic registration.
2014− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2015− // Whether the client supports formatting multiple ranges at once.
2016− //
2017− // @since 3.18.0
2018− // @proposed
2019− RangesSupport bool `json:"rangesSupport,omitempty"`
2020−}
2021−
2022−// Provider options for a {@link DocumentRangeFormattingRequest}.
2023−//
2024−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingOptions
2025−type DocumentRangeFormattingOptions struct {
2026− // Whether the server supports formatting multiple ranges at once.
2027− //
2028− // @since 3.18.0
2029− // @proposed
2030− RangesSupport bool `json:"rangesSupport,omitempty"`
2031− WorkDoneProgressOptions
2032−}
2033−
2034−// The parameters of a {@link DocumentRangeFormattingRequest}.
2035−//
2036−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingParams
2037−type DocumentRangeFormattingParams struct {
2038− // The document to format.
2039− TextDocument TextDocumentIdentifier `json:"textDocument"`
2040− // The range to format
2041− Range Range `json:"range"`
2042− // The format options
2043− Options FormattingOptions `json:"options"`
2044− WorkDoneProgressParams
2045−}
2046−
2047−// Registration options for a {@link DocumentRangeFormattingRequest}.
2048−//
2049−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingRegistrationOptions
2050−type DocumentRangeFormattingRegistrationOptions struct {
2051− TextDocumentRegistrationOptions
2052− DocumentRangeFormattingOptions
2053−}
2054−
2055−// The parameters of a {@link DocumentRangesFormattingRequest}.
2056−//
2057−// @since 3.18.0
2058−// @proposed
2059−//
2060−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangesFormattingParams
2061−type DocumentRangesFormattingParams struct {
2062− // The document to format.
2063− TextDocument TextDocumentIdentifier `json:"textDocument"`
2064− // The ranges to format
2065− Ranges []Range `json:"ranges"`
2066− // The format options
2067− Options FormattingOptions `json:"options"`
2068− WorkDoneProgressParams
2069−}
2070−
2071−// A document selector is the combination of one or many document filters.
2072−//
2073−// @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
2074−//
2075−// The use of a string as a document filter is deprecated @since 3.16.0.
2076−//
2077−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSelector
2078−type (
2079− DocumentSelector = []DocumentFilter // (alias)
2080− // Represents programming constructs like variables, classes, interfaces etc.
2081− // that appear in a document. Document symbols can be hierarchical and they
2082− // have two ranges: one that encloses its definition and one that points to
2083− // its most interesting range, e.g. the range of an identifier.
2084− //
2085− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbol
2086− DocumentSymbol struct {
2087− // The name of this symbol. Will be displayed in the user interface and therefore must not be
2088− // an empty string or a string only consisting of white spaces.
2089− Name string `json:"name"`
2090− // More detail for this symbol, e.g the signature of a function.
2091− Detail string `json:"detail,omitempty"`
2092− // The kind of this symbol.
2093− Kind SymbolKind `json:"kind"`
2094− // Tags for this document symbol.
2095− //
2096− // @since 3.16.0
2097− Tags []SymbolTag `json:"tags,omitempty"`
2098− // Indicates if this symbol is deprecated.
2099− //
2100− // @deprecated Use tags instead
2101− Deprecated bool `json:"deprecated,omitempty"`
2102− // The range enclosing this symbol not including leading/trailing whitespace but everything else
2103− // like comments. This information is typically used to determine if the clients cursor is
2104− // inside the symbol to reveal in the symbol in the UI.
2105− Range Range `json:"range"`
2106− // The range that should be selected and revealed when this symbol is being picked, e.g the name of a function.
2107− // Must be contained by the `range`.
2108− SelectionRange Range `json:"selectionRange"`
2109− // Children of this symbol, e.g. properties of a class.
2110− Children []DocumentSymbol `json:"children,omitempty"`
2111− }
2112−)
2113−
2114−// Client Capabilities for a {@link DocumentSymbolRequest}.
2115−//
2116−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolClientCapabilities
2117−type DocumentSymbolClientCapabilities struct {
2118− // Whether document symbol supports dynamic registration.
2119− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2120− // Specific capabilities for the `SymbolKind` in the
2121− // `textDocument/documentSymbol` request.
2122− SymbolKind *ClientSymbolKindOptions `json:"symbolKind,omitempty"`
2123− // The client supports hierarchical document symbols.
2124− HierarchicalDocumentSymbolSupport bool `json:"hierarchicalDocumentSymbolSupport,omitempty"`
2125− // The client supports tags on `SymbolInformation`. Tags are supported on
2126− // `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
2127− // Clients supporting tags have to handle unknown tags gracefully.
2128− //
2129− // @since 3.16.0
2130− TagSupport *ClientSymbolTagOptions `json:"tagSupport,omitempty"`
2131− // The client supports an additional label presented in the UI when
2132− // registering a document symbol provider.
2133− //
2134− // @since 3.16.0
2135− LabelSupport bool `json:"labelSupport,omitempty"`
2136−}
2137−
2138−// Provider options for a {@link DocumentSymbolRequest}.
2139−//
2140−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolOptions
2141−type DocumentSymbolOptions struct {
2142− // A human-readable string that is shown when multiple outlines trees
2143− // are shown for the same document.
2144− //
2145− // @since 3.16.0
2146− Label string `json:"label,omitempty"`
2147− WorkDoneProgressOptions
2148−}
2149−
2150−// Parameters for a {@link DocumentSymbolRequest}.
2151−//
2152−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolParams
2153−type DocumentSymbolParams struct {
2154− // The text document.
2155− TextDocument TextDocumentIdentifier `json:"textDocument"`
2156− WorkDoneProgressParams
2157− PartialResultParams
2158−}
2159−
2160−// Registration options for a {@link DocumentSymbolRequest}.
2161−//
2162−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolRegistrationOptions
2163−type DocumentSymbolRegistrationOptions struct {
2164− TextDocumentRegistrationOptions
2165− DocumentSymbolOptions
2166−}
2167−
2168−// Edit range variant that includes ranges for insert and replace operations.
2169−//
2170−// @since 3.18.0
2171−//
2172−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#editRangeWithInsertReplace
2173−type EditRangeWithInsertReplace struct {
2174− Insert Range `json:"insert"`
2175− Replace Range `json:"replace"`
2176−}
2177−
2178−// Predefined error codes.
2179−type ErrorCodes int32
2180−
2181−// The client capabilities of a {@link ExecuteCommandRequest}.
2182−//
2183−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandClientCapabilities
2184−type ExecuteCommandClientCapabilities struct {
2185− // Execute command supports dynamic registration.
2186− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2187−}
2188−
2189−// The server capabilities of a {@link ExecuteCommandRequest}.
2190−//
2191−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandOptions
2192−type ExecuteCommandOptions struct {
2193− // The commands to be executed on the server
2194− Commands []string `json:"commands"`
2195− WorkDoneProgressOptions
2196−}
2197−
2198−// The parameters of a {@link ExecuteCommandRequest}.
2199−//
2200−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandParams
2201−type ExecuteCommandParams struct {
2202− // The identifier of the actual command handler.
2203− Command string `json:"command"`
2204− // Arguments that the command should be invoked with.
2205− Arguments []json.RawMessage `json:"arguments,omitempty"`
2206− WorkDoneProgressParams
2207−}
2208−
2209−// Registration options for a {@link ExecuteCommandRequest}.
2210−//
2211−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandRegistrationOptions
2212−type ExecuteCommandRegistrationOptions struct {
2213− ExecuteCommandOptions
2214−}
2215−
2216−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executionSummary
2217−type ExecutionSummary struct {
2218− // A strict monotonically increasing value
2219− // indicating the execution order of a cell
2220− // inside a notebook.
2221− ExecutionOrder uint32 `json:"executionOrder"`
2222− // Whether the execution was successful or
2223− // not if known by the client.
2224− Success bool `json:"success,omitempty"`
2225−}
2226−type FailureHandlingKind string
2227−
2228−// The file event type
2229−type FileChangeType uint32
2230−
2231−// Represents information on a file/folder create.
2232−//
2233−// @since 3.16.0
2234−//
2235−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileCreate
2236−type FileCreate struct {
2237− // A file:// URI for the location of the file/folder being created.
2238− URI string `json:"uri"`
2239−}
2240−
2241−// Represents information on a file/folder delete.
2242−//
2243−// @since 3.16.0
2244−//
2245−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileDelete
2246−type FileDelete struct {
2247− // A file:// URI for the location of the file/folder being deleted.
2248− URI string `json:"uri"`
2249−}
2250−
2251−// An event describing a file change.
2252−//
2253−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileEvent
2254−type FileEvent struct {
2255− // The file's uri.
2256− URI DocumentURI `json:"uri"`
2257− // The change type.
2258− Type FileChangeType `json:"type"`
2259−}
2260−
2261−// Capabilities relating to events from file operations by the user in the client.
2262−//
2263−// These events do not come from the file system, they come from user operations
2264−// like renaming a file in the UI.
2265−//
2266−// @since 3.16.0
2267−//
2268−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationClientCapabilities
2269−type FileOperationClientCapabilities struct {
2270− // Whether the client supports dynamic registration for file requests/notifications.
2271− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2272− // The client has support for sending didCreateFiles notifications.
2273− DidCreate bool `json:"didCreate,omitempty"`
2274− // The client has support for sending willCreateFiles requests.
2275− WillCreate bool `json:"willCreate,omitempty"`
2276− // The client has support for sending didRenameFiles notifications.
2277− DidRename bool `json:"didRename,omitempty"`
2278− // The client has support for sending willRenameFiles requests.
2279− WillRename bool `json:"willRename,omitempty"`
2280− // The client has support for sending didDeleteFiles notifications.
2281− DidDelete bool `json:"didDelete,omitempty"`
2282− // The client has support for sending willDeleteFiles requests.
2283− WillDelete bool `json:"willDelete,omitempty"`
2284−}
2285−
2286−// A filter to describe in which file operation requests or notifications
2287−// the server is interested in receiving.
2288−//
2289−// @since 3.16.0
2290−//
2291−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationFilter
2292−type FileOperationFilter struct {
2293− // A Uri scheme like `file` or `untitled`.
2294− Scheme string `json:"scheme,omitempty"`
2295− // The actual file operation pattern.
2296− Pattern FileOperationPattern `json:"pattern"`
2297−}
2298−
2299−// Options for notifications/requests for user operations on files.
2300−//
2301−// @since 3.16.0
2302−//
2303−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationOptions
2304−type FileOperationOptions struct {
2305− // The server is interested in receiving didCreateFiles notifications.
2306− DidCreate *FileOperationRegistrationOptions `json:"didCreate,omitempty"`
2307− // The server is interested in receiving willCreateFiles requests.
2308− WillCreate *FileOperationRegistrationOptions `json:"willCreate,omitempty"`
2309− // The server is interested in receiving didRenameFiles notifications.
2310− DidRename *FileOperationRegistrationOptions `json:"didRename,omitempty"`
2311− // The server is interested in receiving willRenameFiles requests.
2312− WillRename *FileOperationRegistrationOptions `json:"willRename,omitempty"`
2313− // The server is interested in receiving didDeleteFiles file notifications.
2314− DidDelete *FileOperationRegistrationOptions `json:"didDelete,omitempty"`
2315− // The server is interested in receiving willDeleteFiles file requests.
2316− WillDelete *FileOperationRegistrationOptions `json:"willDelete,omitempty"`
2317−}
2318−
2319−// A pattern to describe in which file operation requests or notifications
2320−// the server is interested in receiving.
2321−//
2322−// @since 3.16.0
2323−//
2324−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationPattern
2325−type FileOperationPattern struct {
2326− // The glob pattern to match. Glob patterns can have the following syntax:
2327− //
2328− // - `*` to match one or more characters in a path segment
2329− // - `?` to match on one character in a path segment
2330− // - `**` to match any number of path segments, including none
2331− // - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
2332− // - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
2333− // - `[!...]` 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`)
2334− Glob string `json:"glob"`
2335− // Whether to match files or folders with this pattern.
2336− //
2337− // Matches both if undefined.
2338− Matches *FileOperationPatternKind `json:"matches,omitempty"`
2339− // Additional options used during matching.
2340− Options *FileOperationPatternOptions `json:"options,omitempty"`
2341−}
2342−
2343−// A pattern kind describing if a glob pattern matches a file a folder or
2344−// both.
2345−//
2346−// @since 3.16.0
2347−type FileOperationPatternKind string
2348−
2349−// Matching options for the file operation pattern.
2350−//
2351−// @since 3.16.0
2352−//
2353−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationPatternOptions
2354−type FileOperationPatternOptions struct {
2355− // The pattern should be matched ignoring casing.
2356− IgnoreCase bool `json:"ignoreCase,omitempty"`
2357−}
2358−
2359−// The options to register for file operations.
2360−//
2361−// @since 3.16.0
2362−//
2363−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationRegistrationOptions
2364−type FileOperationRegistrationOptions struct {
2365− // The actual filters.
2366− Filters []FileOperationFilter `json:"filters"`
2367−}
2368−
2369−// Represents information on a file/folder rename.
2370−//
2371−// @since 3.16.0
2372−//
2373−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileRename
2374−type FileRename struct {
2375− // A file:// URI for the original location of the file/folder being renamed.
2376− OldURI string `json:"oldUri"`
2377− // A file:// URI for the new location of the file/folder being renamed.
2378− NewURI string `json:"newUri"`
2379−}
2380−
2381−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileSystemWatcher
2382−type FileSystemWatcher struct {
2383− // The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail.
2384− //
2385− // @since 3.17.0 support for relative patterns.
2386− GlobPattern GlobPattern `json:"globPattern"`
2387− // The kind of events of interest. If omitted it defaults
2388− // to WatchKind.Create | WatchKind.Change | WatchKind.Delete
2389− // which is 7.
2390− Kind *WatchKind `json:"kind,omitempty"`
2391−}
2392−
2393−// Represents a folding range. To be valid, start and end line must be bigger than zero and smaller
2394−// than the number of lines in the document. Clients are free to ignore invalid ranges.
2395−//
2396−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRange
2397−type FoldingRange struct {
2398− // The zero-based start line of the range to fold. The folded area starts after the line's last character.
2399− // To be valid, the end must be zero or larger and smaller than the number of lines in the document.
2400− StartLine uint32 `json:"startLine"`
2401− // The zero-based character offset from where the folded range starts. If not defined, defaults to the length of the start line.
2402− StartCharacter uint32 `json:"startCharacter,omitempty"`
2403− // The zero-based end line of the range to fold. The folded area ends with the line's last character.
2404− // To be valid, the end must be zero or larger and smaller than the number of lines in the document.
2405− EndLine uint32 `json:"endLine"`
2406− // The zero-based character offset before the folded range ends. If not defined, defaults to the length of the end line.
2407− EndCharacter uint32 `json:"endCharacter,omitempty"`
2408− // Describes the kind of the folding range such as 'comment' or 'region'. The kind
2409− // is used to categorize folding ranges and used by commands like 'Fold all comments'.
2410− // See {@link FoldingRangeKind} for an enumeration of standardized kinds.
2411− Kind string `json:"kind,omitempty"`
2412− // The text that the client should show when the specified range is
2413− // collapsed. If not defined or not supported by the client, a default
2414− // will be chosen by the client.
2415− //
2416− // @since 3.17.0
2417− CollapsedText string `json:"collapsedText,omitempty"`
2418−}
2419−
2420−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeClientCapabilities
2421−type FoldingRangeClientCapabilities struct {
2422− // Whether implementation supports dynamic registration for folding range
2423− // providers. If this is set to `true` the client supports the new
2424− // `FoldingRangeRegistrationOptions` return value for the corresponding
2425− // server capability as well.
2426− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2427− // The maximum number of folding ranges that the client prefers to receive
2428− // per document. The value serves as a hint, servers are free to follow the
2429− // limit.
2430− RangeLimit uint32 `json:"rangeLimit,omitempty"`
2431− // If set, the client signals that it only supports folding complete lines.
2432− // If set, client will ignore specified `startCharacter` and `endCharacter`
2433− // properties in a FoldingRange.
2434− LineFoldingOnly bool `json:"lineFoldingOnly,omitempty"`
2435− // Specific options for the folding range kind.
2436− //
2437− // @since 3.17.0
2438− FoldingRangeKind *ClientFoldingRangeKindOptions `json:"foldingRangeKind,omitempty"`
2439− // Specific options for the folding range.
2440− //
2441− // @since 3.17.0
2442− FoldingRange *ClientFoldingRangeOptions `json:"foldingRange,omitempty"`
2443−}
2444−
2445−// A set of predefined range kinds.
2446−type FoldingRangeKind string
2447−
2448−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeOptions
2449−type FoldingRangeOptions struct {
2450− WorkDoneProgressOptions
2451−}
2452−
2453−// Parameters for a {@link FoldingRangeRequest}.
2454−//
2455−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeParams
2456−type FoldingRangeParams struct {
2457− // The text document.
2458− TextDocument TextDocumentIdentifier `json:"textDocument"`
2459− WorkDoneProgressParams
2460− PartialResultParams
2461−}
2462−
2463−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeRegistrationOptions
2464−type FoldingRangeRegistrationOptions struct {
2465− TextDocumentRegistrationOptions
2466− FoldingRangeOptions
2467− StaticRegistrationOptions
2468−}
2469−
2470−// Client workspace capabilities specific to folding ranges
2471−//
2472−// @since 3.18.0
2473−// @proposed
2474−//
2475−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeWorkspaceClientCapabilities
2476−type FoldingRangeWorkspaceClientCapabilities struct {
2477− // Whether the client implementation supports a refresh request sent from the
2478− // server to the client.
2479− //
2480− // Note that this event is global and will force the client to refresh all
2481− // folding ranges currently shown. It should be used with absolute care and is
2482− // useful for situation where a server for example detects a project wide
2483− // change that requires such a calculation.
2484− //
2485− // @since 3.18.0
2486− // @proposed
2487− RefreshSupport bool `json:"refreshSupport,omitempty"`
2488−}
2489−
2490−// Value-object describing what options formatting should use.
2491−//
2492−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#formattingOptions
2493−type FormattingOptions struct {
2494− // Size of a tab in spaces.
2495− TabSize uint32 `json:"tabSize"`
2496− // Prefer spaces over tabs.
2497− InsertSpaces bool `json:"insertSpaces"`
2498− // Trim trailing whitespace on a line.
2499− //
2500− // @since 3.15.0
2501− TrimTrailingWhitespace bool `json:"trimTrailingWhitespace,omitempty"`
2502− // Insert a newline character at the end of the file if one does not exist.
2503− //
2504− // @since 3.15.0
2505− InsertFinalNewline bool `json:"insertFinalNewline,omitempty"`
2506− // Trim all newlines after the final newline at the end of the file.
2507− //
2508− // @since 3.15.0
2509− TrimFinalNewlines bool `json:"trimFinalNewlines,omitempty"`
2510−}
2511−
2512−// A diagnostic report with a full set of problems.
2513−//
2514−// @since 3.17.0
2515−//
2516−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fullDocumentDiagnosticReport
2517−type FullDocumentDiagnosticReport struct {
2518− // A full document diagnostic report.
2519− Kind string `json:"kind"`
2520− // An optional result id. If provided it will
2521− // be sent on the next diagnostic request for the
2522− // same document.
2523− ResultID string `json:"resultId,omitempty"`
2524− // The actual items.
2525− Items []Diagnostic `json:"items"`
2526−}
2527−
2528−// General client capabilities.
2529−//
2530−// @since 3.16.0
2531−//
2532−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#generalClientCapabilities
2533−type GeneralClientCapabilities struct {
2534− // Client capability that signals how the client
2535− // handles stale requests (e.g. a request
2536− // for which the client will not process the response
2537− // anymore since the information is outdated).
2538− //
2539− // @since 3.17.0
2540− StaleRequestSupport *StaleRequestSupportOptions `json:"staleRequestSupport,omitempty"`
2541− // Client capabilities specific to regular expressions.
2542− //
2543− // @since 3.16.0
2544− RegularExpressions *RegularExpressionsClientCapabilities `json:"regularExpressions,omitempty"`
2545− // Client capabilities specific to the client's markdown parser.
2546− //
2547− // @since 3.16.0
2548− Markdown *MarkdownClientCapabilities `json:"markdown,omitempty"`
2549− // The position encodings supported by the client. Client and server
2550− // have to agree on the same position encoding to ensure that offsets
2551− // (e.g. character position in a line) are interpreted the same on both
2552− // sides.
2553− //
2554− // To keep the protocol backwards compatible the following applies: if
2555− // the value 'utf-16' is missing from the array of position encodings
2556− // servers can assume that the client supports UTF-16. UTF-16 is
2557− // therefore a mandatory encoding.
2558− //
2559− // If omitted it defaults to ['utf-16'].
2560− //
2561− // Implementation considerations: since the conversion from one encoding
2562− // into another requires the content of the file / line the conversion
2563− // is best done where the file is read which is usually on the server
2564− // side.
2565− //
2566− // @since 3.17.0
2567− PositionEncodings []PositionEncodingKind `json:"positionEncodings,omitempty"`
2568−}
2569−
2570−// The glob pattern. Either a string pattern or a relative pattern.
2571−//
2572−// @since 3.17.0
2573−//
2574−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#globPattern
2575−type (
2576− GlobPattern = Or_GlobPattern // (alias)
2577− // The result of a hover request.
2578− //
2579− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hover
2580− Hover struct {
2581− // The hover's content
2582− Contents MarkupContent `json:"contents"`
2583− // An optional range inside the text document that is used to
2584− // visualize the hover, e.g. by changing the background color.
2585− Range Range `json:"range,omitempty"`
2586− }
2587−)
2588−
2589−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverClientCapabilities
2590−type HoverClientCapabilities struct {
2591− // Whether hover supports dynamic registration.
2592− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2593− // Client supports the following content formats for the content
2594− // property. The order describes the preferred format of the client.
2595− ContentFormat []MarkupKind `json:"contentFormat,omitempty"`
2596−}
2597−
2598−// Hover options.
2599−//
2600−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverOptions
2601−type HoverOptions struct {
2602− WorkDoneProgressOptions
2603−}
2604−
2605−// Parameters for a {@link HoverRequest}.
2606−//
2607−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverParams
2608−type HoverParams struct {
2609− TextDocumentPositionParams
2610− WorkDoneProgressParams
2611−}
2612−
2613−// Registration options for a {@link HoverRequest}.
2614−//
2615−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverRegistrationOptions
2616−type HoverRegistrationOptions struct {
2617− TextDocumentRegistrationOptions
2618− HoverOptions
2619−}
2620−
2621−// @since 3.6.0
2622−//
2623−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationClientCapabilities
2624−type ImplementationClientCapabilities struct {
2625− // Whether implementation supports dynamic registration. If this is set to `true`
2626− // the client supports the new `ImplementationRegistrationOptions` return value
2627− // for the corresponding server capability as well.
2628− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2629− // The client supports additional metadata in the form of definition links.
2630− //
2631− // @since 3.14.0
2632− LinkSupport bool `json:"linkSupport,omitempty"`
2633−}
2634−
2635−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationOptions
2636−type ImplementationOptions struct {
2637− WorkDoneProgressOptions
2638−}
2639−
2640−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationParams
2641−type ImplementationParams struct {
2642− TextDocumentPositionParams
2643− WorkDoneProgressParams
2644− PartialResultParams
2645−}
2646−
2647−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationRegistrationOptions
2648−type ImplementationRegistrationOptions struct {
2649− TextDocumentRegistrationOptions
2650− ImplementationOptions
2651− StaticRegistrationOptions
2652−}
2653−
2654−// The data type of the ResponseError if the
2655−// initialize request fails.
2656−//
2657−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeError
2658−type InitializeError struct {
2659− // Indicates whether the client execute the following retry logic:
2660− // (1) show the message provided by the ResponseError to the user
2661− // (2) user selects retry or cancel
2662− // (3) if user selected retry the initialize method is sent again.
2663− Retry bool `json:"retry"`
2664−}
2665−
2666−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeParams
2667−type InitializeParams struct {
2668− XInitializeParams
2669− WorkspaceFoldersInitializeParams
2670−}
2671−
2672−// The result returned from an initialize request.
2673−//
2674−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeResult
2675−type InitializeResult struct {
2676− // The capabilities the language server provides.
2677− Capabilities ServerCapabilities `json:"capabilities"`
2678− // Information about the server.
2679− //
2680− // @since 3.15.0
2681− ServerInfo *ServerInfo `json:"serverInfo,omitempty"`
2682−}
2683−
2684−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializedParams
2685−type InitializedParams struct{}
2686−
2687−// Inlay hint information.
2688−//
2689−// @since 3.17.0
2690−//
2691−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHint
2692−type InlayHint struct {
2693− // The position of this hint.
2694− //
2695− // If multiple hints have the same position, they will be shown in the order
2696− // they appear in the response.
2697− Position Position `json:"position"`
2698− // The label of this hint. A human readable string or an array of
2699− // InlayHintLabelPart label parts.
2700− //
2701− // *Note* that neither the string nor the label part can be empty.
2702− Label []InlayHintLabelPart `json:"label"`
2703− // The kind of this hint. Can be omitted in which case the client
2704− // should fall back to a reasonable default.
2705− Kind InlayHintKind `json:"kind,omitempty"`
2706− // Optional text edits that are performed when accepting this inlay hint.
2707− //
2708− // *Note* that edits are expected to change the document so that the inlay
2709− // hint (or its nearest variant) is now part of the document and the inlay
2710− // hint itself is now obsolete.
2711− TextEdits []TextEdit `json:"textEdits,omitempty"`
2712− // The tooltip text when you hover over this item.
2713− Tooltip *Or_InlayHint_tooltip `json:"tooltip,omitempty"`
2714− // Render padding before the hint.
2715− //
2716− // Note: Padding should use the editor's background color, not the
2717− // background color of the hint itself. That means padding can be used
2718− // to visually align/separate an inlay hint.
2719− PaddingLeft bool `json:"paddingLeft,omitempty"`
2720− // Render padding after the hint.
2721− //
2722− // Note: Padding should use the editor's background color, not the
2723− // background color of the hint itself. That means padding can be used
2724− // to visually align/separate an inlay hint.
2725− PaddingRight bool `json:"paddingRight,omitempty"`
2726− // A data entry field that is preserved on an inlay hint between
2727− // a `textDocument/inlayHint` and a `inlayHint/resolve` request.
2728− Data interface{} `json:"data,omitempty"`
2729−}
2730−
2731−// Inlay hint client capabilities.
2732−//
2733−// @since 3.17.0
2734−//
2735−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintClientCapabilities
2736−type InlayHintClientCapabilities struct {
2737− // Whether inlay hints support dynamic registration.
2738− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2739− // Indicates which properties a client can resolve lazily on an inlay
2740− // hint.
2741− ResolveSupport *ClientInlayHintResolveOptions `json:"resolveSupport,omitempty"`
2742−}
2743−
2744−// Inlay hint kinds.
2745−//
2746−// @since 3.17.0
2747−type InlayHintKind uint32
2748−
2749−// An inlay hint label part allows for interactive and composite labels
2750−// of inlay hints.
2751−//
2752−// @since 3.17.0
2753−//
2754−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintLabelPart
2755−type InlayHintLabelPart struct {
2756− // The value of this label part.
2757− Value string `json:"value"`
2758− // The tooltip text when you hover over this label part. Depending on
2759− // the client capability `inlayHint.resolveSupport` clients might resolve
2760− // this property late using the resolve request.
2761− Tooltip *Or_InlayHintLabelPart_tooltip `json:"tooltip,omitempty"`
2762− // An optional source code location that represents this
2763− // label part.
2764− //
2765− // The editor will use this location for the hover and for code navigation
2766− // features: This part will become a clickable link that resolves to the
2767− // definition of the symbol at the given location (not necessarily the
2768− // location itself), it shows the hover that shows at the given location,
2769− // and it shows a context menu with further code navigation commands.
2770− //
2771− // Depending on the client capability `inlayHint.resolveSupport` clients
2772− // might resolve this property late using the resolve request.
2773− Location *Location `json:"location,omitempty"`
2774− // An optional command for this label part.
2775− //
2776− // Depending on the client capability `inlayHint.resolveSupport` clients
2777− // might resolve this property late using the resolve request.
2778− Command *Command `json:"command,omitempty"`
2779−}
2780−
2781−// Inlay hint options used during static registration.
2782−//
2783−// @since 3.17.0
2784−//
2785−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintOptions
2786−type InlayHintOptions struct {
2787− // The server provides support to resolve additional
2788− // information for an inlay hint item.
2789− ResolveProvider bool `json:"resolveProvider,omitempty"`
2790− WorkDoneProgressOptions
2791−}
2792−
2793−// A parameter literal used in inlay hint requests.
2794−//
2795−// @since 3.17.0
2796−//
2797−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintParams
2798−type InlayHintParams struct {
2799− // The text document.
2800− TextDocument TextDocumentIdentifier `json:"textDocument"`
2801− // The document range for which inlay hints should be computed.
2802− Range Range `json:"range"`
2803− WorkDoneProgressParams
2804−}
2805−
2806−// Inlay hint options used during static or dynamic registration.
2807−//
2808−// @since 3.17.0
2809−//
2810−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintRegistrationOptions
2811−type InlayHintRegistrationOptions struct {
2812− InlayHintOptions
2813− TextDocumentRegistrationOptions
2814− StaticRegistrationOptions
2815−}
2816−
2817−// Client workspace capabilities specific to inlay hints.
2818−//
2819−// @since 3.17.0
2820−//
2821−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintWorkspaceClientCapabilities
2822−type InlayHintWorkspaceClientCapabilities struct {
2823− // Whether the client implementation supports a refresh request sent from
2824− // the server to the client.
2825− //
2826− // Note that this event is global and will force the client to refresh all
2827− // inlay hints currently shown. It should be used with absolute care and
2828− // is useful for situation where a server for example detects a project wide
2829− // change that requires such a calculation.
2830− RefreshSupport bool `json:"refreshSupport,omitempty"`
2831−}
2832−
2833−// Client capabilities specific to inline completions.
2834−//
2835−// @since 3.18.0
2836−// @proposed
2837−//
2838−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionClientCapabilities
2839−type InlineCompletionClientCapabilities struct {
2840− // Whether implementation supports dynamic registration for inline completion providers.
2841− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2842−}
2843−
2844−// Provides information about the context in which an inline completion was requested.
2845−//
2846−// @since 3.18.0
2847−// @proposed
2848−//
2849−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionContext
2850−type InlineCompletionContext struct {
2851− // Describes how the inline completion was triggered.
2852− TriggerKind InlineCompletionTriggerKind `json:"triggerKind"`
2853− // Provides information about the currently selected item in the autocomplete widget if it is visible.
2854− SelectedCompletionInfo *SelectedCompletionInfo `json:"selectedCompletionInfo,omitempty"`
2855−}
2856−
2857−// An inline completion item represents a text snippet that is proposed inline to complete text that is being typed.
2858−//
2859−// @since 3.18.0
2860−// @proposed
2861−//
2862−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionItem
2863−type InlineCompletionItem struct {
2864− // The text to replace the range with. Must be set.
2865− InsertText Or_InlineCompletionItem_insertText `json:"insertText"`
2866− // A text that is used to decide if this inline completion should be shown. When `falsy` the {@link InlineCompletionItem.insertText} is used.
2867− FilterText string `json:"filterText,omitempty"`
2868− // The range to replace. Must begin and end on the same line.
2869− Range *Range `json:"range,omitempty"`
2870− // An optional {@link Command} that is executed *after* inserting this completion.
2871− Command *Command `json:"command,omitempty"`
2872−}
2873−
2874−// Represents a collection of {@link InlineCompletionItem inline completion items} to be presented in the editor.
2875−//
2876−// @since 3.18.0
2877−// @proposed
2878−//
2879−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionList
2880−type InlineCompletionList struct {
2881− // The inline completion items
2882− Items []InlineCompletionItem `json:"items"`
2883−}
2884−
2885−// Inline completion options used during static registration.
2886−//
2887−// @since 3.18.0
2888−// @proposed
2889−//
2890−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionOptions
2891−type InlineCompletionOptions struct {
2892− WorkDoneProgressOptions
2893−}
2894−
2895−// A parameter literal used in inline completion requests.
2896−//
2897−// @since 3.18.0
2898−// @proposed
2899−//
2900−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionParams
2901−type InlineCompletionParams struct {
2902− // Additional information about the context in which inline completions were
2903− // requested.
2904− Context InlineCompletionContext `json:"context"`
2905− TextDocumentPositionParams
2906− WorkDoneProgressParams
2907−}
2908−
2909−// Inline completion options used during static or dynamic registration.
2910−//
2911−// @since 3.18.0
2912−// @proposed
2913−//
2914−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionRegistrationOptions
2915−type InlineCompletionRegistrationOptions struct {
2916− InlineCompletionOptions
2917− TextDocumentRegistrationOptions
2918− StaticRegistrationOptions
2919−}
2920−
2921−// Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered.
2922−//
2923−// @since 3.18.0
2924−// @proposed
2925−type InlineCompletionTriggerKind uint32
2926−
2927−// Inline value information can be provided by different means:
2928−//
2929−// - directly as a text value (class InlineValueText).
2930−// - as a name to use for a variable lookup (class InlineValueVariableLookup)
2931−// - as an evaluatable expression (class InlineValueEvaluatableExpression)
2932−//
2933−// The InlineValue types combines all inline value types into one type.
2934−//
2935−// @since 3.17.0
2936−//
2937−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValue
2938−type (
2939− InlineValue = Or_InlineValue // (alias)
2940− // Client capabilities specific to inline values.
2941− //
2942− // @since 3.17.0
2943− //
2944− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueClientCapabilities
2945− InlineValueClientCapabilities struct {
2946− // Whether implementation supports dynamic registration for inline value providers.
2947− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
2948− }
2949−)
2950−
2951−// @since 3.17.0
2952−//
2953−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueContext
2954−type InlineValueContext struct {
2955− // The stack frame (as a DAP Id) where the execution has stopped.
2956− FrameID int32 `json:"frameId"`
2957− // The document range where execution has stopped.
2958− // Typically the end position of the range denotes the line where the inline values are shown.
2959− StoppedLocation Range `json:"stoppedLocation"`
2960−}
2961−
2962−// Provide an inline value through an expression evaluation.
2963−// If only a range is specified, the expression will be extracted from the underlying document.
2964−// An optional expression can be used to override the extracted expression.
2965−//
2966−// @since 3.17.0
2967−//
2968−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueEvaluatableExpression
2969−type InlineValueEvaluatableExpression struct {
2970− // The document range for which the inline value applies.
2971− // The range is used to extract the evaluatable expression from the underlying document.
2972− Range Range `json:"range"`
2973− // If specified the expression overrides the extracted expression.
2974− Expression string `json:"expression,omitempty"`
2975−}
2976−
2977−// Inline value options used during static registration.
2978−//
2979−// @since 3.17.0
2980−//
2981−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueOptions
2982−type InlineValueOptions struct {
2983− WorkDoneProgressOptions
2984−}
2985−
2986−// A parameter literal used in inline value requests.
2987−//
2988−// @since 3.17.0
2989−//
2990−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueParams
2991−type InlineValueParams struct {
2992− // The text document.
2993− TextDocument TextDocumentIdentifier `json:"textDocument"`
2994− // The document range for which inline values should be computed.
2995− Range Range `json:"range"`
2996− // Additional information about the context in which inline values were
2997− // requested.
2998− Context InlineValueContext `json:"context"`
2999− WorkDoneProgressParams
3000−}
3001−
3002−// Inline value options used during static or dynamic registration.
3003−//
3004−// @since 3.17.0
3005−//
3006−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueRegistrationOptions
3007−type InlineValueRegistrationOptions struct {
3008− InlineValueOptions
3009− TextDocumentRegistrationOptions
3010− StaticRegistrationOptions
3011−}
3012−
3013−// Provide inline value as text.
3014−//
3015−// @since 3.17.0
3016−//
3017−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueText
3018−type InlineValueText struct {
3019− // The document range for which the inline value applies.
3020− Range Range `json:"range"`
3021− // The text of the inline value.
3022− Text string `json:"text"`
3023−}
3024−
3025−// Provide inline value through a variable lookup.
3026−// If only a range is specified, the variable name will be extracted from the underlying document.
3027−// An optional variable name can be used to override the extracted name.
3028−//
3029−// @since 3.17.0
3030−//
3031−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueVariableLookup
3032−type InlineValueVariableLookup struct {
3033− // The document range for which the inline value applies.
3034− // The range is used to extract the variable name from the underlying document.
3035− Range Range `json:"range"`
3036− // If specified the name of the variable to look up.
3037− VariableName string `json:"variableName,omitempty"`
3038− // How to perform the lookup.
3039− CaseSensitiveLookup bool `json:"caseSensitiveLookup"`
3040−}
3041−
3042−// Client workspace capabilities specific to inline values.
3043−//
3044−// @since 3.17.0
3045−//
3046−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueWorkspaceClientCapabilities
3047−type InlineValueWorkspaceClientCapabilities struct {
3048− // Whether the client implementation supports a refresh request sent from the
3049− // server to the client.
3050− //
3051− // Note that this event is global and will force the client to refresh all
3052− // inline values currently shown. It should be used with absolute care and is
3053− // useful for situation where a server for example detects a project wide
3054− // change that requires such a calculation.
3055− RefreshSupport bool `json:"refreshSupport,omitempty"`
3056−}
3057−
3058−// A special text edit to provide an insert and a replace operation.
3059−//
3060−// @since 3.16.0
3061−//
3062−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#insertReplaceEdit
3063−type InsertReplaceEdit struct {
3064− // The string to be inserted.
3065− NewText string `json:"newText"`
3066− // The range if the insert is requested
3067− Insert Range `json:"insert"`
3068− // The range if the replace is requested.
3069− Replace Range `json:"replace"`
3070−}
3071−
3072−// Defines whether the insert text in a completion item should be interpreted as
3073−// plain text or a snippet.
3074−type InsertTextFormat uint32
3075−
3076−// How whitespace and indentation is handled during completion
3077−// item insertion.
3078−//
3079−// @since 3.16.0
3080−type (
3081− InsertTextMode uint32
3082− LSPAny = interface{}
3083−)
3084−
3085−// LSP arrays.
3086−// @since 3.17.0
3087−//
3088−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#lSPArray
3089−type (
3090− LSPArray = []interface{} // (alias)
3091− LSPErrorCodes int32
3092−)
3093−
3094−// LSP object definition.
3095−// @since 3.17.0
3096−//
3097−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#lSPObject
3098−type (
3099− LSPObject = map[string]LSPAny // (alias)
3100− // Predefined Language kinds
3101− // @since 3.18.0
3102− // @proposed
3103− LanguageKind string
3104−)
3105−
3106−// Client capabilities for the linked editing range request.
3107−//
3108−// @since 3.16.0
3109−//
3110−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeClientCapabilities
3111−type LinkedEditingRangeClientCapabilities struct {
3112− // Whether implementation supports dynamic registration. If this is set to `true`
3113− // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
3114− // return value for the corresponding server capability as well.
3115− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
3116−}
3117−
3118−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeOptions
3119−type LinkedEditingRangeOptions struct {
3120− WorkDoneProgressOptions
3121−}
3122−
3123−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeParams
3124−type LinkedEditingRangeParams struct {
3125− TextDocumentPositionParams
3126− WorkDoneProgressParams
3127−}
3128−
3129−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeRegistrationOptions
3130−type LinkedEditingRangeRegistrationOptions struct {
3131− TextDocumentRegistrationOptions
3132− LinkedEditingRangeOptions
3133− StaticRegistrationOptions
3134−}
3135−
3136−// The result of a linked editing range request.
3137−//
3138−// @since 3.16.0
3139−//
3140−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRanges
3141−type LinkedEditingRanges struct {
3142− // A list of ranges that can be edited together. The ranges must have
3143− // identical length and contain identical text content. The ranges cannot overlap.
3144− Ranges []Range `json:"ranges"`
3145− // An optional word pattern (regular expression) that describes valid contents for
3146− // the given ranges. If no pattern is provided, the client configuration's word
3147− // pattern will be used.
3148− WordPattern string `json:"wordPattern,omitempty"`
3149−}
3150−
3151−// created for Literal (Lit_ClientSemanticTokensRequestOptions_range_Item1)
3152−type Lit_ClientSemanticTokensRequestOptions_range_Item1 struct{}
3153−
3154−// created for Literal (Lit_SemanticTokensOptions_range_Item1)
3155−type Lit_SemanticTokensOptions_range_Item1 struct{}
3156−
3157−// Represents a location inside a resource, such as a line
3158−// inside a text file.
3159−//
3160−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#location
3161−type Location struct {
3162− URI DocumentURI `json:"uri"`
3163− Range Range `json:"range"`
3164−}
3165−
3166−// Represents the connection of two locations. Provides additional metadata over normal {@link Location locations},
3167−// including an origin range.
3168−//
3169−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#locationLink
3170−type LocationLink struct {
3171− // Span of the origin of this link.
3172− //
3173− // Used as the underlined span for mouse interaction. Defaults to the word range at
3174− // the definition position.
3175− OriginSelectionRange *Range `json:"originSelectionRange,omitempty"`
3176− // The target resource identifier of this link.
3177− TargetURI DocumentURI `json:"targetUri"`
3178− // The full target range of this link. If the target for example is a symbol then target range is the
3179− // range enclosing this symbol not including leading/trailing whitespace but everything else
3180− // like comments. This information is typically used to highlight the range in the editor.
3181− TargetRange Range `json:"targetRange"`
3182− // The range that should be selected and revealed when this link is being followed, e.g the name of a function.
3183− // Must be contained by the `targetRange`. See also `DocumentSymbol#range`
3184− TargetSelectionRange Range `json:"targetSelectionRange"`
3185−}
3186−
3187−// Location with only uri and does not include range.
3188−//
3189−// @since 3.18.0
3190−//
3191−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#locationUriOnly
3192−type LocationUriOnly struct {
3193− URI DocumentURI `json:"uri"`
3194−}
3195−
3196−// The log message parameters.
3197−//
3198−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#logMessageParams
3199−type LogMessageParams struct {
3200− // The message type. See {@link MessageType}
3201− Type MessageType `json:"type"`
3202− // The actual message.
3203− Message string `json:"message"`
3204−}
3205−
3206−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#logTraceParams
3207−type LogTraceParams struct {
3208− Message string `json:"message"`
3209− Verbose string `json:"verbose,omitempty"`
3210−}
3211−
3212−// Client capabilities specific to the used markdown parser.
3213−//
3214−// @since 3.16.0
3215−//
3216−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markdownClientCapabilities
3217−type MarkdownClientCapabilities struct {
3218− // The name of the parser.
3219− Parser string `json:"parser"`
3220− // The version of the parser.
3221− Version string `json:"version,omitempty"`
3222− // A list of HTML tags that the client allows / supports in
3223− // Markdown.
3224− //
3225− // @since 3.17.0
3226− AllowedTags []string `json:"allowedTags,omitempty"`
3227−}
3228−
3229−// MarkedString can be used to render human readable text. It is either a markdown string
3230−// or a code-block that provides a language and a code snippet. The language identifier
3231−// is semantically equal to the optional language identifier in fenced code blocks in GitHub
3232−// issues. See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
3233−//
3234−// The pair of a language and a value is an equivalent to markdown:
3235−// ```${language}
3236−// ${value}
3237−// ```
3238−//
3239−// Note that markdown strings will be sanitized - that means html will be escaped.
3240−// @deprecated use MarkupContent instead.
3241−//
3242−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markedString
3243−type (
3244− MarkedString = Or_MarkedString // (alias)
3245− // @since 3.18.0
3246− // @deprecated use MarkupContent instead.
3247− //
3248− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markedStringWithLanguage
3249− MarkedStringWithLanguage struct {
3250− Language string `json:"language"`
3251− Value string `json:"value"`
3252− }
3253−)
3254−
3255−// A `MarkupContent` literal represents a string value which content is interpreted base on its
3256−// kind flag. Currently the protocol supports `plaintext` and `markdown` as markup kinds.
3257−//
3258−// If the kind is `markdown` then the value can contain fenced code blocks like in GitHub issues.
3259−// See https://help.github.com/articles/creating-and-highlighting-code-blocks/#syntax-highlighting
3260−//
3261−// Here is an example how such a string can be constructed using JavaScript / TypeScript:
3262−// ```ts
3263−//
3264−// let markdown: MarkdownContent = {
3265−// kind: MarkupKind.Markdown,
3266−// value: [
3267−// '# Header',
3268−// 'Some text',
3269−// '```typescript',
3270−// 'someCode();',
3271−// '```'
3272−// ].join('\n')
3273−// };
3274−//
3275−// ```
3276−//
3277−// *Please Note* that clients might sanitize the return markdown. A client could decide to
3278−// remove HTML from the markdown to avoid script execution.
3279−//
3280−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markupContent
3281−type MarkupContent struct {
3282− // The type of the Markup
3283− Kind MarkupKind `json:"kind"`
3284− // The content itself
3285− Value string `json:"value"`
3286−}
3287−
3288−// Describes the content type that a client supports in various
3289−// result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
3290−//
3291−// Please note that `MarkupKinds` must not start with a `$`. This kinds
3292−// are reserved for internal usage.
3293−type MarkupKind string
3294−
3295−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#messageActionItem
3296−type MessageActionItem struct {
3297− // A short title like 'Retry', 'Open Log' etc.
3298− Title string `json:"title"`
3299−}
3300−
3301−// The message type
3302−type MessageType uint32
3303−
3304−// Moniker definition to match LSIF 0.5 moniker definition.
3305−//
3306−// @since 3.16.0
3307−//
3308−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#moniker
3309−type Moniker struct {
3310− // The scheme of the moniker. For example tsc or .Net
3311− Scheme string `json:"scheme"`
3312− // The identifier of the moniker. The value is opaque in LSIF however
3313− // schema owners are allowed to define the structure if they want.
3314− Identifier string `json:"identifier"`
3315− // The scope in which the moniker is unique
3316− Unique UniquenessLevel `json:"unique"`
3317− // The moniker kind if known.
3318− Kind *MonikerKind `json:"kind,omitempty"`
3319−}
3320−
3321−// Client capabilities specific to the moniker request.
3322−//
3323−// @since 3.16.0
3324−//
3325−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerClientCapabilities
3326−type MonikerClientCapabilities struct {
3327− // Whether moniker supports dynamic registration. If this is set to `true`
3328− // the client supports the new `MonikerRegistrationOptions` return value
3329− // for the corresponding server capability as well.
3330− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
3331−}
3332−
3333−// The moniker kind.
3334−//
3335−// @since 3.16.0
3336−type MonikerKind string
3337−
3338−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerOptions
3339−type MonikerOptions struct {
3340− WorkDoneProgressOptions
3341−}
3342−
3343−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerParams
3344−type MonikerParams struct {
3345− TextDocumentPositionParams
3346− WorkDoneProgressParams
3347− PartialResultParams
3348−}
3349−
3350−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerRegistrationOptions
3351−type MonikerRegistrationOptions struct {
3352− TextDocumentRegistrationOptions
3353− MonikerOptions
3354−}
3355−
3356−// A notebook cell.
3357−//
3358−// A cell's document URI must be unique across ALL notebook
3359−// cells and can therefore be used to uniquely identify a
3360−// notebook cell or the cell's text document.
3361−//
3362−// @since 3.17.0
3363−//
3364−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCell
3365−type NotebookCell struct {
3366− // The cell's kind
3367− Kind NotebookCellKind `json:"kind"`
3368− // The URI of the cell's text document
3369− // content.
3370− Document DocumentURI `json:"document"`
3371− // Additional metadata stored with the cell.
3372− //
3373− // Note: should always be an object literal (e.g. LSPObject)
3374− Metadata *LSPObject `json:"metadata,omitempty"`
3375− // Additional execution summary information
3376− // if supported by the client.
3377− ExecutionSummary *ExecutionSummary `json:"executionSummary,omitempty"`
3378−}
3379−
3380−// A change describing how to move a `NotebookCell`
3381−// array from state S to S'.
3382−//
3383−// @since 3.17.0
3384−//
3385−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellArrayChange
3386−type NotebookCellArrayChange struct {
3387− // The start oftest of the cell that changed.
3388− Start uint32 `json:"start"`
3389− // The deleted cells
3390− DeleteCount uint32 `json:"deleteCount"`
3391− // The new cells, if any
3392− Cells []NotebookCell `json:"cells,omitempty"`
3393−}
3394−
3395−// A notebook cell kind.
3396−//
3397−// @since 3.17.0
3398−type NotebookCellKind uint32
3399−
3400−// @since 3.18.0
3401−//
3402−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellLanguage
3403−type NotebookCellLanguage struct {
3404− Language string `json:"language"`
3405−}
3406−
3407−// A notebook cell text document filter denotes a cell text
3408−// document by different properties.
3409−//
3410−// @since 3.17.0
3411−//
3412−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellTextDocumentFilter
3413−type NotebookCellTextDocumentFilter struct {
3414− // A filter that matches against the notebook
3415− // containing the notebook cell. If a string
3416− // value is provided it matches against the
3417− // notebook type. '*' matches every notebook.
3418− Notebook Or_NotebookCellTextDocumentFilter_notebook `json:"notebook"`
3419− // A language id like `python`.
3420− //
3421− // Will be matched against the language id of the
3422− // notebook cell document. '*' matches every language.
3423− Language string `json:"language,omitempty"`
3424−}
3425−
3426−// A notebook document.
3427−//
3428−// @since 3.17.0
3429−//
3430−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument
3431−type NotebookDocument struct {
3432− // The notebook document's uri.
3433− URI URI `json:"uri"`
3434− // The type of the notebook.
3435− NotebookType string `json:"notebookType"`
3436− // The version number of this document (it will increase after each
3437− // change, including undo/redo).
3438− Version int32 `json:"version"`
3439− // Additional metadata stored with the notebook
3440− // document.
3441− //
3442− // Note: should always be an object literal (e.g. LSPObject)
3443− Metadata *LSPObject `json:"metadata,omitempty"`
3444− // The cells of a notebook.
3445− Cells []NotebookCell `json:"cells"`
3446−}
3447−
3448−// Structural changes to cells in a notebook document.
3449−//
3450−// @since 3.18.0
3451−//
3452−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellChangeStructure
3453−type NotebookDocumentCellChangeStructure struct {
3454− // The change to the cell array.
3455− Array NotebookCellArrayChange `json:"array"`
3456− // Additional opened cell text documents.
3457− DidOpen []TextDocumentItem `json:"didOpen,omitempty"`
3458− // Additional closed cell text documents.
3459− DidClose []TextDocumentIdentifier `json:"didClose,omitempty"`
3460−}
3461−
3462−// Cell changes to a notebook document.
3463−//
3464−// @since 3.18.0
3465−//
3466−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellChanges
3467−type NotebookDocumentCellChanges struct {
3468− // Changes to the cell structure to add or
3469− // remove cells.
3470− Structure *NotebookDocumentCellChangeStructure `json:"structure,omitempty"`
3471− // Changes to notebook cells properties like its
3472− // kind, execution summary or metadata.
3473− Data []NotebookCell `json:"data,omitempty"`
3474− // Changes to the text content of notebook cells.
3475− TextContent []NotebookDocumentCellContentChanges `json:"textContent,omitempty"`
3476−}
3477−
3478−// Content changes to a cell in a notebook document.
3479−//
3480−// @since 3.18.0
3481−//
3482−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellContentChanges
3483−type NotebookDocumentCellContentChanges struct {
3484− Document VersionedTextDocumentIdentifier `json:"document"`
3485− Changes []TextDocumentContentChangeEvent `json:"changes"`
3486−}
3487−
3488−// A change event for a notebook document.
3489−//
3490−// @since 3.17.0
3491−//
3492−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentChangeEvent
3493−type NotebookDocumentChangeEvent struct {
3494− // The changed meta data if any.
3495− //
3496− // Note: should always be an object literal (e.g. LSPObject)
3497− Metadata *LSPObject `json:"metadata,omitempty"`
3498− // Changes to cells
3499− Cells *NotebookDocumentCellChanges `json:"cells,omitempty"`
3500−}
3501−
3502−// Capabilities specific to the notebook document support.
3503−//
3504−// @since 3.17.0
3505−//
3506−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentClientCapabilities
3507−type NotebookDocumentClientCapabilities struct {
3508− // Capabilities specific to notebook document synchronization
3509− //
3510− // @since 3.17.0
3511− Synchronization NotebookDocumentSyncClientCapabilities `json:"synchronization"`
3512−}
3513−
3514−// A notebook document filter denotes a notebook document by
3515−// different properties. The properties will be match
3516−// against the notebook's URI (same as with documents)
3517−//
3518−// @since 3.17.0
3519−//
3520−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilter
3521−type (
3522− NotebookDocumentFilter = Or_NotebookDocumentFilter // (alias)
3523− // A notebook document filter where `notebookType` is required field.
3524− //
3525− // @since 3.18.0
3526− //
3527− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterNotebookType
3528− NotebookDocumentFilterNotebookType struct {
3529− // The type of the enclosing notebook.
3530− NotebookType string `json:"notebookType"`
3531− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
3532− Scheme string `json:"scheme,omitempty"`
3533− // A glob pattern.
3534− Pattern *GlobPattern `json:"pattern,omitempty"`
3535− }
3536−)
3537−
3538−// A notebook document filter where `pattern` is required field.
3539−//
3540−// @since 3.18.0
3541−//
3542−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterPattern
3543−type NotebookDocumentFilterPattern struct {
3544− // The type of the enclosing notebook.
3545− NotebookType string `json:"notebookType,omitempty"`
3546− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
3547− Scheme string `json:"scheme,omitempty"`
3548− // A glob pattern.
3549− Pattern GlobPattern `json:"pattern"`
3550−}
3551−
3552−// A notebook document filter where `scheme` is required field.
3553−//
3554−// @since 3.18.0
3555−//
3556−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterScheme
3557−type NotebookDocumentFilterScheme struct {
3558− // The type of the enclosing notebook.
3559− NotebookType string `json:"notebookType,omitempty"`
3560− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
3561− Scheme string `json:"scheme"`
3562− // A glob pattern.
3563− Pattern *GlobPattern `json:"pattern,omitempty"`
3564−}
3565−
3566−// @since 3.18.0
3567−//
3568−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterWithCells
3569−type NotebookDocumentFilterWithCells struct {
3570− // The notebook to be synced If a string
3571− // value is provided it matches against the
3572− // notebook type. '*' matches every notebook.
3573− Notebook *Or_NotebookDocumentFilterWithCells_notebook `json:"notebook,omitempty"`
3574− // The cells of the matching notebook to be synced.
3575− Cells []NotebookCellLanguage `json:"cells"`
3576−}
3577−
3578−// @since 3.18.0
3579−//
3580−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterWithNotebook
3581−type NotebookDocumentFilterWithNotebook struct {
3582− // The notebook to be synced If a string
3583− // value is provided it matches against the
3584− // notebook type. '*' matches every notebook.
3585− Notebook Or_NotebookDocumentFilterWithNotebook_notebook `json:"notebook"`
3586− // The cells of the matching notebook to be synced.
3587− Cells []NotebookCellLanguage `json:"cells,omitempty"`
3588−}
3589−
3590−// A literal to identify a notebook document in the client.
3591−//
3592−// @since 3.17.0
3593−//
3594−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentIdentifier
3595−type NotebookDocumentIdentifier struct {
3596− // The notebook document's uri.
3597− URI URI `json:"uri"`
3598−}
3599−
3600−// Notebook specific client capabilities.
3601−//
3602−// @since 3.17.0
3603−//
3604−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncClientCapabilities
3605−type NotebookDocumentSyncClientCapabilities struct {
3606− // Whether implementation supports dynamic registration. If this is
3607− // set to `true` the client supports the new
3608− // `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
3609− // return value for the corresponding server capability as well.
3610− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
3611− // The client supports sending execution summary data per cell.
3612− ExecutionSummarySupport bool `json:"executionSummarySupport,omitempty"`
3613−}
3614−
3615−// Options specific to a notebook plus its cells
3616−// to be synced to the server.
3617−//
3618−// If a selector provides a notebook document
3619−// filter but no cell selector all cells of a
3620−// matching notebook document will be synced.
3621−//
3622−// If a selector provides no notebook document
3623−// filter but only a cell selector all notebook
3624−// document that contain at least one matching
3625−// cell will be synced.
3626−//
3627−// @since 3.17.0
3628−//
3629−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncOptions
3630−type NotebookDocumentSyncOptions struct {
3631− // The notebooks to be synced
3632− NotebookSelector []Or_NotebookDocumentSyncOptions_notebookSelector_Elem `json:"notebookSelector"`
3633− // Whether save notification should be forwarded to
3634− // the server. Will only be honored if mode === `notebook`.
3635− Save bool `json:"save,omitempty"`
3636−}
3637−
3638−// Registration options specific to a notebook.
3639−//
3640−// @since 3.17.0
3641−//
3642−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncRegistrationOptions
3643−type NotebookDocumentSyncRegistrationOptions struct {
3644− NotebookDocumentSyncOptions
3645− StaticRegistrationOptions
3646−}
3647−
3648−// A text document identifier to optionally denote a specific version of a text document.
3649−//
3650−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#optionalVersionedTextDocumentIdentifier
3651−type OptionalVersionedTextDocumentIdentifier struct {
3652− // The version number of this document. If a versioned text document identifier
3653− // is sent from the server to the client and the file is not open in the editor
3654− // (the server has not received an open notification before) the server can send
3655− // `null` to indicate that the version is unknown and the content on disk is the
3656− // truth (as specified with document content ownership).
3657− Version int32 `json:"version"`
3658− TextDocumentIdentifier
3659−}
3660−
3661−// created for Or [int32 string]
3662−type Or_CancelParams_id struct {
3663− Value interface{} `json:"value"`
3664−}
3665−
3666−// created for Or [ClientSemanticTokensRequestFullDelta bool]
3667−type Or_ClientSemanticTokensRequestOptions_full struct {
3668− Value interface{} `json:"value"`
3669−}
3670−
3671−// created for Or [Lit_ClientSemanticTokensRequestOptions_range_Item1 bool]
3672−type Or_ClientSemanticTokensRequestOptions_range struct {
3673− Value interface{} `json:"value"`
3674−}
3675−
3676−// created for Or [EditRangeWithInsertReplace Range]
3677−type Or_CompletionItemDefaults_editRange struct {
3678− Value interface{} `json:"value"`
3679−}
3680−
3681−// created for Or [MarkupContent string]
3682−type Or_CompletionItem_documentation struct {
3683− Value interface{} `json:"value"`
3684−}
3685−
3686−// created for Or [InsertReplaceEdit TextEdit]
3687−type Or_CompletionItem_textEdit struct {
3688− Value interface{} `json:"value"`
3689−}
3690−
3691−// created for Or [Location []Location]
3692−type Or_Declaration struct {
3693− Value interface{} `json:"value"`
3694−}
3695−
3696−// created for Or [Location []Location]
3697−type Or_Definition struct {
3698− Value interface{} `json:"value"`
3699−}
3700−
3701−// created for Or [int32 string]
3702−type Or_Diagnostic_code struct {
3703− Value interface{} `json:"value"`
3704−}
3705−
3706−// created for Or [[]string string]
3707−type Or_DidChangeConfigurationRegistrationOptions_section struct {
3708− Value interface{} `json:"value"`
3709−}
3710−
3711−// created for Or [RelatedFullDocumentDiagnosticReport RelatedUnchangedDocumentDiagnosticReport]
3712−type Or_DocumentDiagnosticReport struct {
3713− Value interface{} `json:"value"`
3714−}
3715−
3716−// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
3717−type Or_DocumentDiagnosticReportPartialResult_relatedDocuments_Value struct {
3718− Value interface{} `json:"value"`
3719−}
3720−
3721−// created for Or [NotebookCellTextDocumentFilter TextDocumentFilter]
3722−type Or_DocumentFilter struct {
3723− Value interface{} `json:"value"`
3724−}
3725−
3726−// created for Or [Pattern RelativePattern]
3727−type Or_GlobPattern struct {
3728− Value interface{} `json:"value"`
3729−}
3730−
3731−// created for Or [MarkedString MarkupContent []MarkedString]
3732−type Or_Hover_contents struct {
3733− Value interface{} `json:"value"`
3734−}
3735−
3736−// created for Or [MarkupContent string]
3737−type Or_InlayHintLabelPart_tooltip struct {
3738− Value interface{} `json:"value"`
3739−}
3740−
3741−// created for Or [[]InlayHintLabelPart string]
3742−type Or_InlayHint_label struct {
3743− Value interface{} `json:"value"`
3744−}
3745−
3746−// created for Or [MarkupContent string]
3747−type Or_InlayHint_tooltip struct {
3748− Value interface{} `json:"value"`
3749−}
3750−
3751−// created for Or [StringValue string]
3752−type Or_InlineCompletionItem_insertText struct {
3753− Value interface{} `json:"value"`
3754−}
3755−
3756−// created for Or [InlineValueEvaluatableExpression InlineValueText InlineValueVariableLookup]
3757−type Or_InlineValue struct {
3758− Value interface{} `json:"value"`
3759−}
3760−
3761−// created for Or [LSPArray LSPObject bool float64 int32 string uint32]
3762−type Or_LSPAny struct {
3763− Value interface{} `json:"value"`
3764−}
3765−
3766−// created for Or [MarkedStringWithLanguage string]
3767−type Or_MarkedString struct {
3768− Value interface{} `json:"value"`
3769−}
3770−
3771−// created for Or [NotebookDocumentFilter string]
3772−type Or_NotebookCellTextDocumentFilter_notebook struct {
3773− Value interface{} `json:"value"`
3774−}
3775−
3776−// created for Or [NotebookDocumentFilterNotebookType NotebookDocumentFilterPattern NotebookDocumentFilterScheme]
3777−type Or_NotebookDocumentFilter struct {
3778− Value interface{} `json:"value"`
3779−}
3780−
3781−// created for Or [NotebookDocumentFilter string]
3782−type Or_NotebookDocumentFilterWithCells_notebook struct {
3783− Value interface{} `json:"value"`
3784−}
3785−
3786−// created for Or [NotebookDocumentFilter string]
3787−type Or_NotebookDocumentFilterWithNotebook_notebook struct {
3788− Value interface{} `json:"value"`
3789−}
3790−
3791−// created for Or [NotebookDocumentFilterWithCells NotebookDocumentFilterWithNotebook]
3792−type Or_NotebookDocumentSyncOptions_notebookSelector_Elem struct {
3793− Value interface{} `json:"value"`
3794−}
3795−
3796−// created for Or [MarkupContent string]
3797−type Or_ParameterInformation_documentation struct {
3798− Value interface{} `json:"value"`
3799−}
3800−
3801−// created for Or [Tuple_ParameterInformation_label_Item1 string]
3802−type Or_ParameterInformation_label struct {
3803− Value interface{} `json:"value"`
3804−}
3805−
3806−// created for Or [PrepareRenameDefaultBehavior PrepareRenamePlaceholder Range]
3807−type Or_PrepareRenameResult struct {
3808− Value interface{} `json:"value"`
3809−}
3810−
3811−// created for Or [int32 string]
3812−type Or_ProgressToken struct {
3813− Value interface{} `json:"value"`
3814−}
3815−
3816−// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
3817−type Or_RelatedFullDocumentDiagnosticReport_relatedDocuments_Value struct {
3818− Value interface{} `json:"value"`
3819−}
3820−
3821−// created for Or [FullDocumentDiagnosticReport UnchangedDocumentDiagnosticReport]
3822−type Or_RelatedUnchangedDocumentDiagnosticReport_relatedDocuments_Value struct {
3823− Value interface{} `json:"value"`
3824−}
3825−
3826−// created for Or [URI WorkspaceFolder]
3827−type Or_RelativePattern_baseUri struct {
3828− Value interface{} `json:"value"`
3829−}
3830−
3831−// created for Or [CodeAction Command]
3832−type Or_Result_textDocument_codeAction_Item0_Elem struct {
3833− Value interface{} `json:"value"`
3834−}
3835−
3836−// created for Or [CompletionList []CompletionItem]
3837−type Or_Result_textDocument_completion struct {
3838− Value interface{} `json:"value"`
3839−}
3840−
3841−// created for Or [Declaration []DeclarationLink]
3842−type Or_Result_textDocument_declaration struct {
3843− Value interface{} `json:"value"`
3844−}
3845−
3846−// created for Or [Definition []DefinitionLink]
3847−type Or_Result_textDocument_definition struct {
3848− Value interface{} `json:"value"`
3849−}
3850−
3851−// created for Or [[]DocumentSymbol []SymbolInformation]
3852−type Or_Result_textDocument_documentSymbol struct {
3853− Value interface{} `json:"value"`
3854−}
3855−
3856−// created for Or [Definition []DefinitionLink]
3857−type Or_Result_textDocument_implementation struct {
3858− Value interface{} `json:"value"`
3859−}
3860−
3861−// created for Or [InlineCompletionList []InlineCompletionItem]
3862−type Or_Result_textDocument_inlineCompletion struct {
3863− Value interface{} `json:"value"`
3864−}
3865−
3866−// created for Or [SemanticTokens SemanticTokensDelta]
3867−type Or_Result_textDocument_semanticTokens_full_delta struct {
3868− Value interface{} `json:"value"`
3869−}
3870−
3871−// created for Or [Definition []DefinitionLink]
3872−type Or_Result_textDocument_typeDefinition struct {
3873− Value interface{} `json:"value"`
3874−}
3875−
3876−// created for Or [[]SymbolInformation []WorkspaceSymbol]
3877−type Or_Result_workspace_symbol struct {
3878− Value interface{} `json:"value"`
3879−}
3880−
3881−// created for Or [SemanticTokensFullDelta bool]
3882−type Or_SemanticTokensOptions_full struct {
3883− Value interface{} `json:"value"`
3884−}
3885−
3886−// created for Or [Lit_SemanticTokensOptions_range_Item1 bool]
3887−type Or_SemanticTokensOptions_range struct {
3888− Value interface{} `json:"value"`
3889−}
3890−
3891−// created for Or [CallHierarchyOptions CallHierarchyRegistrationOptions bool]
3892−type Or_ServerCapabilities_callHierarchyProvider struct {
3893− Value interface{} `json:"value"`
3894−}
3895−
3896−// created for Or [CodeActionOptions bool]
3897−type Or_ServerCapabilities_codeActionProvider struct {
3898− Value interface{} `json:"value"`
3899−}
3900−
3901−// created for Or [DocumentColorOptions DocumentColorRegistrationOptions bool]
3902−type Or_ServerCapabilities_colorProvider struct {
3903− Value interface{} `json:"value"`
3904−}
3905−
3906−// created for Or [DeclarationOptions DeclarationRegistrationOptions bool]
3907−type Or_ServerCapabilities_declarationProvider struct {
3908− Value interface{} `json:"value"`
3909−}
3910−
3911−// created for Or [DefinitionOptions bool]
3912−type Or_ServerCapabilities_definitionProvider struct {
3913− Value interface{} `json:"value"`
3914−}
3915−
3916−// created for Or [DiagnosticOptions DiagnosticRegistrationOptions]
3917−type Or_ServerCapabilities_diagnosticProvider struct {
3918− Value interface{} `json:"value"`
3919−}
3920−
3921−// created for Or [DocumentFormattingOptions bool]
3922−type Or_ServerCapabilities_documentFormattingProvider struct {
3923− Value interface{} `json:"value"`
3924−}
3925−
3926−// created for Or [DocumentHighlightOptions bool]
3927−type Or_ServerCapabilities_documentHighlightProvider struct {
3928− Value interface{} `json:"value"`
3929−}
3930−
3931−// created for Or [DocumentRangeFormattingOptions bool]
3932−type Or_ServerCapabilities_documentRangeFormattingProvider struct {
3933− Value interface{} `json:"value"`
3934−}
3935−
3936−// created for Or [DocumentSymbolOptions bool]
3937−type Or_ServerCapabilities_documentSymbolProvider struct {
3938− Value interface{} `json:"value"`
3939−}
3940−
3941−// created for Or [FoldingRangeOptions FoldingRangeRegistrationOptions bool]
3942−type Or_ServerCapabilities_foldingRangeProvider struct {
3943− Value interface{} `json:"value"`
3944−}
3945−
3946−// created for Or [HoverOptions bool]
3947−type Or_ServerCapabilities_hoverProvider struct {
3948− Value interface{} `json:"value"`
3949−}
3950−
3951−// created for Or [ImplementationOptions ImplementationRegistrationOptions bool]
3952−type Or_ServerCapabilities_implementationProvider struct {
3953− Value interface{} `json:"value"`
3954−}
3955−
3956−// created for Or [InlayHintOptions InlayHintRegistrationOptions bool]
3957−type Or_ServerCapabilities_inlayHintProvider struct {
3958− Value interface{} `json:"value"`
3959−}
3960−
3961−// created for Or [InlineCompletionOptions bool]
3962−type Or_ServerCapabilities_inlineCompletionProvider struct {
3963− Value interface{} `json:"value"`
3964−}
3965−
3966−// created for Or [InlineValueOptions InlineValueRegistrationOptions bool]
3967−type Or_ServerCapabilities_inlineValueProvider struct {
3968− Value interface{} `json:"value"`
3969−}
3970−
3971−// created for Or [LinkedEditingRangeOptions LinkedEditingRangeRegistrationOptions bool]
3972−type Or_ServerCapabilities_linkedEditingRangeProvider struct {
3973− Value interface{} `json:"value"`
3974−}
3975−
3976−// created for Or [MonikerOptions MonikerRegistrationOptions bool]
3977−type Or_ServerCapabilities_monikerProvider struct {
3978− Value interface{} `json:"value"`
3979−}
3980−
3981−// created for Or [NotebookDocumentSyncOptions NotebookDocumentSyncRegistrationOptions]
3982−type Or_ServerCapabilities_notebookDocumentSync struct {
3983− Value interface{} `json:"value"`
3984−}
3985−
3986−// created for Or [ReferenceOptions bool]
3987−type Or_ServerCapabilities_referencesProvider struct {
3988− Value interface{} `json:"value"`
3989−}
3990−
3991−// created for Or [RenameOptions bool]
3992−type Or_ServerCapabilities_renameProvider struct {
3993− Value interface{} `json:"value"`
3994−}
3995−
3996−// created for Or [SelectionRangeOptions SelectionRangeRegistrationOptions bool]
3997−type Or_ServerCapabilities_selectionRangeProvider struct {
3998− Value interface{} `json:"value"`
3999−}
4000−
4001−// created for Or [SemanticTokensOptions SemanticTokensRegistrationOptions]
4002−type Or_ServerCapabilities_semanticTokensProvider struct {
4003− Value interface{} `json:"value"`
4004−}
4005−
4006−// created for Or [TextDocumentSyncKind TextDocumentSyncOptions]
4007−type Or_ServerCapabilities_textDocumentSync struct {
4008− Value interface{} `json:"value"`
4009−}
4010−
4011−// created for Or [TypeDefinitionOptions TypeDefinitionRegistrationOptions bool]
4012−type Or_ServerCapabilities_typeDefinitionProvider struct {
4013− Value interface{} `json:"value"`
4014−}
4015−
4016−// created for Or [TypeHierarchyOptions TypeHierarchyRegistrationOptions bool]
4017−type Or_ServerCapabilities_typeHierarchyProvider struct {
4018− Value interface{} `json:"value"`
4019−}
4020−
4021−// created for Or [WorkspaceSymbolOptions bool]
4022−type Or_ServerCapabilities_workspaceSymbolProvider struct {
4023− Value interface{} `json:"value"`
4024−}
4025−
4026−// created for Or [MarkupContent string]
4027−type Or_SignatureInformation_documentation struct {
4028− Value interface{} `json:"value"`
4029−}
4030−
4031−// created for Or [TextDocumentContentChangePartial TextDocumentContentChangeWholeDocument]
4032−type Or_TextDocumentContentChangeEvent struct {
4033− Value interface{} `json:"value"`
4034−}
4035−
4036−// created for Or [AnnotatedTextEdit SnippetTextEdit TextEdit]
4037−type Or_TextDocumentEdit_edits_Elem struct {
4038− Value interface{} `json:"value"`
4039−}
4040−
4041−// created for Or [TextDocumentFilterLanguage TextDocumentFilterPattern TextDocumentFilterScheme]
4042−type Or_TextDocumentFilter struct {
4043− Value interface{} `json:"value"`
4044−}
4045−
4046−// created for Or [SaveOptions bool]
4047−type Or_TextDocumentSyncOptions_save struct {
4048− Value interface{} `json:"value"`
4049−}
4050−
4051−// created for Or [WorkspaceFullDocumentDiagnosticReport WorkspaceUnchangedDocumentDiagnosticReport]
4052−type Or_WorkspaceDocumentDiagnosticReport struct {
4053− Value interface{} `json:"value"`
4054−}
4055−
4056−// created for Or [CreateFile DeleteFile RenameFile TextDocumentEdit]
4057−type Or_WorkspaceEdit_documentChanges_Elem struct {
4058− Value interface{} `json:"value"`
4059−}
4060−
4061−// created for Or [bool string]
4062−type Or_WorkspaceFoldersServerCapabilities_changeNotifications struct {
4063− Value interface{} `json:"value"`
4064−}
4065−
4066−// created for Or [TextDocumentContentOptions TextDocumentContentRegistrationOptions]
4067−type Or_WorkspaceOptions_textDocumentContent struct {
4068− Value interface{} `json:"value"`
4069−}
4070−
4071−// created for Or [Location LocationUriOnly]
4072−type Or_WorkspaceSymbol_location struct {
4073− Value interface{} `json:"value"`
4074−}
4075−
4076−// The parameters of a configuration request.
4077−//
4078−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationParams
4079−type ParamConfiguration struct {
4080− Items []ConfigurationItem `json:"items"`
4081−}
4082−
4083−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeParams
4084−type ParamInitialize struct {
4085− XInitializeParams
4086− WorkspaceFoldersInitializeParams
4087−}
4088−
4089−// Represents a parameter of a callable-signature. A parameter can
4090−// have a label and a doc-comment.
4091−//
4092−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#parameterInformation
4093−type ParameterInformation struct {
4094− // The label of this parameter information.
4095− //
4096− // Either a string or an inclusive start and exclusive end offsets within its containing
4097− // signature label. (see SignatureInformation.label). The offsets are based on a UTF-16
4098− // string representation as `Position` and `Range` does.
4099− //
4100− // To avoid ambiguities a server should use the [start, end] offset value instead of using
4101− // a substring. Whether a client support this is controlled via `labelOffsetSupport` client
4102− // capability.
4103− //
4104− // *Note*: a label of type string should be a substring of its containing signature label.
4105− // Its intended use case is to highlight the parameter label part in the `SignatureInformation.label`.
4106− Label Or_ParameterInformation_label `json:"label"`
4107− // The human-readable doc-comment of this parameter. Will be shown
4108− // in the UI but can be omitted.
4109− Documentation *Or_ParameterInformation_documentation `json:"documentation,omitempty"`
4110−}
4111−
4112−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#partialResultParams
4113−type PartialResultParams struct {
4114− // An optional token that a server can use to report partial results (e.g. streaming) to
4115− // the client.
4116− PartialResultToken *ProgressToken `json:"partialResultToken,omitempty"`
4117−}
4118−
4119−// The glob pattern to watch relative to the base path. Glob patterns can have the following syntax:
4120−//
4121−// - `*` to match one or more characters in a path segment
4122−// - `?` to match on one character in a path segment
4123−// - `**` to match any number of path segments, including none
4124−// - `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
4125−// - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
4126−// - `[!...]` 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`)
4127−//
4128−// @since 3.17.0
4129−//
4130−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#pattern
4131−type (
4132− Pattern = string // (alias)
4133− // Position in a text document expressed as zero-based line and character
4134− // offset. Prior to 3.17 the offsets were always based on a UTF-16 string
4135− // representation. So a string of the form `a𐐀b` the character offset of the
4136− // character `a` is 0, the character offset of `𐐀` is 1 and the character
4137− // offset of b is 3 since `𐐀` is represented using two code units in UTF-16.
4138− // Since 3.17 clients and servers can agree on a different string encoding
4139− // representation (e.g. UTF-8). The client announces it's supported encoding
4140− // via the client capability [`general.positionEncodings`](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#clientCapabilities).
4141− // The value is an array of position encodings the client supports, with
4142− // decreasing preference (e.g. the encoding at index `0` is the most preferred
4143− // one). To stay backwards compatible the only mandatory encoding is UTF-16
4144− // represented via the string `utf-16`. The server can pick one of the
4145− // encodings offered by the client and signals that encoding back to the
4146− // client via the initialize result's property
4147− // [`capabilities.positionEncoding`](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#serverCapabilities). If the string value
4148− // `utf-16` is missing from the client's capability `general.positionEncodings`
4149− // servers can safely assume that the client supports UTF-16. If the server
4150− // omits the position encoding in its initialize result the encoding defaults
4151− // to the string value `utf-16`. Implementation considerations: since the
4152− // conversion from one encoding into another requires the content of the
4153− // file / line the conversion is best done where the file is read which is
4154− // usually on the server side.
4155− //
4156− // Positions are line end character agnostic. So you can not specify a position
4157− // that denotes `\r|\n` or `\n|` where `|` represents the character offset.
4158− //
4159− // @since 3.17.0 - support for negotiated position encoding.
4160− //
4161− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#position
4162− Position struct {
4163− // Line position in a document (zero-based).
4164− //
4165− // If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document.
4166− // If a line number is negative, it defaults to 0.
4167− Line uint32 `json:"line"`
4168− // Character offset on a line in a document (zero-based).
4169− //
4170− // The meaning of this offset is determined by the negotiated
4171− // `PositionEncodingKind`.
4172− //
4173− // If the character value is greater than the line length it defaults back to the
4174− // line length.
4175− Character uint32 `json:"character"`
4176− }
4177−)
4178−
4179−// A set of predefined position encoding kinds.
4180−//
4181−// @since 3.17.0
4182−type PositionEncodingKind string
4183−
4184−// @since 3.18.0
4185−//
4186−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameDefaultBehavior
4187−type PrepareRenameDefaultBehavior struct {
4188− DefaultBehavior bool `json:"defaultBehavior"`
4189−}
4190−
4191−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameParams
4192−type PrepareRenameParams struct {
4193− TextDocumentPositionParams
4194− WorkDoneProgressParams
4195−}
4196−
4197−// @since 3.18.0
4198−//
4199−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenamePlaceholder
4200−type PrepareRenamePlaceholder struct {
4201− Range Range `json:"range"`
4202− Placeholder string `json:"placeholder"`
4203−}
4204−
4205−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameResult
4206−type (
4207− PrepareRenameResult = Or_PrepareRenameResult // (alias)
4208− PrepareSupportDefaultBehavior uint32
4209−)
4210−
4211−// A previous result id in a workspace pull request.
4212−//
4213−// @since 3.17.0
4214−//
4215−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#previousResultId
4216−type PreviousResultID struct {
4217− // The URI for which the client knowns a
4218− // result id.
4219− URI DocumentURI `json:"uri"`
4220− // The value of the previous result id.
4221− Value string `json:"value"`
4222−}
4223−
4224−// A previous result id in a workspace pull request.
4225−//
4226−// @since 3.17.0
4227−//
4228−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#previousResultId
4229−type PreviousResultId struct {
4230− // The URI for which the client knowns a
4231− // result id.
4232− URI DocumentURI `json:"uri"`
4233− // The value of the previous result id.
4234− Value string `json:"value"`
4235−}
4236−
4237−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progressParams
4238−type ProgressParams struct {
4239− // The progress token provided by the client or server.
4240− Token ProgressToken `json:"token"`
4241− // The progress data.
4242− Value interface{} `json:"value"`
4243−}
4244−
4245−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progressToken
4246−type (
4247− ProgressToken = Or_ProgressToken // (alias)
4248− // The publish diagnostic client capabilities.
4249− //
4250− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#publishDiagnosticsClientCapabilities
4251− PublishDiagnosticsClientCapabilities struct {
4252− // Whether the client interprets the version property of the
4253− // `textDocument/publishDiagnostics` notification's parameter.
4254− //
4255− // @since 3.15.0
4256− VersionSupport bool `json:"versionSupport,omitempty"`
4257− DiagnosticsCapabilities
4258− }
4259−)
4260−
4261−// The publish diagnostic notification's parameters.
4262−//
4263−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#publishDiagnosticsParams
4264−type PublishDiagnosticsParams struct {
4265− // The URI for which diagnostic information is reported.
4266− URI DocumentURI `json:"uri"`
4267− // Optional the version number of the document the diagnostics are published for.
4268− //
4269− // @since 3.15.0
4270− Version int32 `json:"version,omitempty"`
4271− // An array of diagnostic information items.
4272− Diagnostics []Diagnostic `json:"diagnostics"`
4273−}
4274−
4275−// A range in a text document expressed as (zero-based) start and end positions.
4276−//
4277−// If you want to specify a range that contains a line including the line ending
4278−// character(s) then use an end position denoting the start of the next line.
4279−// For example:
4280−// ```ts
4281−//
4282−// {
4283−// start: { line: 5, character: 23 }
4284−// end : { line 6, character : 0 }
4285−// }
4286−//
4287−// ```
4288−//
4289−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#range
4290−type Range struct {
4291− // The range's start position.
4292− Start Position `json:"start"`
4293− // The range's end position.
4294− End Position `json:"end"`
4295−}
4296−
4297−// Client Capabilities for a {@link ReferencesRequest}.
4298−//
4299−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceClientCapabilities
4300−type ReferenceClientCapabilities struct {
4301− // Whether references supports dynamic registration.
4302− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
4303−}
4304−
4305−// Value-object that contains additional information when
4306−// requesting references.
4307−//
4308−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceContext
4309−type ReferenceContext struct {
4310− // Include the declaration of the current symbol.
4311− IncludeDeclaration bool `json:"includeDeclaration"`
4312−}
4313−
4314−// Reference options.
4315−//
4316−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceOptions
4317−type ReferenceOptions struct {
4318− WorkDoneProgressOptions
4319−}
4320−
4321−// Parameters for a {@link ReferencesRequest}.
4322−//
4323−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceParams
4324−type ReferenceParams struct {
4325− Context ReferenceContext `json:"context"`
4326− TextDocumentPositionParams
4327− WorkDoneProgressParams
4328− PartialResultParams
4329−}
4330−
4331−// Registration options for a {@link ReferencesRequest}.
4332−//
4333−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceRegistrationOptions
4334−type ReferenceRegistrationOptions struct {
4335− TextDocumentRegistrationOptions
4336− ReferenceOptions
4337−}
4338−
4339−// General parameters to register for a notification or to register a provider.
4340−//
4341−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#registration
4342−type Registration struct {
4343− // The id used to register the request. The id can be used to deregister
4344− // the request again.
4345− ID string `json:"id"`
4346− // The method / capability to register for.
4347− Method string `json:"method"`
4348− // Options necessary for the registration.
4349− RegisterOptions interface{} `json:"registerOptions,omitempty"`
4350−}
4351−
4352−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#registrationParams
4353−type RegistrationParams struct {
4354− Registrations []Registration `json:"registrations"`
4355−}
4356−
4357−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#regularExpressionEngineKind
4358−type (
4359− RegularExpressionEngineKind = string // (alias)
4360− // Client capabilities specific to regular expressions.
4361− //
4362− // @since 3.16.0
4363− //
4364− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#regularExpressionsClientCapabilities
4365− RegularExpressionsClientCapabilities struct {
4366− // The engine's name.
4367− Engine RegularExpressionEngineKind `json:"engine"`
4368− // The engine's version.
4369− Version string `json:"version,omitempty"`
4370− }
4371−)
4372−
4373−// A full diagnostic report with a set of related documents.
4374−//
4375−// @since 3.17.0
4376−//
4377−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relatedFullDocumentDiagnosticReport
4378−type RelatedFullDocumentDiagnosticReport struct {
4379− // Diagnostics of related documents. This information is useful
4380− // in programming languages where code in a file A can generate
4381− // diagnostics in a file B which A depends on. An example of
4382− // such a language is C/C++ where marco definitions in a file
4383− // a.cpp and result in errors in a header file b.hpp.
4384− //
4385− // @since 3.17.0
4386− RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments,omitempty"`
4387− FullDocumentDiagnosticReport
4388−}
4389−
4390−// An unchanged diagnostic report with a set of related documents.
4391−//
4392−// @since 3.17.0
4393−//
4394−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relatedUnchangedDocumentDiagnosticReport
4395−type RelatedUnchangedDocumentDiagnosticReport struct {
4396− // Diagnostics of related documents. This information is useful
4397− // in programming languages where code in a file A can generate
4398− // diagnostics in a file B which A depends on. An example of
4399− // such a language is C/C++ where marco definitions in a file
4400− // a.cpp and result in errors in a header file b.hpp.
4401− //
4402− // @since 3.17.0
4403− RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments,omitempty"`
4404− UnchangedDocumentDiagnosticReport
4405−}
4406−
4407−// A relative pattern is a helper to construct glob patterns that are matched
4408−// relatively to a base URI. The common value for a `baseUri` is a workspace
4409−// folder root, but it can be another absolute URI as well.
4410−//
4411−// @since 3.17.0
4412−//
4413−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relativePattern
4414−type RelativePattern struct {
4415− // A workspace folder or a base URI to which this pattern will be matched
4416− // against relatively.
4417− BaseURI Or_RelativePattern_baseUri `json:"baseUri"`
4418− // The actual glob pattern;
4419− Pattern Pattern `json:"pattern"`
4420−}
4421−
4422−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameClientCapabilities
4423−type RenameClientCapabilities struct {
4424− // Whether rename supports dynamic registration.
4425− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
4426− // Client supports testing for validity of rename operations
4427− // before execution.
4428− //
4429− // @since 3.12.0
4430− PrepareSupport bool `json:"prepareSupport,omitempty"`
4431− // Client supports the default behavior result.
4432− //
4433− // The value indicates the default behavior used by the
4434− // client.
4435− //
4436− // @since 3.16.0
4437− PrepareSupportDefaultBehavior *PrepareSupportDefaultBehavior `json:"prepareSupportDefaultBehavior,omitempty"`
4438− // Whether the client honors the change annotations in
4439− // text edits and resource operations returned via the
4440− // rename request's workspace edit by for example presenting
4441− // the workspace edit in the user interface and asking
4442− // for confirmation.
4443− //
4444− // @since 3.16.0
4445− HonorsChangeAnnotations bool `json:"honorsChangeAnnotations,omitempty"`
4446−}
4447−
4448−// Rename file operation
4449−//
4450−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFile
4451−type RenameFile struct {
4452− // A rename
4453− Kind string `json:"kind"`
4454− // The old (existing) location.
4455− OldURI DocumentURI `json:"oldUri"`
4456− // The new location.
4457− NewURI DocumentURI `json:"newUri"`
4458− // Rename options.
4459− Options *RenameFileOptions `json:"options,omitempty"`
4460− ResourceOperation
4461−}
4462−
4463−// Rename file options
4464−//
4465−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFileOptions
4466−type RenameFileOptions struct {
4467− // Overwrite target if existing. Overwrite wins over `ignoreIfExists`
4468− Overwrite bool `json:"overwrite,omitempty"`
4469− // Ignores if target exists.
4470− IgnoreIfExists bool `json:"ignoreIfExists,omitempty"`
4471−}
4472−
4473−// The parameters sent in notifications/requests for user-initiated renames of
4474−// files.
4475−//
4476−// @since 3.16.0
4477−//
4478−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFilesParams
4479−type RenameFilesParams struct {
4480− // An array of all files/folders renamed in this operation. When a folder is renamed, only
4481− // the folder will be included, and not its children.
4482− Files []FileRename `json:"files"`
4483−}
4484−
4485−// Provider options for a {@link RenameRequest}.
4486−//
4487−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameOptions
4488−type RenameOptions struct {
4489− // Renames should be checked and tested before being executed.
4490− //
4491− // @since version 3.12.0
4492− PrepareProvider bool `json:"prepareProvider,omitempty"`
4493− WorkDoneProgressOptions
4494−}
4495−
4496−// The parameters of a {@link RenameRequest}.
4497−//
4498−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameParams
4499−type RenameParams struct {
4500− // The document to rename.
4501− TextDocument TextDocumentIdentifier `json:"textDocument"`
4502− // The position at which this request was sent.
4503− Position Position `json:"position"`
4504− // The new name of the symbol. If the given name is not valid the
4505− // request must return a {@link ResponseError} with an
4506− // appropriate message set.
4507− NewName string `json:"newName"`
4508− WorkDoneProgressParams
4509−}
4510−
4511−// Registration options for a {@link RenameRequest}.
4512−//
4513−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameRegistrationOptions
4514−type RenameRegistrationOptions struct {
4515− TextDocumentRegistrationOptions
4516− RenameOptions
4517−}
4518−
4519−// A generic resource operation.
4520−//
4521−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#resourceOperation
4522−type ResourceOperation struct {
4523− // The resource operation kind.
4524− Kind string `json:"kind"`
4525− // An optional annotation identifier describing the operation.
4526− //
4527− // @since 3.16.0
4528− AnnotationID *ChangeAnnotationIdentifier `json:"annotationId,omitempty"`
4529−}
4530−type ResourceOperationKind string
4531−
4532−// Save options.
4533−//
4534−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#saveOptions
4535−type SaveOptions struct {
4536− // The client is supposed to include the content on save.
4537− IncludeText bool `json:"includeText,omitempty"`
4538−}
4539−
4540−// Describes the currently selected completion item.
4541−//
4542−// @since 3.18.0
4543−// @proposed
4544−//
4545−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectedCompletionInfo
4546−type SelectedCompletionInfo struct {
4547− // The range that will be replaced if this completion item is accepted.
4548− Range Range `json:"range"`
4549− // The text the range will be replaced with if this completion is accepted.
4550− Text string `json:"text"`
4551−}
4552−
4553−// A selection range represents a part of a selection hierarchy. A selection range
4554−// may have a parent selection range that contains it.
4555−//
4556−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRange
4557−type SelectionRange struct {
4558− // The {@link Range range} of this selection range.
4559− Range Range `json:"range"`
4560− // The parent selection range containing this range. Therefore `parent.range` must contain `this.range`.
4561− Parent *SelectionRange `json:"parent,omitempty"`
4562−}
4563−
4564−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeClientCapabilities
4565−type SelectionRangeClientCapabilities struct {
4566− // Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
4567− // the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
4568− // capability as well.
4569− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
4570−}
4571−
4572−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeOptions
4573−type SelectionRangeOptions struct {
4574− WorkDoneProgressOptions
4575−}
4576−
4577−// A parameter literal used in selection range requests.
4578−//
4579−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeParams
4580−type SelectionRangeParams struct {
4581− // The text document.
4582− TextDocument TextDocumentIdentifier `json:"textDocument"`
4583− // The positions inside the text document.
4584− Positions []Position `json:"positions"`
4585− WorkDoneProgressParams
4586− PartialResultParams
4587−}
4588−
4589−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeRegistrationOptions
4590−type SelectionRangeRegistrationOptions struct {
4591− SelectionRangeOptions
4592− TextDocumentRegistrationOptions
4593− StaticRegistrationOptions
4594−}
4595−
4596−// A set of predefined token modifiers. This set is not fixed
4597−// an clients can specify additional token types via the
4598−// corresponding client capabilities.
4599−//
4600−// @since 3.16.0
4601−type SemanticTokenModifiers string
4602−
4603−// A set of predefined token types. This set is not fixed
4604−// an clients can specify additional token types via the
4605−// corresponding client capabilities.
4606−//
4607−// @since 3.16.0
4608−type SemanticTokenTypes string
4609−
4610−// @since 3.16.0
4611−//
4612−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokens
4613−type SemanticTokens struct {
4614− // An optional result id. If provided and clients support delta updating
4615− // the client will include the result id in the next semantic token request.
4616− // A server can then instead of computing all semantic tokens again simply
4617− // send a delta.
4618− ResultID string `json:"resultId,omitempty"`
4619− // The actual tokens.
4620− Data []uint32 `json:"data"`
4621−}
4622−
4623−// @since 3.16.0
4624−//
4625−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensClientCapabilities
4626−type SemanticTokensClientCapabilities struct {
4627− // Whether implementation supports dynamic registration. If this is set to `true`
4628− // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
4629− // return value for the corresponding server capability as well.
4630− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
4631− // Which requests the client supports and might send to the server
4632− // depending on the server's capability. Please note that clients might not
4633− // show semantic tokens or degrade some of the user experience if a range
4634− // or full request is advertised by the client but not provided by the
4635− // server. If for example the client capability `requests.full` and
4636− // `request.range` are both set to true but the server only provides a
4637− // range provider the client might not render a minimap correctly or might
4638− // even decide to not show any semantic tokens at all.
4639− Requests ClientSemanticTokensRequestOptions `json:"requests"`
4640− // The token types that the client supports.
4641− TokenTypes []string `json:"tokenTypes"`
4642− // The token modifiers that the client supports.
4643− TokenModifiers []string `json:"tokenModifiers"`
4644− // The token formats the clients supports.
4645− Formats []TokenFormat `json:"formats"`
4646− // Whether the client supports tokens that can overlap each other.
4647− OverlappingTokenSupport bool `json:"overlappingTokenSupport,omitempty"`
4648− // Whether the client supports tokens that can span multiple lines.
4649− MultilineTokenSupport bool `json:"multilineTokenSupport,omitempty"`
4650− // Whether the client allows the server to actively cancel a
4651− // semantic token request, e.g. supports returning
4652− // LSPErrorCodes.ServerCancelled. If a server does the client
4653− // needs to retrigger the request.
4654− //
4655− // @since 3.17.0
4656− ServerCancelSupport bool `json:"serverCancelSupport,omitempty"`
4657− // Whether the client uses semantic tokens to augment existing
4658− // syntax tokens. If set to `true` client side created syntax
4659− // tokens and semantic tokens are both used for colorization. If
4660− // set to `false` the client only uses the returned semantic tokens
4661− // for colorization.
4662− //
4663− // If the value is `undefined` then the client behavior is not
4664− // specified.
4665− //
4666− // @since 3.17.0
4667− AugmentsSyntaxTokens bool `json:"augmentsSyntaxTokens,omitempty"`
4668−}
4669−
4670−// @since 3.16.0
4671−//
4672−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDelta
4673−type SemanticTokensDelta struct {
4674− ResultID string `json:"resultId,omitempty"`
4675− // The semantic token edits to transform a previous result into a new result.
4676− Edits []SemanticTokensEdit `json:"edits"`
4677−}
4678−
4679−// @since 3.16.0
4680−//
4681−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDeltaParams
4682−type SemanticTokensDeltaParams struct {
4683− // The text document.
4684− TextDocument TextDocumentIdentifier `json:"textDocument"`
4685− // The result id of a previous response. The result Id can either point to a full response
4686− // or a delta response depending on what was received last.
4687− PreviousResultID string `json:"previousResultId"`
4688− WorkDoneProgressParams
4689− PartialResultParams
4690−}
4691−
4692−// @since 3.16.0
4693−//
4694−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDeltaPartialResult
4695−type SemanticTokensDeltaPartialResult struct {
4696− Edits []SemanticTokensEdit `json:"edits"`
4697−}
4698−
4699−// @since 3.16.0
4700−//
4701−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensEdit
4702−type SemanticTokensEdit struct {
4703− // The start offset of the edit.
4704− Start uint32 `json:"start"`
4705− // The count of elements to remove.
4706− DeleteCount uint32 `json:"deleteCount"`
4707− // The elements to insert.
4708− Data []uint32 `json:"data,omitempty"`
4709−}
4710−
4711−// Semantic tokens options to support deltas for full documents
4712−//
4713−// @since 3.18.0
4714−//
4715−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensFullDelta
4716−type SemanticTokensFullDelta struct {
4717− // The server supports deltas for full documents.
4718− Delta bool `json:"delta,omitempty"`
4719−}
4720−
4721−// @since 3.16.0
4722−//
4723−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensLegend
4724−type SemanticTokensLegend struct {
4725− // The token types a server uses.
4726− TokenTypes []string `json:"tokenTypes"`
4727− // The token modifiers a server uses.
4728− TokenModifiers []string `json:"tokenModifiers"`
4729−}
4730−
4731−// @since 3.16.0
4732−//
4733−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensOptions
4734−type SemanticTokensOptions struct {
4735− // The legend used by the server
4736− Legend SemanticTokensLegend `json:"legend"`
4737− // Server supports providing semantic tokens for a specific range
4738− // of a document.
4739− Range *Or_SemanticTokensOptions_range `json:"range,omitempty"`
4740− // Server supports providing semantic tokens for a full document.
4741− Full *Or_SemanticTokensOptions_full `json:"full,omitempty"`
4742− WorkDoneProgressOptions
4743−}
4744−
4745−// @since 3.16.0
4746−//
4747−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensParams
4748−type SemanticTokensParams struct {
4749− // The text document.
4750− TextDocument TextDocumentIdentifier `json:"textDocument"`
4751− WorkDoneProgressParams
4752− PartialResultParams
4753−}
4754−
4755−// @since 3.16.0
4756−//
4757−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensPartialResult
4758−type SemanticTokensPartialResult struct {
4759− Data []uint32 `json:"data"`
4760−}
4761−
4762−// @since 3.16.0
4763−//
4764−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensRangeParams
4765−type SemanticTokensRangeParams struct {
4766− // The text document.
4767− TextDocument TextDocumentIdentifier `json:"textDocument"`
4768− // The range the semantic tokens are requested for.
4769− Range Range `json:"range"`
4770− WorkDoneProgressParams
4771− PartialResultParams
4772−}
4773−
4774−// @since 3.16.0
4775−//
4776−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensRegistrationOptions
4777−type SemanticTokensRegistrationOptions struct {
4778− TextDocumentRegistrationOptions
4779− SemanticTokensOptions
4780− StaticRegistrationOptions
4781−}
4782−
4783−// @since 3.16.0
4784−//
4785−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensWorkspaceClientCapabilities
4786−type SemanticTokensWorkspaceClientCapabilities struct {
4787− // Whether the client implementation supports a refresh request sent from
4788− // the server to the client.
4789− //
4790− // Note that this event is global and will force the client to refresh all
4791− // semantic tokens currently shown. It should be used with absolute care
4792− // and is useful for situation where a server for example detects a project
4793− // wide change that requires such a calculation.
4794− RefreshSupport bool `json:"refreshSupport,omitempty"`
4795−}
4796−
4797−// Defines the capabilities provided by a language
4798−// server.
4799−//
4800−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverCapabilities
4801−type ServerCapabilities struct {
4802− // The position encoding the server picked from the encodings offered
4803− // by the client via the client capability `general.positionEncodings`.
4804− //
4805− // If the client didn't provide any position encodings the only valid
4806− // value that a server can return is 'utf-16'.
4807− //
4808− // If omitted it defaults to 'utf-16'.
4809− //
4810− // @since 3.17.0
4811− PositionEncoding *PositionEncodingKind `json:"positionEncoding,omitempty"`
4812− // Defines how text documents are synced. Is either a detailed structure
4813− // defining each notification or for backwards compatibility the
4814− // TextDocumentSyncKind number.
4815− TextDocumentSync interface{} `json:"textDocumentSync,omitempty"`
4816− // Defines how notebook documents are synced.
4817− //
4818− // @since 3.17.0
4819− NotebookDocumentSync *Or_ServerCapabilities_notebookDocumentSync `json:"notebookDocumentSync,omitempty"`
4820− // The server provides completion support.
4821− CompletionProvider *CompletionOptions `json:"completionProvider,omitempty"`
4822− // The server provides hover support.
4823− HoverProvider *Or_ServerCapabilities_hoverProvider `json:"hoverProvider,omitempty"`
4824− // The server provides signature help support.
4825− SignatureHelpProvider *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
4826− // The server provides Goto Declaration support.
4827− DeclarationProvider *Or_ServerCapabilities_declarationProvider `json:"declarationProvider,omitempty"`
4828− // The server provides goto definition support.
4829− DefinitionProvider *Or_ServerCapabilities_definitionProvider `json:"definitionProvider,omitempty"`
4830− // The server provides Goto Type Definition support.
4831− TypeDefinitionProvider *Or_ServerCapabilities_typeDefinitionProvider `json:"typeDefinitionProvider,omitempty"`
4832− // The server provides Goto Implementation support.
4833− ImplementationProvider *Or_ServerCapabilities_implementationProvider `json:"implementationProvider,omitempty"`
4834− // The server provides find references support.
4835− ReferencesProvider *Or_ServerCapabilities_referencesProvider `json:"referencesProvider,omitempty"`
4836− // The server provides document highlight support.
4837− DocumentHighlightProvider *Or_ServerCapabilities_documentHighlightProvider `json:"documentHighlightProvider,omitempty"`
4838− // The server provides document symbol support.
4839− DocumentSymbolProvider *Or_ServerCapabilities_documentSymbolProvider `json:"documentSymbolProvider,omitempty"`
4840− // The server provides code actions. CodeActionOptions may only be
4841− // specified if the client states that it supports
4842− // `codeActionLiteralSupport` in its initial `initialize` request.
4843− CodeActionProvider interface{} `json:"codeActionProvider,omitempty"`
4844− // The server provides code lens.
4845− CodeLensProvider *CodeLensOptions `json:"codeLensProvider,omitempty"`
4846− // The server provides document link support.
4847− DocumentLinkProvider *DocumentLinkOptions `json:"documentLinkProvider,omitempty"`
4848− // The server provides color provider support.
4849− ColorProvider *Or_ServerCapabilities_colorProvider `json:"colorProvider,omitempty"`
4850− // The server provides workspace symbol support.
4851− WorkspaceSymbolProvider *Or_ServerCapabilities_workspaceSymbolProvider `json:"workspaceSymbolProvider,omitempty"`
4852− // The server provides document formatting.
4853− DocumentFormattingProvider *Or_ServerCapabilities_documentFormattingProvider `json:"documentFormattingProvider,omitempty"`
4854− // The server provides document range formatting.
4855− DocumentRangeFormattingProvider *Or_ServerCapabilities_documentRangeFormattingProvider `json:"documentRangeFormattingProvider,omitempty"`
4856− // The server provides document formatting on typing.
4857− DocumentOnTypeFormattingProvider *DocumentOnTypeFormattingOptions `json:"documentOnTypeFormattingProvider,omitempty"`
4858− // The server provides rename support. RenameOptions may only be
4859− // specified if the client states that it supports
4860− // `prepareSupport` in its initial `initialize` request.
4861− RenameProvider interface{} `json:"renameProvider,omitempty"`
4862− // The server provides folding provider support.
4863− FoldingRangeProvider *Or_ServerCapabilities_foldingRangeProvider `json:"foldingRangeProvider,omitempty"`
4864− // The server provides selection range support.
4865− SelectionRangeProvider *Or_ServerCapabilities_selectionRangeProvider `json:"selectionRangeProvider,omitempty"`
4866− // The server provides execute command support.
4867− ExecuteCommandProvider *ExecuteCommandOptions `json:"executeCommandProvider,omitempty"`
4868− // The server provides call hierarchy support.
4869− //
4870− // @since 3.16.0
4871− CallHierarchyProvider *Or_ServerCapabilities_callHierarchyProvider `json:"callHierarchyProvider,omitempty"`
4872− // The server provides linked editing range support.
4873− //
4874− // @since 3.16.0
4875− LinkedEditingRangeProvider *Or_ServerCapabilities_linkedEditingRangeProvider `json:"linkedEditingRangeProvider,omitempty"`
4876− // The server provides semantic tokens support.
4877− //
4878− // @since 3.16.0
4879− SemanticTokensProvider interface{} `json:"semanticTokensProvider,omitempty"`
4880− // The server provides moniker support.
4881− //
4882− // @since 3.16.0
4883− MonikerProvider *Or_ServerCapabilities_monikerProvider `json:"monikerProvider,omitempty"`
4884− // The server provides type hierarchy support.
4885− //
4886− // @since 3.17.0
4887− TypeHierarchyProvider *Or_ServerCapabilities_typeHierarchyProvider `json:"typeHierarchyProvider,omitempty"`
4888− // The server provides inline values.
4889− //
4890− // @since 3.17.0
4891− InlineValueProvider *Or_ServerCapabilities_inlineValueProvider `json:"inlineValueProvider,omitempty"`
4892− // The server provides inlay hints.
4893− //
4894− // @since 3.17.0
4895− InlayHintProvider interface{} `json:"inlayHintProvider,omitempty"`
4896− // The server has support for pull model diagnostics.
4897− //
4898− // @since 3.17.0
4899− DiagnosticProvider *Or_ServerCapabilities_diagnosticProvider `json:"diagnosticProvider,omitempty"`
4900− // Inline completion options used during static registration.
4901− //
4902− // @since 3.18.0
4903− // @proposed
4904− InlineCompletionProvider *Or_ServerCapabilities_inlineCompletionProvider `json:"inlineCompletionProvider,omitempty"`
4905− // Workspace specific server capabilities.
4906− Workspace *WorkspaceOptions `json:"workspace,omitempty"`
4907− // Experimental server capabilities.
4908− Experimental interface{} `json:"experimental,omitempty"`
4909−}
4910−
4911−// @since 3.18.0
4912−//
4913−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverCompletionItemOptions
4914−type ServerCompletionItemOptions struct {
4915− // The server has support for completion item label
4916− // details (see also `CompletionItemLabelDetails`) when
4917− // receiving a completion item in a resolve call.
4918− //
4919− // @since 3.17.0
4920− LabelDetailsSupport bool `json:"labelDetailsSupport,omitempty"`
4921−}
4922−
4923−// Information about the server
4924−//
4925−// @since 3.15.0
4926−// @since 3.18.0 ServerInfo type name added.
4927−//
4928−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverInfo
4929−type ServerInfo struct {
4930− // The name of the server as defined by the server.
4931− Name string `json:"name"`
4932− // The server's version as defined by the server.
4933− Version string `json:"version,omitempty"`
4934−}
4935−
4936−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#setTraceParams
4937−type SetTraceParams struct {
4938− Value TraceValue `json:"value"`
4939−}
4940−
4941−// Client capabilities for the showDocument request.
4942−//
4943−// @since 3.16.0
4944−//
4945−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentClientCapabilities
4946−type ShowDocumentClientCapabilities struct {
4947− // The client has support for the showDocument
4948− // request.
4949− Support bool `json:"support"`
4950−}
4951−
4952−// Params to show a resource in the UI.
4953−//
4954−// @since 3.16.0
4955−//
4956−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentParams
4957−type ShowDocumentParams struct {
4958− // The uri to show.
4959− URI URI `json:"uri"`
4960− // Indicates to show the resource in an external program.
4961− // To show, for example, `https://code.visualstudio.com/`
4962− // in the default WEB browser set `external` to `true`.
4963− External bool `json:"external,omitempty"`
4964− // An optional property to indicate whether the editor
4965− // showing the document should take focus or not.
4966− // Clients might ignore this property if an external
4967− // program is started.
4968− TakeFocus bool `json:"takeFocus,omitempty"`
4969− // An optional selection range if the document is a text
4970− // document. Clients might ignore the property if an
4971− // external program is started or the file is not a text
4972− // file.
4973− Selection *Range `json:"selection,omitempty"`
4974−}
4975−
4976−// The result of a showDocument request.
4977−//
4978−// @since 3.16.0
4979−//
4980−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentResult
4981−type ShowDocumentResult struct {
4982− // A boolean indicating if the show was successful.
4983− Success bool `json:"success"`
4984−}
4985−
4986−// The parameters of a notification message.
4987−//
4988−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageParams
4989−type ShowMessageParams struct {
4990− // The message type. See {@link MessageType}
4991− Type MessageType `json:"type"`
4992− // The actual message.
4993− Message string `json:"message"`
4994−}
4995−
4996−// Show message request client capabilities
4997−//
4998−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageRequestClientCapabilities
4999−type ShowMessageRequestClientCapabilities struct {
5000− // Capabilities specific to the `MessageActionItem` type.
5001− MessageActionItem *ClientShowMessageActionItemOptions `json:"messageActionItem,omitempty"`
5002−}
5003−
5004−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageRequestParams
5005−type ShowMessageRequestParams struct {
5006− // The message type. See {@link MessageType}
5007− Type MessageType `json:"type"`
5008− // The actual message.
5009− Message string `json:"message"`
5010− // The message action items to present.
5011− Actions []MessageActionItem `json:"actions,omitempty"`
5012−}
5013−
5014−// Signature help represents the signature of something
5015−// callable. There can be multiple signature but only one
5016−// active and only one active parameter.
5017−//
5018−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelp
5019−type SignatureHelp struct {
5020− // One or more signatures.
5021− Signatures []SignatureInformation `json:"signatures"`
5022− // The active signature. If omitted or the value lies outside the
5023− // range of `signatures` the value defaults to zero or is ignored if
5024− // the `SignatureHelp` has no signatures.
5025− //
5026− // Whenever possible implementors should make an active decision about
5027− // the active signature and shouldn't rely on a default value.
5028− //
5029− // In future version of the protocol this property might become
5030− // mandatory to better express this.
5031− ActiveSignature uint32 `json:"activeSignature,omitempty"`
5032− // The active parameter of the active signature.
5033− //
5034− // If `null`, no parameter of the signature is active (for example a named
5035− // argument that does not match any declared parameters). This is only valid
5036− // if the client specifies the client capability
5037− // `textDocument.signatureHelp.noActiveParameterSupport === true`
5038− //
5039− // If omitted or the value lies outside the range of
5040− // `signatures[activeSignature].parameters` defaults to 0 if the active
5041− // signature has parameters.
5042− //
5043− // If the active signature has no parameters it is ignored.
5044− //
5045− // In future version of the protocol this property might become
5046− // mandatory (but still nullable) to better express the active parameter if
5047− // the active signature does have any.
5048− ActiveParameter uint32 `json:"activeParameter,omitempty"`
5049−}
5050−
5051−// Client Capabilities for a {@link SignatureHelpRequest}.
5052−//
5053−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpClientCapabilities
5054−type SignatureHelpClientCapabilities struct {
5055− // Whether signature help supports dynamic registration.
5056− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
5057− // The client supports the following `SignatureInformation`
5058− // specific properties.
5059− SignatureInformation *ClientSignatureInformationOptions `json:"signatureInformation,omitempty"`
5060− // The client supports to send additional context information for a
5061− // `textDocument/signatureHelp` request. A client that opts into
5062− // contextSupport will also support the `retriggerCharacters` on
5063− // `SignatureHelpOptions`.
5064− //
5065− // @since 3.15.0
5066− ContextSupport bool `json:"contextSupport,omitempty"`
5067−}
5068−
5069−// Additional information about the context in which a signature help request was triggered.
5070−//
5071−// @since 3.15.0
5072−//
5073−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpContext
5074−type SignatureHelpContext struct {
5075− // Action that caused signature help to be triggered.
5076− TriggerKind SignatureHelpTriggerKind `json:"triggerKind"`
5077− // Character that caused signature help to be triggered.
5078− //
5079− // This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
5080− TriggerCharacter string `json:"triggerCharacter,omitempty"`
5081− // `true` if signature help was already showing when it was triggered.
5082− //
5083− // Retriggers occurs when the signature help is already active and can be caused by actions such as
5084− // typing a trigger character, a cursor move, or document content changes.
5085− IsRetrigger bool `json:"isRetrigger"`
5086− // The currently active `SignatureHelp`.
5087− //
5088− // The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
5089− // the user navigating through available signatures.
5090− ActiveSignatureHelp *SignatureHelp `json:"activeSignatureHelp,omitempty"`
5091−}
5092−
5093−// Server Capabilities for a {@link SignatureHelpRequest}.
5094−//
5095−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpOptions
5096−type SignatureHelpOptions struct {
5097− // List of characters that trigger signature help automatically.
5098− TriggerCharacters []string `json:"triggerCharacters,omitempty"`
5099− // List of characters that re-trigger signature help.
5100− //
5101− // These trigger characters are only active when signature help is already showing. All trigger characters
5102− // are also counted as re-trigger characters.
5103− //
5104− // @since 3.15.0
5105− RetriggerCharacters []string `json:"retriggerCharacters,omitempty"`
5106− WorkDoneProgressOptions
5107−}
5108−
5109−// Parameters for a {@link SignatureHelpRequest}.
5110−//
5111−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpParams
5112−type SignatureHelpParams struct {
5113− // The signature help context. This is only available if the client specifies
5114− // to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
5115− //
5116− // @since 3.15.0
5117− Context *SignatureHelpContext `json:"context,omitempty"`
5118− TextDocumentPositionParams
5119− WorkDoneProgressParams
5120−}
5121−
5122−// Registration options for a {@link SignatureHelpRequest}.
5123−//
5124−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpRegistrationOptions
5125−type SignatureHelpRegistrationOptions struct {
5126− TextDocumentRegistrationOptions
5127− SignatureHelpOptions
5128−}
5129−
5130−// How a signature help was triggered.
5131−//
5132−// @since 3.15.0
5133−type SignatureHelpTriggerKind uint32
5134−
5135−// Represents the signature of something callable. A signature
5136−// can have a label, like a function-name, a doc-comment, and
5137−// a set of parameters.
5138−//
5139−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureInformation
5140−type SignatureInformation struct {
5141− // The label of this signature. Will be shown in
5142− // the UI.
5143− Label string `json:"label"`
5144− // The human-readable doc-comment of this signature. Will be shown
5145− // in the UI but can be omitted.
5146− Documentation *Or_SignatureInformation_documentation `json:"documentation,omitempty"`
5147− // The parameters of this signature.
5148− Parameters []ParameterInformation `json:"parameters,omitempty"`
5149− // The index of the active parameter.
5150− //
5151− // If `null`, no parameter of the signature is active (for example a named
5152− // argument that does not match any declared parameters). This is only valid
5153− // if the client specifies the client capability
5154− // `textDocument.signatureHelp.noActiveParameterSupport === true`
5155− //
5156− // If provided (or `null`), this is used in place of
5157− // `SignatureHelp.activeParameter`.
5158− //
5159− // @since 3.16.0
5160− ActiveParameter uint32 `json:"activeParameter,omitempty"`
5161−}
5162−
5163−// An interactive text edit.
5164−//
5165−// @since 3.18.0
5166−// @proposed
5167−//
5168−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#snippetTextEdit
5169−type SnippetTextEdit struct {
5170− // The range of the text document to be manipulated.
5171− Range Range `json:"range"`
5172− // The snippet to be inserted.
5173− Snippet StringValue `json:"snippet"`
5174− // The actual identifier of the snippet edit.
5175− AnnotationID *ChangeAnnotationIdentifier `json:"annotationId,omitempty"`
5176−}
5177−
5178−// @since 3.18.0
5179−//
5180−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#staleRequestSupportOptions
5181−type StaleRequestSupportOptions struct {
5182− // The client will actively cancel the request.
5183− Cancel bool `json:"cancel"`
5184− // The list of requests for which the client
5185− // will retry the request if it receives a
5186− // response with error code `ContentModified`
5187− RetryOnContentModified []string `json:"retryOnContentModified"`
5188−}
5189−
5190−// Static registration options to be returned in the initialize
5191−// request.
5192−//
5193−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#staticRegistrationOptions
5194−type StaticRegistrationOptions struct {
5195− // The id used to register the request. The id can be used to deregister
5196− // the request again. See also Registration#id.
5197− ID string `json:"id,omitempty"`
5198−}
5199−
5200−// A string value used as a snippet is a template which allows to insert text
5201−// and to control the editor cursor when insertion happens.
5202−//
5203−// A snippet can define tab stops and placeholders with `$1`, `$2`
5204−// and `${3:foo}`. `$0` defines the final tab stop, it defaults to
5205−// the end of the snippet. Variables are defined with `$name` and
5206−// `${name:default value}`.
5207−//
5208−// @since 3.18.0
5209−// @proposed
5210−//
5211−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#stringValue
5212−type StringValue struct {
5213− // The kind of string value.
5214− Kind string `json:"kind"`
5215− // The snippet string.
5216− Value string `json:"value"`
5217−}
5218−
5219−// Represents information about programming constructs like variables, classes,
5220−// interfaces etc.
5221−//
5222−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#symbolInformation
5223−type SymbolInformation struct {
5224− // extends BaseSymbolInformation
5225− // Indicates if this symbol is deprecated.
5226− //
5227− // @deprecated Use tags instead
5228− Deprecated bool `json:"deprecated,omitempty"`
5229− // The location of this symbol. The location's range is used by a tool
5230− // to reveal the location in the editor. If the symbol is selected in the
5231− // tool the range's start information is used to position the cursor. So
5232− // the range usually spans more than the actual symbol's name and does
5233− // normally include things like visibility modifiers.
5234− //
5235− // The range doesn't have to denote a node range in the sense of an abstract
5236− // syntax tree. It can therefore not be used to re-construct a hierarchy of
5237− // the symbols.
5238− Location Location `json:"location"`
5239− // The name of this symbol.
5240− Name string `json:"name"`
5241− // The kind of this symbol.
5242− Kind SymbolKind `json:"kind"`
5243− // Tags for this symbol.
5244− //
5245− // @since 3.16.0
5246− Tags []SymbolTag `json:"tags,omitempty"`
5247− // The name of the symbol containing this symbol. This information is for
5248− // user interface purposes (e.g. to render a qualifier in the user interface
5249− // if necessary). It can't be used to re-infer a hierarchy for the document
5250− // symbols.
5251− ContainerName string `json:"containerName,omitempty"`
5252−}
5253−
5254−// A symbol kind.
5255−type SymbolKind uint32
5256−
5257−// Symbol tags are extra annotations that tweak the rendering of a symbol.
5258−//
5259−// @since 3.16
5260−type SymbolTag uint32
5261−
5262−// Describe options to be used when registered for text document change events.
5263−//
5264−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentChangeRegistrationOptions
5265−type TextDocumentChangeRegistrationOptions struct {
5266− // How documents are synced to the server.
5267− SyncKind TextDocumentSyncKind `json:"syncKind"`
5268− TextDocumentRegistrationOptions
5269−}
5270−
5271−// Text document specific client capabilities.
5272−//
5273−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentClientCapabilities
5274−type TextDocumentClientCapabilities struct {
5275− // Defines which synchronization capabilities the client supports.
5276− Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"`
5277− // Capabilities specific to the `textDocument/completion` request.
5278− Completion CompletionClientCapabilities `json:"completion,omitempty"`
5279− // Capabilities specific to the `textDocument/hover` request.
5280− Hover *HoverClientCapabilities `json:"hover,omitempty"`
5281− // Capabilities specific to the `textDocument/signatureHelp` request.
5282− SignatureHelp *SignatureHelpClientCapabilities `json:"signatureHelp,omitempty"`
5283− // Capabilities specific to the `textDocument/declaration` request.
5284− //
5285− // @since 3.14.0
5286− Declaration *DeclarationClientCapabilities `json:"declaration,omitempty"`
5287− // Capabilities specific to the `textDocument/definition` request.
5288− Definition *DefinitionClientCapabilities `json:"definition,omitempty"`
5289− // Capabilities specific to the `textDocument/typeDefinition` request.
5290− //
5291− // @since 3.6.0
5292− TypeDefinition *TypeDefinitionClientCapabilities `json:"typeDefinition,omitempty"`
5293− // Capabilities specific to the `textDocument/implementation` request.
5294− //
5295− // @since 3.6.0
5296− Implementation *ImplementationClientCapabilities `json:"implementation,omitempty"`
5297− // Capabilities specific to the `textDocument/references` request.
5298− References *ReferenceClientCapabilities `json:"references,omitempty"`
5299− // Capabilities specific to the `textDocument/documentHighlight` request.
5300− DocumentHighlight *DocumentHighlightClientCapabilities `json:"documentHighlight,omitempty"`
5301− // Capabilities specific to the `textDocument/documentSymbol` request.
5302− DocumentSymbol DocumentSymbolClientCapabilities `json:"documentSymbol,omitempty"`
5303− // Capabilities specific to the `textDocument/codeAction` request.
5304− CodeAction CodeActionClientCapabilities `json:"codeAction,omitempty"`
5305− // Capabilities specific to the `textDocument/codeLens` request.
5306− CodeLens *CodeLensClientCapabilities `json:"codeLens,omitempty"`
5307− // Capabilities specific to the `textDocument/documentLink` request.
5308− DocumentLink *DocumentLinkClientCapabilities `json:"documentLink,omitempty"`
5309− // Capabilities specific to the `textDocument/documentColor` and the
5310− // `textDocument/colorPresentation` request.
5311− //
5312− // @since 3.6.0
5313− ColorProvider *DocumentColorClientCapabilities `json:"colorProvider,omitempty"`
5314− // Capabilities specific to the `textDocument/formatting` request.
5315− Formatting *DocumentFormattingClientCapabilities `json:"formatting,omitempty"`
5316− // Capabilities specific to the `textDocument/rangeFormatting` request.
5317− RangeFormatting *DocumentRangeFormattingClientCapabilities `json:"rangeFormatting,omitempty"`
5318− // Capabilities specific to the `textDocument/onTypeFormatting` request.
5319− OnTypeFormatting *DocumentOnTypeFormattingClientCapabilities `json:"onTypeFormatting,omitempty"`
5320− // Capabilities specific to the `textDocument/rename` request.
5321− Rename *RenameClientCapabilities `json:"rename,omitempty"`
5322− // Capabilities specific to the `textDocument/foldingRange` request.
5323− //
5324− // @since 3.10.0
5325− FoldingRange *FoldingRangeClientCapabilities `json:"foldingRange,omitempty"`
5326− // Capabilities specific to the `textDocument/selectionRange` request.
5327− //
5328− // @since 3.15.0
5329− SelectionRange *SelectionRangeClientCapabilities `json:"selectionRange,omitempty"`
5330− // Capabilities specific to the `textDocument/publishDiagnostics` notification.
5331− PublishDiagnostics PublishDiagnosticsClientCapabilities `json:"publishDiagnostics,omitempty"`
5332− // Capabilities specific to the various call hierarchy requests.
5333− //
5334− // @since 3.16.0
5335− CallHierarchy *CallHierarchyClientCapabilities `json:"callHierarchy,omitempty"`
5336− // Capabilities specific to the various semantic token request.
5337− //
5338− // @since 3.16.0
5339− SemanticTokens SemanticTokensClientCapabilities `json:"semanticTokens,omitempty"`
5340− // Capabilities specific to the `textDocument/linkedEditingRange` request.
5341− //
5342− // @since 3.16.0
5343− LinkedEditingRange *LinkedEditingRangeClientCapabilities `json:"linkedEditingRange,omitempty"`
5344− // Client capabilities specific to the `textDocument/moniker` request.
5345− //
5346− // @since 3.16.0
5347− Moniker *MonikerClientCapabilities `json:"moniker,omitempty"`
5348− // Capabilities specific to the various type hierarchy requests.
5349− //
5350− // @since 3.17.0
5351− TypeHierarchy *TypeHierarchyClientCapabilities `json:"typeHierarchy,omitempty"`
5352− // Capabilities specific to the `textDocument/inlineValue` request.
5353− //
5354− // @since 3.17.0
5355− InlineValue *InlineValueClientCapabilities `json:"inlineValue,omitempty"`
5356− // Capabilities specific to the `textDocument/inlayHint` request.
5357− //
5358− // @since 3.17.0
5359− InlayHint *InlayHintClientCapabilities `json:"inlayHint,omitempty"`
5360− // Capabilities specific to the diagnostic pull model.
5361− //
5362− // @since 3.17.0
5363− Diagnostic *DiagnosticClientCapabilities `json:"diagnostic,omitempty"`
5364− // Client capabilities specific to inline completions.
5365− //
5366− // @since 3.18.0
5367− // @proposed
5368− InlineCompletion *InlineCompletionClientCapabilities `json:"inlineCompletion,omitempty"`
5369−}
5370−
5371−// An event describing a change to a text document. If only a text is provided
5372−// it is considered to be the full content of the document.
5373−//
5374−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangeEvent
5375−type (
5376− TextDocumentContentChangeEvent = Or_TextDocumentContentChangeEvent // (alias)
5377− // @since 3.18.0
5378− //
5379− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangePartial
5380− TextDocumentContentChangePartial struct {
5381− // The range of the document that changed.
5382− Range *Range `json:"range,omitempty"`
5383− // The optional length of the range that got replaced.
5384− //
5385− // @deprecated use range instead.
5386− RangeLength uint32 `json:"rangeLength,omitempty"`
5387− // The new text for the provided range.
5388− Text string `json:"text"`
5389− }
5390−)
5391−
5392−// @since 3.18.0
5393−//
5394−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangeWholeDocument
5395−type TextDocumentContentChangeWholeDocument struct {
5396− // The new text of the whole document.
5397− Text string `json:"text"`
5398−}
5399−
5400−// Client capabilities for a text document content provider.
5401−//
5402−// @since 3.18.0
5403−// @proposed
5404−//
5405−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentClientCapabilities
5406−type TextDocumentContentClientCapabilities struct {
5407− // Text document content provider supports dynamic registration.
5408− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
5409−}
5410−
5411−// Text document content provider options.
5412−//
5413−// @since 3.18.0
5414−// @proposed
5415−//
5416−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentOptions
5417−type TextDocumentContentOptions struct {
5418− // The scheme for which the server provides content.
5419− Scheme string `json:"scheme"`
5420−}
5421−
5422−// Parameters for the `workspace/textDocumentContent` request.
5423−//
5424−// @since 3.18.0
5425−// @proposed
5426−//
5427−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentParams
5428−type TextDocumentContentParams struct {
5429− // The uri of the text document.
5430− URI DocumentURI `json:"uri"`
5431−}
5432−
5433−// Parameters for the `workspace/textDocumentContent/refresh` request.
5434−//
5435−// @since 3.18.0
5436−// @proposed
5437−//
5438−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentRefreshParams
5439−type TextDocumentContentRefreshParams struct {
5440− // The uri of the text document to refresh.
5441− URI DocumentURI `json:"uri"`
5442−}
5443−
5444−// Text document content provider registration options.
5445−//
5446−// @since 3.18.0
5447−// @proposed
5448−//
5449−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentRegistrationOptions
5450−type TextDocumentContentRegistrationOptions struct {
5451− TextDocumentContentOptions
5452− StaticRegistrationOptions
5453−}
5454−
5455−// Describes textual changes on a text document. A TextDocumentEdit describes all changes
5456−// on a document version Si and after they are applied move the document to version Si+1.
5457−// So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any
5458−// kind of ordering. However the edits must be non overlapping.
5459−//
5460−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentEdit
5461−type TextDocumentEdit struct {
5462− // The text document to change.
5463− TextDocument OptionalVersionedTextDocumentIdentifier `json:"textDocument"`
5464− // The edits to be applied.
5465− //
5466− // @since 3.16.0 - support for AnnotatedTextEdit. This is guarded using a
5467− // client capability.
5468− //
5469− // @since 3.18.0 - support for SnippetTextEdit. This is guarded using a
5470− // client capability.
5471− Edits []Or_TextDocumentEdit_edits_Elem `json:"edits"`
5472−}
5473−
5474−// A document filter denotes a document by different properties like
5475−// the {@link TextDocument.languageId language}, the {@link Uri.scheme scheme} of
5476−// its resource, or a glob-pattern that is applied to the {@link TextDocument.fileName path}.
5477−//
5478−// Glob patterns can have the following syntax:
5479−//
5480−// - `*` to match one or more characters in a path segment
5481−// - `?` to match on one character in a path segment
5482−// - `**` to match any number of path segments, including none
5483−// - `{}` to group sub patterns into an OR expression. (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
5484−// - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
5485−// - `[!...]` 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`)
5486−//
5487−// @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
5488−// @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
5489−//
5490−// @since 3.17.0
5491−//
5492−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilter
5493−type (
5494− TextDocumentFilter = Or_TextDocumentFilter // (alias)
5495− // A document filter where `language` is required field.
5496− //
5497− // @since 3.18.0
5498− //
5499− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterLanguage
5500− TextDocumentFilterLanguage struct {
5501− // A language id, like `typescript`.
5502− Language string `json:"language"`
5503− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
5504− Scheme string `json:"scheme,omitempty"`
5505− // A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples.
5506− //
5507− // @since 3.18.0 - support for relative patterns.
5508− Pattern *GlobPattern `json:"pattern,omitempty"`
5509− }
5510−)
5511−
5512−// A document filter where `pattern` is required field.
5513−//
5514−// @since 3.18.0
5515−//
5516−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterPattern
5517−type TextDocumentFilterPattern struct {
5518− // A language id, like `typescript`.
5519− Language string `json:"language,omitempty"`
5520− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
5521− Scheme string `json:"scheme,omitempty"`
5522− // A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples.
5523− //
5524− // @since 3.18.0 - support for relative patterns.
5525− Pattern GlobPattern `json:"pattern"`
5526−}
5527−
5528−// A document filter where `scheme` is required field.
5529−//
5530−// @since 3.18.0
5531−//
5532−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterScheme
5533−type TextDocumentFilterScheme struct {
5534− // A language id, like `typescript`.
5535− Language string `json:"language,omitempty"`
5536− // A Uri {@link Uri.scheme scheme}, like `file` or `untitled`.
5537− Scheme string `json:"scheme"`
5538− // A glob pattern, like **/*.{ts,js}. See TextDocumentFilter for examples.
5539− //
5540− // @since 3.18.0 - support for relative patterns.
5541− Pattern *GlobPattern `json:"pattern,omitempty"`
5542−}
5543−
5544−// A literal to identify a text document in the client.
5545−//
5546−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentIdentifier
5547−type TextDocumentIdentifier struct {
5548− // The text document's uri.
5549− URI DocumentURI `json:"uri"`
5550−}
5551−
5552−// An item to transfer a text document from the client to the
5553−// server.
5554−//
5555−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentItem
5556−type TextDocumentItem struct {
5557− // The text document's uri.
5558− URI DocumentURI `json:"uri"`
5559− // The text document's language identifier.
5560− LanguageID LanguageKind `json:"languageId"`
5561− // The version number of this document (it will increase after each
5562− // change, including undo/redo).
5563− Version int32 `json:"version"`
5564− // The content of the opened text document.
5565− Text string `json:"text"`
5566−}
5567−
5568−// A parameter literal used in requests to pass a text document and a position inside that
5569−// document.
5570−//
5571−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentPositionParams
5572−type TextDocumentPositionParams struct {
5573− // The text document.
5574− TextDocument TextDocumentIdentifier `json:"textDocument"`
5575− // The position inside the text document.
5576− Position Position `json:"position"`
5577−}
5578−
5579−// General text document registration options.
5580−//
5581−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentRegistrationOptions
5582−type TextDocumentRegistrationOptions struct {
5583− // A document selector to identify the scope of the registration. If set to null
5584− // the document selector provided on the client side will be used.
5585− DocumentSelector DocumentSelector `json:"documentSelector"`
5586−}
5587−
5588−// Represents reasons why a text document is saved.
5589−type TextDocumentSaveReason uint32
5590−
5591−// Save registration options.
5592−//
5593−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSaveRegistrationOptions
5594−type TextDocumentSaveRegistrationOptions struct {
5595− TextDocumentRegistrationOptions
5596− SaveOptions
5597−}
5598−
5599−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSyncClientCapabilities
5600−type TextDocumentSyncClientCapabilities struct {
5601− // Whether text document synchronization supports dynamic registration.
5602− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
5603− // The client supports sending will save notifications.
5604− WillSave bool `json:"willSave,omitempty"`
5605− // The client supports sending a will save request and
5606− // waits for a response providing text edits which will
5607− // be applied to the document before it is saved.
5608− WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
5609− // The client supports did save notifications.
5610− DidSave bool `json:"didSave,omitempty"`
5611−}
5612−
5613−// Defines how the host (editor) should sync
5614−// document changes to the language server.
5615−type TextDocumentSyncKind uint32
5616−
5617−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSyncOptions
5618−type TextDocumentSyncOptions struct {
5619− // Open and close notifications are sent to the server. If omitted open close notification should not
5620− // be sent.
5621− OpenClose bool `json:"openClose,omitempty"`
5622− // Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
5623− // and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
5624− Change TextDocumentSyncKind `json:"change,omitempty"`
5625− // If present will save notifications are sent to the server. If omitted the notification should not be
5626− // sent.
5627− WillSave bool `json:"willSave,omitempty"`
5628− // If present will save wait until requests are sent to the server. If omitted the request should not be
5629− // sent.
5630− WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
5631− // If present save notifications are sent to the server. If omitted the notification should not be
5632− // sent.
5633− Save *SaveOptions `json:"save,omitempty"`
5634−}
5635−
5636−// A text edit applicable to a text document.
5637−//
5638−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textEdit
5639−type TextEdit struct {
5640− // The range of the text document to be manipulated. To insert
5641− // text into a document create a range where start === end.
5642− Range Range `json:"range"`
5643− // The string to be inserted. For delete operations use an
5644− // empty string.
5645− NewText string `json:"newText"`
5646−}
5647−type (
5648− TokenFormat string
5649− TraceValue string
5650−)
5651−
5652−// created for Tuple
5653−type Tuple_ParameterInformation_label_Item1 struct {
5654− Fld0 uint32 `json:"fld0"`
5655− Fld1 uint32 `json:"fld1"`
5656−}
5657−
5658−// Since 3.6.0
5659−//
5660−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionClientCapabilities
5661−type TypeDefinitionClientCapabilities struct {
5662− // Whether implementation supports dynamic registration. If this is set to `true`
5663− // the client supports the new `TypeDefinitionRegistrationOptions` return value
5664− // for the corresponding server capability as well.
5665− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
5666− // The client supports additional metadata in the form of definition links.
5667− //
5668− // Since 3.14.0
5669− LinkSupport bool `json:"linkSupport,omitempty"`
5670−}
5671−
5672−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionOptions
5673−type TypeDefinitionOptions struct {
5674− WorkDoneProgressOptions
5675−}
5676−
5677−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionParams
5678−type TypeDefinitionParams struct {
5679− TextDocumentPositionParams
5680− WorkDoneProgressParams
5681− PartialResultParams
5682−}
5683−
5684−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionRegistrationOptions
5685−type TypeDefinitionRegistrationOptions struct {
5686− TextDocumentRegistrationOptions
5687− TypeDefinitionOptions
5688− StaticRegistrationOptions
5689−}
5690−
5691−// @since 3.17.0
5692−//
5693−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyClientCapabilities
5694−type TypeHierarchyClientCapabilities struct {
5695− // Whether implementation supports dynamic registration. If this is set to `true`
5696− // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
5697− // return value for the corresponding server capability as well.
5698− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
5699−}
5700−
5701−// @since 3.17.0
5702−//
5703−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyItem
5704−type TypeHierarchyItem struct {
5705− // The name of this item.
5706− Name string `json:"name"`
5707− // The kind of this item.
5708− Kind SymbolKind `json:"kind"`
5709− // Tags for this item.
5710− Tags []SymbolTag `json:"tags,omitempty"`
5711− // More detail for this item, e.g. the signature of a function.
5712− Detail string `json:"detail,omitempty"`
5713− // The resource identifier of this item.
5714− URI DocumentURI `json:"uri"`
5715− // The range enclosing this symbol not including leading/trailing whitespace
5716− // but everything else, e.g. comments and code.
5717− Range Range `json:"range"`
5718− // The range that should be selected and revealed when this symbol is being
5719− // picked, e.g. the name of a function. Must be contained by the
5720− // {@link TypeHierarchyItem.range `range`}.
5721− SelectionRange Range `json:"selectionRange"`
5722− // A data entry field that is preserved between a type hierarchy prepare and
5723− // supertypes or subtypes requests. It could also be used to identify the
5724− // type hierarchy in the server, helping improve the performance on
5725− // resolving supertypes and subtypes.
5726− Data interface{} `json:"data,omitempty"`
5727−}
5728−
5729−// Type hierarchy options used during static registration.
5730−//
5731−// @since 3.17.0
5732−//
5733−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyOptions
5734−type TypeHierarchyOptions struct {
5735− WorkDoneProgressOptions
5736−}
5737−
5738−// The parameter of a `textDocument/prepareTypeHierarchy` request.
5739−//
5740−// @since 3.17.0
5741−//
5742−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyPrepareParams
5743−type TypeHierarchyPrepareParams struct {
5744− TextDocumentPositionParams
5745− WorkDoneProgressParams
5746−}
5747−
5748−// Type hierarchy options used during static or dynamic registration.
5749−//
5750−// @since 3.17.0
5751−//
5752−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyRegistrationOptions
5753−type TypeHierarchyRegistrationOptions struct {
5754− TextDocumentRegistrationOptions
5755− TypeHierarchyOptions
5756− StaticRegistrationOptions
5757−}
5758−
5759−// The parameter of a `typeHierarchy/subtypes` request.
5760−//
5761−// @since 3.17.0
5762−//
5763−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchySubtypesParams
5764−type TypeHierarchySubtypesParams struct {
5765− Item TypeHierarchyItem `json:"item"`
5766− WorkDoneProgressParams
5767− PartialResultParams
5768−}
5769−
5770−// The parameter of a `typeHierarchy/supertypes` request.
5771−//
5772−// @since 3.17.0
5773−//
5774−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchySupertypesParams
5775−type TypeHierarchySupertypesParams struct {
5776− Item TypeHierarchyItem `json:"item"`
5777− WorkDoneProgressParams
5778− PartialResultParams
5779−}
5780−
5781−// A diagnostic report indicating that the last returned
5782−// report is still accurate.
5783−//
5784−// @since 3.17.0
5785−//
5786−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unchangedDocumentDiagnosticReport
5787−type UnchangedDocumentDiagnosticReport struct {
5788− // A document diagnostic report indicating
5789− // no changes to the last result. A server can
5790− // only return `unchanged` if result ids are
5791− // provided.
5792− Kind string `json:"kind"`
5793− // A result id which will be sent on the next
5794− // diagnostic request for the same document.
5795− ResultID string `json:"resultId"`
5796−}
5797−
5798−// Moniker uniqueness level to define scope of the moniker.
5799−//
5800−// @since 3.16.0
5801−type UniquenessLevel string
5802−
5803−// General parameters to unregister a request or notification.
5804−//
5805−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unregistration
5806−type Unregistration struct {
5807− // The id used to unregister the request or notification. Usually an id
5808− // provided during the register request.
5809− ID string `json:"id"`
5810− // The method to unregister for.
5811− Method string `json:"method"`
5812−}
5813−
5814−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unregistrationParams
5815−type UnregistrationParams struct {
5816− Unregisterations []Unregistration `json:"unregisterations"`
5817−}
5818−
5819−// A versioned notebook document identifier.
5820−//
5821−// @since 3.17.0
5822−//
5823−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#versionedNotebookDocumentIdentifier
5824−type VersionedNotebookDocumentIdentifier struct {
5825− // The version number of this notebook document.
5826− Version int32 `json:"version"`
5827− // The notebook document's uri.
5828− URI URI `json:"uri"`
5829−}
5830−
5831−// A text document identifier to denote a specific version of a text document.
5832−//
5833−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#versionedTextDocumentIdentifier
5834−type VersionedTextDocumentIdentifier struct {
5835− // The version number of this document.
5836− Version int32 `json:"version"`
5837− TextDocumentIdentifier
5838−}
5839−type (
5840− WatchKind = uint32 // The parameters sent in a will save text document notification.
5841− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#willSaveTextDocumentParams
5842− WillSaveTextDocumentParams struct {
5843− // The document that will be saved.
5844− TextDocument TextDocumentIdentifier `json:"textDocument"`
5845− // The 'TextDocumentSaveReason'.
5846− Reason TextDocumentSaveReason `json:"reason"`
5847− }
5848−)
5849−
5850−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#windowClientCapabilities
5851−type WindowClientCapabilities struct {
5852− // It indicates whether the client supports server initiated
5853− // progress using the `window/workDoneProgress/create` request.
5854− //
5855− // The capability also controls Whether client supports handling
5856− // of progress notifications. If set servers are allowed to report a
5857− // `workDoneProgress` property in the request specific server
5858− // capabilities.
5859− //
5860− // @since 3.15.0
5861− WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
5862− // Capabilities specific to the showMessage request.
5863− //
5864− // @since 3.16.0
5865− ShowMessage *ShowMessageRequestClientCapabilities `json:"showMessage,omitempty"`
5866− // Capabilities specific to the showDocument request.
5867− //
5868− // @since 3.16.0
5869− ShowDocument *ShowDocumentClientCapabilities `json:"showDocument,omitempty"`
5870−}
5871−
5872−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressBegin
5873−type WorkDoneProgressBegin struct {
5874− Kind string `json:"kind"`
5875− // Mandatory title of the progress operation. Used to briefly inform about
5876− // the kind of operation being performed.
5877− //
5878− // Examples: "Indexing" or "Linking dependencies".
5879− Title string `json:"title"`
5880− // Controls if a cancel button should show to allow the user to cancel the
5881− // long running operation. Clients that don't support cancellation are allowed
5882− // to ignore the setting.
5883− Cancellable bool `json:"cancellable,omitempty"`
5884− // Optional, more detailed associated progress message. Contains
5885− // complementary information to the `title`.
5886− //
5887− // Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
5888− // If unset, the previous progress message (if any) is still valid.
5889− Message string `json:"message,omitempty"`
5890− // Optional progress percentage to display (value 100 is considered 100%).
5891− // If not provided infinite progress is assumed and clients are allowed
5892− // to ignore the `percentage` value in subsequent in report notifications.
5893− //
5894− // The value should be steadily rising. Clients are free to ignore values
5895− // that are not following this rule. The value range is [0, 100].
5896− Percentage uint32 `json:"percentage,omitempty"`
5897−}
5898−
5899−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressCancelParams
5900−type WorkDoneProgressCancelParams struct {
5901− // The token to be used to report progress.
5902− Token ProgressToken `json:"token"`
5903−}
5904−
5905−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressCreateParams
5906−type WorkDoneProgressCreateParams struct {
5907− // The token to be used to report progress.
5908− Token ProgressToken `json:"token"`
5909−}
5910−
5911−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressEnd
5912−type WorkDoneProgressEnd struct {
5913− Kind string `json:"kind"`
5914− // Optional, a final message indicating to for example indicate the outcome
5915− // of the operation.
5916− Message string `json:"message,omitempty"`
5917−}
5918−
5919−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressOptions
5920−type WorkDoneProgressOptions struct {
5921− WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
5922−}
5923−
5924−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressParams
5925−type WorkDoneProgressParams struct {
5926− // An optional token that a server can use to report work done progress.
5927− WorkDoneToken ProgressToken `json:"workDoneToken,omitempty"`
5928−}
5929−
5930−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressReport
5931−type WorkDoneProgressReport struct {
5932− Kind string `json:"kind"`
5933− // Controls enablement state of a cancel button.
5934− //
5935− // Clients that don't support cancellation or don't support controlling the button's
5936− // enablement state are allowed to ignore the property.
5937− Cancellable bool `json:"cancellable,omitempty"`
5938− // Optional, more detailed associated progress message. Contains
5939− // complementary information to the `title`.
5940− //
5941− // Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
5942− // If unset, the previous progress message (if any) is still valid.
5943− Message string `json:"message,omitempty"`
5944− // Optional progress percentage to display (value 100 is considered 100%).
5945− // If not provided infinite progress is assumed and clients are allowed
5946− // to ignore the `percentage` value in subsequent in report notifications.
5947− //
5948− // The value should be steadily rising. Clients are free to ignore values
5949− // that are not following this rule. The value range is [0, 100]
5950− Percentage uint32 `json:"percentage,omitempty"`
5951−}
5952−
5953−// Workspace specific client capabilities.
5954−//
5955−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceClientCapabilities
5956−type WorkspaceClientCapabilities struct {
5957− // The client supports applying batch edits
5958− // to the workspace by supporting the request
5959− // 'workspace/applyEdit'
5960− ApplyEdit bool `json:"applyEdit,omitempty"`
5961− // Capabilities specific to `WorkspaceEdit`s.
5962− WorkspaceEdit *WorkspaceEditClientCapabilities `json:"workspaceEdit,omitempty"`
5963− // Capabilities specific to the `workspace/didChangeConfiguration` notification.
5964− DidChangeConfiguration DidChangeConfigurationClientCapabilities `json:"didChangeConfiguration,omitempty"`
5965− // Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
5966− DidChangeWatchedFiles DidChangeWatchedFilesClientCapabilities `json:"didChangeWatchedFiles,omitempty"`
5967− // Capabilities specific to the `workspace/symbol` request.
5968− Symbol *WorkspaceSymbolClientCapabilities `json:"symbol,omitempty"`
5969− // Capabilities specific to the `workspace/executeCommand` request.
5970− ExecuteCommand *ExecuteCommandClientCapabilities `json:"executeCommand,omitempty"`
5971− // The client has support for workspace folders.
5972− //
5973− // @since 3.6.0
5974− WorkspaceFolders bool `json:"workspaceFolders,omitempty"`
5975− // The client supports `workspace/configuration` requests.
5976− //
5977− // @since 3.6.0
5978− Configuration bool `json:"configuration,omitempty"`
5979− // Capabilities specific to the semantic token requests scoped to the
5980− // workspace.
5981− //
5982− // @since 3.16.0.
5983− SemanticTokens *SemanticTokensWorkspaceClientCapabilities `json:"semanticTokens,omitempty"`
5984− // Capabilities specific to the code lens requests scoped to the
5985− // workspace.
5986− //
5987− // @since 3.16.0.
5988− CodeLens *CodeLensWorkspaceClientCapabilities `json:"codeLens,omitempty"`
5989− // The client has support for file notifications/requests for user operations on files.
5990− //
5991− // Since 3.16.0
5992− FileOperations *FileOperationClientCapabilities `json:"fileOperations,omitempty"`
5993− // Capabilities specific to the inline values requests scoped to the
5994− // workspace.
5995− //
5996− // @since 3.17.0.
5997− InlineValue *InlineValueWorkspaceClientCapabilities `json:"inlineValue,omitempty"`
5998− // Capabilities specific to the inlay hint requests scoped to the
5999− // workspace.
6000− //
6001− // @since 3.17.0.
6002− InlayHint *InlayHintWorkspaceClientCapabilities `json:"inlayHint,omitempty"`
6003− // Capabilities specific to the diagnostic requests scoped to the
6004− // workspace.
6005− //
6006− // @since 3.17.0.
6007− Diagnostics *DiagnosticWorkspaceClientCapabilities `json:"diagnostics,omitempty"`
6008− // Capabilities specific to the folding range requests scoped to the workspace.
6009− //
6010− // @since 3.18.0
6011− // @proposed
6012− FoldingRange *FoldingRangeWorkspaceClientCapabilities `json:"foldingRange,omitempty"`
6013− // Capabilities specific to the `workspace/textDocumentContent` request.
6014− //
6015− // @since 3.18.0
6016− // @proposed
6017− TextDocumentContent *TextDocumentContentClientCapabilities `json:"textDocumentContent,omitempty"`
6018−}
6019−
6020−// Parameters of the workspace diagnostic request.
6021−//
6022−// @since 3.17.0
6023−//
6024−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticParams
6025−type WorkspaceDiagnosticParams struct {
6026− // The additional identifier provided during registration.
6027− Identifier string `json:"identifier,omitempty"`
6028− // The currently known diagnostic reports with their
6029− // previous result ids.
6030− PreviousResultIds []PreviousResultId `json:"previousResultIds"`
6031− WorkDoneProgressParams
6032− PartialResultParams
6033−}
6034−
6035−// A workspace diagnostic report.
6036−//
6037−// @since 3.17.0
6038−//
6039−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticReport
6040−type WorkspaceDiagnosticReport struct {
6041− Items []WorkspaceDocumentDiagnosticReport `json:"items"`
6042−}
6043−
6044−// A partial result for a workspace diagnostic report.
6045−//
6046−// @since 3.17.0
6047−//
6048−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticReportPartialResult
6049−type WorkspaceDiagnosticReportPartialResult struct {
6050− Items []WorkspaceDocumentDiagnosticReport `json:"items"`
6051−}
6052−
6053−// A workspace diagnostic document report.
6054−//
6055−// @since 3.17.0
6056−//
6057−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDocumentDiagnosticReport
6058−type (
6059− WorkspaceDocumentDiagnosticReport = Or_WorkspaceDocumentDiagnosticReport // (alias)
6060− // A workspace edit represents changes to many resources managed in the workspace. The edit
6061− // should either provide `changes` or `documentChanges`. If documentChanges are present
6062− // they are preferred over `changes` if the client can handle versioned document edits.
6063− //
6064− // Since version 3.13.0 a workspace edit can contain resource operations as well. If resource
6065− // operations are present clients need to execute the operations in the order in which they
6066− // are provided. So a workspace edit for example can consist of the following two changes:
6067− // (1) a create file a.txt and (2) a text document edit which insert text into file a.txt.
6068− //
6069− // An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will
6070− // cause failure of the operation. How the client recovers from the failure is described by
6071− // the client capability: `workspace.workspaceEdit.failureHandling`
6072− //
6073− // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceEdit
6074− WorkspaceEdit struct {
6075− // Holds changes to existing resources.
6076− Changes map[DocumentURI][]TextEdit `json:"changes,omitempty"`
6077− // Depending on the client capability `workspace.workspaceEdit.resourceOperations` document changes
6078− // are either an array of `TextDocumentEdit`s to express changes to n different text documents
6079− // where each text document edit addresses a specific version of a text document. Or it can contain
6080− // above `TextDocumentEdit`s mixed with create, rename and delete file / folder operations.
6081− //
6082− // Whether a client supports versioned document edits is expressed via
6083− // `workspace.workspaceEdit.documentChanges` client capability.
6084− //
6085− // If a client neither supports `documentChanges` nor `workspace.workspaceEdit.resourceOperations` then
6086− // only plain `TextEdit`s using the `changes` property are supported.
6087− DocumentChanges []DocumentChange `json:"documentChanges,omitempty"`
6088− // A map of change annotations that can be referenced in `AnnotatedTextEdit`s or create, rename and
6089− // delete file / folder operations.
6090− //
6091− // Whether clients honor this property depends on the client capability `workspace.changeAnnotationSupport`.
6092− //
6093− // @since 3.16.0
6094− ChangeAnnotations map[ChangeAnnotationIdentifier]ChangeAnnotation `json:"changeAnnotations,omitempty"`
6095− }
6096−)
6097−
6098−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceEditClientCapabilities
6099−type WorkspaceEditClientCapabilities struct {
6100− // The client supports versioned document changes in `WorkspaceEdit`s
6101− DocumentChanges bool `json:"documentChanges,omitempty"`
6102− // The resource operations the client supports. Clients should at least
6103− // support 'create', 'rename' and 'delete' files and folders.
6104− //
6105− // @since 3.13.0
6106− ResourceOperations []ResourceOperationKind `json:"resourceOperations,omitempty"`
6107− // The failure handling strategy of a client if applying the workspace edit
6108− // fails.
6109− //
6110− // @since 3.13.0
6111− FailureHandling *FailureHandlingKind `json:"failureHandling,omitempty"`
6112− // Whether the client normalizes line endings to the client specific
6113− // setting.
6114− // If set to `true` the client will normalize line ending characters
6115− // in a workspace edit to the client-specified new line
6116− // character.
6117− //
6118− // @since 3.16.0
6119− NormalizesLineEndings bool `json:"normalizesLineEndings,omitempty"`
6120− // Whether the client in general supports change annotations on text edits,
6121− // create file, rename file and delete file changes.
6122− //
6123− // @since 3.16.0
6124− ChangeAnnotationSupport *ChangeAnnotationsSupportOptions `json:"changeAnnotationSupport,omitempty"`
6125− // Whether the client supports `WorkspaceEditMetadata` in `WorkspaceEdit`s.
6126− //
6127− // @since 3.18.0
6128− // @proposed
6129− MetadataSupport bool `json:"metadataSupport,omitempty"`
6130− // Whether the client supports snippets as text edits.
6131− //
6132− // @since 3.18.0
6133− // @proposed
6134− SnippetEditSupport bool `json:"snippetEditSupport,omitempty"`
6135−}
6136−
6137−// Additional data about a workspace edit.
6138−//
6139−// @since 3.18.0
6140−// @proposed
6141−//
6142−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceEditMetadata
6143−type WorkspaceEditMetadata struct {
6144− // Signal to the editor that this edit is a refactoring.
6145− IsRefactoring bool `json:"isRefactoring,omitempty"`
6146−}
6147−
6148−// A workspace folder inside a client.
6149−//
6150−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFolder
6151−type WorkspaceFolder struct {
6152− // The associated URI for this workspace folder.
6153− URI URI `json:"uri"`
6154− // The name of the workspace folder. Used to refer to this
6155− // workspace folder in the user interface.
6156− Name string `json:"name"`
6157−}
6158−
6159−// The workspace folder change event.
6160−//
6161−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersChangeEvent
6162−type WorkspaceFoldersChangeEvent struct {
6163− // The array of added workspace folders
6164− Added []WorkspaceFolder `json:"added"`
6165− // The array of the removed workspace folders
6166− Removed []WorkspaceFolder `json:"removed"`
6167−}
6168−
6169−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersInitializeParams
6170−type WorkspaceFoldersInitializeParams struct {
6171− // The workspace folders configured in the client when the server starts.
6172− //
6173− // This property is only available if the client supports workspace folders.
6174− // It can be `null` if the client supports workspace folders but none are
6175− // configured.
6176− //
6177− // @since 3.6.0
6178− WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders,omitempty"`
6179−}
6180−
6181−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersServerCapabilities
6182−type WorkspaceFoldersServerCapabilities struct {
6183− // The server has support for workspace folders
6184− Supported bool `json:"supported,omitempty"`
6185− // Whether the server wants to receive workspace folder
6186− // change notifications.
6187− //
6188− // If a string is provided the string is treated as an ID
6189− // under which the notification is registered on the client
6190− // side. The ID can be used to unregister for these events
6191− // using the `client/unregisterCapability` request.
6192− ChangeNotifications *Or_WorkspaceFoldersServerCapabilities_changeNotifications `json:"changeNotifications,omitempty"`
6193−}
6194−
6195−// A full document diagnostic report for a workspace diagnostic result.
6196−//
6197−// @since 3.17.0
6198−//
6199−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFullDocumentDiagnosticReport
6200−type WorkspaceFullDocumentDiagnosticReport struct {
6201− // The URI for which diagnostic information is reported.
6202− URI DocumentURI `json:"uri"`
6203− // The version number for which the diagnostics are reported.
6204− // If the document is not marked as open `null` can be provided.
6205− Version int32 `json:"version"`
6206− FullDocumentDiagnosticReport
6207−}
6208−
6209−// Defines workspace specific capabilities of the server.
6210−//
6211−// @since 3.18.0
6212−//
6213−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceOptions
6214−type WorkspaceOptions struct {
6215− // The server supports workspace folder.
6216− //
6217− // @since 3.6.0
6218− WorkspaceFolders *WorkspaceFoldersServerCapabilities `json:"workspaceFolders,omitempty"`
6219− // The server is interested in notifications/requests for operations on files.
6220− //
6221− // @since 3.16.0
6222− FileOperations *FileOperationOptions `json:"fileOperations,omitempty"`
6223− // The server supports the `workspace/textDocumentContent` request.
6224− //
6225− // @since 3.18.0
6226− // @proposed
6227− TextDocumentContent *Or_WorkspaceOptions_textDocumentContent `json:"textDocumentContent,omitempty"`
6228−}
6229−
6230−// A special workspace symbol that supports locations without a range.
6231−//
6232−// See also SymbolInformation.
6233−//
6234−// @since 3.17.0
6235−//
6236−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbol
6237−type WorkspaceSymbol struct {
6238− // The location of the symbol. Whether a server is allowed to
6239− // return a location without a range depends on the client
6240− // capability `workspace.symbol.resolveSupport`.
6241− //
6242− // See SymbolInformation#location for more details.
6243− Location Or_WorkspaceSymbol_location `json:"location"`
6244− // A data entry field that is preserved on a workspace symbol between a
6245− // workspace symbol request and a workspace symbol resolve request.
6246− Data interface{} `json:"data,omitempty"`
6247− BaseSymbolInformation
6248−}
6249−
6250−// Client capabilities for a {@link WorkspaceSymbolRequest}.
6251−//
6252−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolClientCapabilities
6253−type WorkspaceSymbolClientCapabilities struct {
6254− // Symbol request supports dynamic registration.
6255− DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
6256− // Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
6257− SymbolKind *ClientSymbolKindOptions `json:"symbolKind,omitempty"`
6258− // The client supports tags on `SymbolInformation`.
6259− // Clients supporting tags have to handle unknown tags gracefully.
6260− //
6261− // @since 3.16.0
6262− TagSupport *ClientSymbolTagOptions `json:"tagSupport,omitempty"`
6263− // The client support partial workspace symbols. The client will send the
6264− // request `workspaceSymbol/resolve` to the server to resolve additional
6265− // properties.
6266− //
6267− // @since 3.17.0
6268− ResolveSupport *ClientSymbolResolveOptions `json:"resolveSupport,omitempty"`
6269−}
6270−
6271−// Server capabilities for a {@link WorkspaceSymbolRequest}.
6272−//
6273−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolOptions
6274−type WorkspaceSymbolOptions struct {
6275− // The server provides support to resolve additional
6276− // information for a workspace symbol.
6277− //
6278− // @since 3.17.0
6279− ResolveProvider bool `json:"resolveProvider,omitempty"`
6280− WorkDoneProgressOptions
6281−}
6282−
6283−// The parameters of a {@link WorkspaceSymbolRequest}.
6284−//
6285−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolParams
6286−type WorkspaceSymbolParams struct {
6287− // A query string to filter symbols by. Clients may send an empty
6288− // string here to request all symbols.
6289− //
6290− // The `query`-parameter should be interpreted in a *relaxed way* as editors
6291− // will apply their own highlighting and scoring on the results. A good rule
6292− // of thumb is to match case-insensitive and to simply check that the
6293− // characters of *query* appear in their order in a candidate symbol.
6294− // Servers shouldn't use prefix, substring, or similar strict matching.
6295− Query string `json:"query"`
6296− WorkDoneProgressParams
6297− PartialResultParams
6298−}
6299−
6300−// Registration options for a {@link WorkspaceSymbolRequest}.
6301−//
6302−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolRegistrationOptions
6303−type WorkspaceSymbolRegistrationOptions struct {
6304− WorkspaceSymbolOptions
6305−}
6306−
6307−// An unchanged document diagnostic report for a workspace diagnostic result.
6308−//
6309−// @since 3.17.0
6310−//
6311−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceUnchangedDocumentDiagnosticReport
6312−type WorkspaceUnchangedDocumentDiagnosticReport struct {
6313− // The URI for which diagnostic information is reported.
6314− URI DocumentURI `json:"uri"`
6315− // The version number for which the diagnostics are reported.
6316− // If the document is not marked as open `null` can be provided.
6317− Version int32 `json:"version"`
6318− UnchangedDocumentDiagnosticReport
6319−}
6320−
6321−// The initialize parameters
6322−//
6323−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#_InitializeParams
6324−type XInitializeParams struct {
6325− // The process Id of the parent process that started
6326− // the server.
6327− //
6328− // Is `null` if the process has not been started by another process.
6329− // If the parent process is not alive then the server should exit.
6330− ProcessID int32 `json:"processId"`
6331− // Information about the client
6332− //
6333− // @since 3.15.0
6334− ClientInfo *ClientInfo `json:"clientInfo,omitempty"`
6335− // The locale the client is currently showing the user interface
6336− // in. This must not necessarily be the locale of the operating
6337− // system.
6338− //
6339− // Uses IETF language tags as the value's syntax
6340− // (See https://en.wikipedia.org/wiki/IETF_language_tag)
6341− //
6342− // @since 3.16.0
6343− Locale string `json:"locale,omitempty"`
6344− // The rootPath of the workspace. Is null
6345− // if no folder is open.
6346− //
6347− // @deprecated in favour of rootUri.
6348− RootPath string `json:"rootPath,omitempty"`
6349− // The rootUri of the workspace. Is null if no
6350− // folder is open. If both `rootPath` and `rootUri` are set
6351− // `rootUri` wins.
6352− //
6353− // @deprecated in favour of workspaceFolders.
6354− RootURI DocumentURI `json:"rootUri"`
6355− // The capabilities provided by the client (editor or tool)
6356− Capabilities ClientCapabilities `json:"capabilities"`
6357− // User provided initialization options.
6358− InitializationOptions interface{} `json:"initializationOptions,omitempty"`
6359− // The initial trace setting. If omitted trace is disabled ('off').
6360− Trace *TraceValue `json:"trace,omitempty"`
6361− WorkDoneProgressParams
6362−}
6363−
6364−// The initialize parameters
6365−//
6366−// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#_InitializeParams
6367−type _InitializeParams struct {
6368− // The process Id of the parent process that started
6369− // the server.
6370− //
6371− // Is `null` if the process has not been started by another process.
6372− // If the parent process is not alive then the server should exit.
6373− ProcessID int32 `json:"processId"`
6374− // Information about the client
6375− //
6376− // @since 3.15.0
6377− ClientInfo *ClientInfo `json:"clientInfo,omitempty"`
6378− // The locale the client is currently showing the user interface
6379− // in. This must not necessarily be the locale of the operating
6380− // system.
6381− //
6382− // Uses IETF language tags as the value's syntax
6383− // (See https://en.wikipedia.org/wiki/IETF_language_tag)
6384− //
6385− // @since 3.16.0
6386− Locale string `json:"locale,omitempty"`
6387− // The rootPath of the workspace. Is null
6388− // if no folder is open.
6389− //
6390− // @deprecated in favour of rootUri.
6391− RootPath string `json:"rootPath,omitempty"`
6392− // The rootUri of the workspace. Is null if no
6393− // folder is open. If both `rootPath` and `rootUri` are set
6394− // `rootUri` wins.
6395− //
6396− // @deprecated in favour of workspaceFolders.
6397− RootURI DocumentURI `json:"rootUri"`
6398− // The capabilities provided by the client (editor or tool)
6399− Capabilities ClientCapabilities `json:"capabilities"`
6400− // User provided initialization options.
6401− InitializationOptions interface{} `json:"initializationOptions,omitempty"`
6402− // The initial trace setting. If omitted trace is disabled ('off').
6403− Trace *TraceValue `json:"trace,omitempty"`
6404− WorkDoneProgressParams
6405−}
6406−
6407−const (
6408− // A set of predefined code action kinds
6409− // Empty kind.
6410− Empty CodeActionKind = ""
6411− // Base kind for quickfix actions: 'quickfix'
6412− QuickFix CodeActionKind = "quickfix"
6413− // Base kind for refactoring actions: 'refactor'
6414− Refactor CodeActionKind = "refactor"
6415− // Base kind for refactoring extraction actions: 'refactor.extract'
6416− //
6417− // Example extract actions:
6418− //
6419− //
6420− // - Extract method
6421− // - Extract function
6422− // - Extract variable
6423− // - Extract interface from class
6424− // - ...
6425− RefactorExtract CodeActionKind = "refactor.extract"
6426− // Base kind for refactoring inline actions: 'refactor.inline'
6427− //
6428− // Example inline actions:
6429− //
6430− //
6431− // - Inline function
6432− // - Inline variable
6433− // - Inline constant
6434− // - ...
6435− RefactorInline CodeActionKind = "refactor.inline"
6436− // Base kind for refactoring move actions: `refactor.move`
6437− //
6438− // Example move actions:
6439− //
6440− //
6441− // - Move a function to a new file
6442− // - Move a property between classes
6443− // - Move method to base class
6444− // - ...
6445− //
6446− // @since 3.18.0
6447− // @proposed
6448− RefactorMove CodeActionKind = "refactor.move"
6449− // Base kind for refactoring rewrite actions: 'refactor.rewrite'
6450− //
6451− // Example rewrite actions:
6452− //
6453− //
6454− // - Convert JavaScript function to class
6455− // - Add or remove parameter
6456− // - Encapsulate field
6457− // - Make method static
6458− // - Move method to base class
6459− // - ...
6460− RefactorRewrite CodeActionKind = "refactor.rewrite"
6461− // Base kind for source actions: `source`
6462− //
6463− // Source code actions apply to the entire file.
6464− Source CodeActionKind = "source"
6465− // Base kind for an organize imports source action: `source.organizeImports`
6466− SourceOrganizeImports CodeActionKind = "source.organizeImports"
6467− // Base kind for auto-fix source actions: `source.fixAll`.
6468− //
6469− // Fix all actions automatically fix errors that have a clear fix that do not require user input.
6470− // They should not suppress errors or perform unsafe fixes such as generating new types or classes.
6471− //
6472− // @since 3.15.0
6473− SourceFixAll CodeActionKind = "source.fixAll"
6474− // Base kind for all code actions applying to the entire notebook's scope. CodeActionKinds using
6475− // this should always begin with `notebook.`
6476− //
6477− // @since 3.18.0
6478− Notebook CodeActionKind = "notebook"
6479− // The reason why code actions were requested.
6480− //
6481− // @since 3.17.0
6482− // Code actions were explicitly requested by the user or by an extension.
6483− CodeActionInvoked CodeActionTriggerKind = 1
6484− // Code actions were requested automatically.
6485− //
6486− // This typically happens when current selection in a file changes, but can
6487− // also be triggered when file content changes.
6488− CodeActionAutomatic CodeActionTriggerKind = 2
6489− // The kind of a completion entry.
6490− TextCompletion CompletionItemKind = 1
6491− MethodCompletion CompletionItemKind = 2
6492− FunctionCompletion CompletionItemKind = 3
6493− ConstructorCompletion CompletionItemKind = 4
6494− FieldCompletion CompletionItemKind = 5
6495− VariableCompletion CompletionItemKind = 6
6496− ClassCompletion CompletionItemKind = 7
6497− InterfaceCompletion CompletionItemKind = 8
6498− ModuleCompletion CompletionItemKind = 9
6499− PropertyCompletion CompletionItemKind = 10
6500− UnitCompletion CompletionItemKind = 11
6501− ValueCompletion CompletionItemKind = 12
6502− EnumCompletion CompletionItemKind = 13
6503− KeywordCompletion CompletionItemKind = 14
6504− SnippetCompletion CompletionItemKind = 15
6505− ColorCompletion CompletionItemKind = 16
6506− FileCompletion CompletionItemKind = 17
6507− ReferenceCompletion CompletionItemKind = 18
6508− FolderCompletion CompletionItemKind = 19
6509− EnumMemberCompletion CompletionItemKind = 20
6510− ConstantCompletion CompletionItemKind = 21
6511− StructCompletion CompletionItemKind = 22
6512− EventCompletion CompletionItemKind = 23
6513− OperatorCompletion CompletionItemKind = 24
6514− TypeParameterCompletion CompletionItemKind = 25
6515− // Completion item tags are extra annotations that tweak the rendering of a completion
6516− // item.
6517− //
6518− // @since 3.15.0
6519− // Render a completion as obsolete, usually using a strike-out.
6520− ComplDeprecated CompletionItemTag = 1
6521− // How a completion was triggered
6522− // Completion was triggered by typing an identifier (24x7 code
6523− // complete), manual invocation (e.g Ctrl+Space) or via API.
6524− Invoked CompletionTriggerKind = 1
6525− // Completion was triggered by a trigger character specified by
6526− // the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
6527− TriggerCharacter CompletionTriggerKind = 2
6528− // Completion was re-triggered as current completion list is incomplete
6529− TriggerForIncompleteCompletions CompletionTriggerKind = 3
6530− // The diagnostic's severity.
6531− // Reports an error.
6532− SeverityError DiagnosticSeverity = 1
6533− // Reports a warning.
6534− SeverityWarning DiagnosticSeverity = 2
6535− // Reports an information.
6536− SeverityInformation DiagnosticSeverity = 3
6537− // Reports a hint.
6538− SeverityHint DiagnosticSeverity = 4
6539− // The diagnostic tags.
6540− //
6541− // @since 3.15.0
6542− // Unused or unnecessary code.
6543− //
6544− // Clients are allowed to render diagnostics with this tag faded out instead of having
6545− // an error squiggle.
6546− Unnecessary DiagnosticTag = 1
6547− // Deprecated or obsolete code.
6548− //
6549− // Clients are allowed to rendered diagnostics with this tag strike through.
6550− Deprecated DiagnosticTag = 2
6551− // The document diagnostic report kinds.
6552− //
6553− // @since 3.17.0
6554− // A diagnostic report with a full
6555− // set of problems.
6556− DiagnosticFull DocumentDiagnosticReportKind = "full"
6557− // A report indicating that the last
6558− // returned report is still accurate.
6559− DiagnosticUnchanged DocumentDiagnosticReportKind = "unchanged"
6560− // A document highlight kind.
6561− // A textual occurrence.
6562− Text DocumentHighlightKind = 1
6563− // Read-access of a symbol, like reading a variable.
6564− Read DocumentHighlightKind = 2
6565− // Write-access of a symbol, like writing to a variable.
6566− Write DocumentHighlightKind = 3
6567− // Predefined error codes.
6568− ParseError ErrorCodes = -32700
6569− InvalidRequest ErrorCodes = -32600
6570− MethodNotFound ErrorCodes = -32601
6571− InvalidParams ErrorCodes = -32602
6572− InternalError ErrorCodes = -32603
6573− // Error code indicating that a server received a notification or
6574− // request before the server has received the `initialize` request.
6575− ServerNotInitialized ErrorCodes = -32002
6576− UnknownErrorCode ErrorCodes = -32001
6577− // Applying the workspace change is simply aborted if one of the changes provided
6578− // fails. All operations executed before the failing operation stay executed.
6579− Abort FailureHandlingKind = "abort"
6580− // All operations are executed transactional. That means they either all
6581− // succeed or no changes at all are applied to the workspace.
6582− Transactional FailureHandlingKind = "transactional"
6583− // If the workspace edit contains only textual file changes they are executed transactional.
6584− // If resource changes (create, rename or delete file) are part of the change the failure
6585− // handling strategy is abort.
6586− TextOnlyTransactional FailureHandlingKind = "textOnlyTransactional"
6587− // The client tries to undo the operations already executed. But there is no
6588− // guarantee that this is succeeding.
6589− Undo FailureHandlingKind = "undo"
6590− // The file event type
6591− // The file got created.
6592− Created FileChangeType = 1
6593− // The file got changed.
6594− Changed FileChangeType = 2
6595− // The file got deleted.
6596− Deleted FileChangeType = 3
6597− // A pattern kind describing if a glob pattern matches a file a folder or
6598− // both.
6599− //
6600− // @since 3.16.0
6601− // The pattern matches a file only.
6602− FilePattern FileOperationPatternKind = "file"
6603− // The pattern matches a folder only.
6604− FolderPattern FileOperationPatternKind = "folder"
6605− // A set of predefined range kinds.
6606− // Folding range for a comment
6607− Comment FoldingRangeKind = "comment"
6608− // Folding range for an import or include
6609− Imports FoldingRangeKind = "imports"
6610− // Folding range for a region (e.g. `#region`)
6611− Region FoldingRangeKind = "region"
6612− // Inlay hint kinds.
6613− //
6614− // @since 3.17.0
6615− // An inlay hint that for a type annotation.
6616− Type InlayHintKind = 1
6617− // An inlay hint that is for a parameter.
6618− Parameter InlayHintKind = 2
6619− // Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered.
6620− //
6621− // @since 3.18.0
6622− // @proposed
6623− // Completion was triggered explicitly by a user gesture.
6624− InlineInvoked InlineCompletionTriggerKind = 1
6625− // Completion was triggered automatically while editing.
6626− InlineAutomatic InlineCompletionTriggerKind = 2
6627− // Defines whether the insert text in a completion item should be interpreted as
6628− // plain text or a snippet.
6629− // The primary text to be inserted is treated as a plain string.
6630− PlainTextTextFormat InsertTextFormat = 1
6631− // The primary text to be inserted is treated as a snippet.
6632− //
6633− // A snippet can define tab stops and placeholders with `$1`, `$2`
6634− // and `${3:foo}`. `$0` defines the final tab stop, it defaults to
6635− // the end of the snippet. Placeholders with equal identifiers are linked,
6636− // that is typing in one will update others too.
6637− //
6638− // See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax
6639− SnippetTextFormat InsertTextFormat = 2
6640− // How whitespace and indentation is handled during completion
6641− // item insertion.
6642− //
6643− // @since 3.16.0
6644− // The insertion or replace strings is taken as it is. If the
6645− // value is multi line the lines below the cursor will be
6646− // inserted using the indentation defined in the string value.
6647− // The client will not apply any kind of adjustments to the
6648− // string.
6649− AsIs InsertTextMode = 1
6650− // The editor adjusts leading whitespace of new lines so that
6651− // they match the indentation up to the cursor of the line for
6652− // which the item is accepted.
6653− //
6654− // Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a
6655− // multi line completion item is indented using 2 tabs and all
6656− // following lines inserted will be indented using 2 tabs as well.
6657− AdjustIndentation InsertTextMode = 2
6658− // A request failed but it was syntactically correct, e.g the
6659− // method name was known and the parameters were valid. The error
6660− // message should contain human readable information about why
6661− // the request failed.
6662− //
6663− // @since 3.17.0
6664− RequestFailed LSPErrorCodes = -32803
6665− // The server cancelled the request. This error code should
6666− // only be used for requests that explicitly support being
6667− // server cancellable.
6668− //
6669− // @since 3.17.0
6670− ServerCancelled LSPErrorCodes = -32802
6671− // The server detected that the content of a document got
6672− // modified outside normal conditions. A server should
6673− // NOT send this error code if it detects a content change
6674− // in it unprocessed messages. The result even computed
6675− // on an older state might still be useful for the client.
6676− //
6677− // If a client decides that a result is not of any use anymore
6678− // the client should cancel the request.
6679− ContentModified LSPErrorCodes = -32801
6680− // The client has canceled a request and a server has detected
6681− // the cancel.
6682− RequestCancelled LSPErrorCodes = -32800
6683− // Predefined Language kinds
6684− // @since 3.18.0
6685− // @proposed
6686− LangABAP LanguageKind = "abap"
6687− LangWindowsBat LanguageKind = "bat"
6688− LangBibTeX LanguageKind = "bibtex"
6689− LangClojure LanguageKind = "clojure"
6690− LangCoffeescript LanguageKind = "coffeescript"
6691− LangC LanguageKind = "c"
6692− LangCPP LanguageKind = "cpp"
6693− LangCSharp LanguageKind = "csharp"
6694− LangCSS LanguageKind = "css"
6695− // @since 3.18.0
6696− // @proposed
6697− LangD LanguageKind = "d"
6698− // @since 3.18.0
6699− // @proposed
6700− LangDelphi LanguageKind = "pascal"
6701− LangDiff LanguageKind = "diff"
6702− LangDart LanguageKind = "dart"
6703− LangDockerfile LanguageKind = "dockerfile"
6704− LangElixir LanguageKind = "elixir"
6705− LangErlang LanguageKind = "erlang"
6706− LangFSharp LanguageKind = "fsharp"
6707− LangGitCommit LanguageKind = "git-commit"
6708− LangGitRebase LanguageKind = "rebase"
6709− LangGo LanguageKind = "go"
6710− LangGroovy LanguageKind = "groovy"
6711− LangHandlebars LanguageKind = "handlebars"
6712− LangHaskell LanguageKind = "haskell"
6713− LangHTML LanguageKind = "html"
6714− LangIni LanguageKind = "ini"
6715− LangJava LanguageKind = "java"
6716− LangJavaScript LanguageKind = "javascript"
6717− LangJavaScriptReact LanguageKind = "javascriptreact"
6718− LangJSON LanguageKind = "json"
6719− LangLaTeX LanguageKind = "latex"
6720− LangLess LanguageKind = "less"
6721− LangLua LanguageKind = "lua"
6722− LangMakefile LanguageKind = "makefile"
6723− LangMarkdown LanguageKind = "markdown"
6724− LangObjectiveC LanguageKind = "objective-c"
6725− LangObjectiveCPP LanguageKind = "objective-cpp"
6726− // @since 3.18.0
6727− // @proposed
6728− LangPascal LanguageKind = "pascal"
6729− LangPerl LanguageKind = "perl"
6730− LangPerl6 LanguageKind = "perl6"
6731− LangPHP LanguageKind = "php"
6732− LangPowershell LanguageKind = "powershell"
6733− LangPug LanguageKind = "jade"
6734− LangPython LanguageKind = "python"
6735− LangR LanguageKind = "r"
6736− LangRazor LanguageKind = "razor"
6737− LangRuby LanguageKind = "ruby"
6738− LangRust LanguageKind = "rust"
6739− LangSCSS LanguageKind = "scss"
6740− LangSASS LanguageKind = "sass"
6741− LangScala LanguageKind = "scala"
6742− LangShaderLab LanguageKind = "shaderlab"
6743− LangShellScript LanguageKind = "shellscript"
6744− LangSQL LanguageKind = "sql"
6745− LangSwift LanguageKind = "swift"
6746− LangTypeScript LanguageKind = "typescript"
6747− LangTypeScriptReact LanguageKind = "typescriptreact"
6748− LangTeX LanguageKind = "tex"
6749− LangVisualBasic LanguageKind = "vb"
6750− LangXML LanguageKind = "xml"
6751− LangXSL LanguageKind = "xsl"
6752− LangYAML LanguageKind = "yaml"
6753− // Describes the content type that a client supports in various
6754− // result literals like `Hover`, `ParameterInfo` or `CompletionItem`.
6755− //
6756− // Please note that `MarkupKinds` must not start with a `$`. This kinds
6757− // are reserved for internal usage.
6758− // Plain text is supported as a content format
6759− PlainText MarkupKind = "plaintext"
6760− // Markdown is supported as a content format
6761− Markdown MarkupKind = "markdown"
6762− // The message type
6763− // An error message.
6764− Error MessageType = 1
6765− // A warning message.
6766− Warning MessageType = 2
6767− // An information message.
6768− Info MessageType = 3
6769− // A log message.
6770− Log MessageType = 4
6771− // A debug message.
6772− //
6773− // @since 3.18.0
6774− // @proposed
6775− Debug MessageType = 5
6776− // The moniker kind.
6777− //
6778− // @since 3.16.0
6779− // The moniker represent a symbol that is imported into a project
6780− Import MonikerKind = "import"
6781− // The moniker represents a symbol that is exported from a project
6782− Export MonikerKind = "export"
6783− // The moniker represents a symbol that is local to a project (e.g. a local
6784− // variable of a function, a class not visible outside the project, ...)
6785− Local MonikerKind = "local"
6786− // A notebook cell kind.
6787− //
6788− // @since 3.17.0
6789− // A markup-cell is formatted source that is used for display.
6790− Markup NotebookCellKind = 1
6791− // A code-cell is source code.
6792− Code NotebookCellKind = 2
6793− // A set of predefined position encoding kinds.
6794− //
6795− // @since 3.17.0
6796− // Character offsets count UTF-8 code units (e.g. bytes).
6797− UTF8 PositionEncodingKind = "utf-8"
6798− // Character offsets count UTF-16 code units.
6799− //
6800− // This is the default and must always be supported
6801− // by servers
6802− UTF16 PositionEncodingKind = "utf-16"
6803− // Character offsets count UTF-32 code units.
6804− //
6805− // Implementation note: these are the same as Unicode codepoints,
6806− // so this `PositionEncodingKind` may also be used for an
6807− // encoding-agnostic representation of character offsets.
6808− UTF32 PositionEncodingKind = "utf-32"
6809− // The client's default behavior is to select the identifier
6810− // according the to language's syntax rule.
6811− Identifier PrepareSupportDefaultBehavior = 1
6812− // Supports creating new files and folders.
6813− Create ResourceOperationKind = "create"
6814− // Supports renaming existing files and folders.
6815− Rename ResourceOperationKind = "rename"
6816− // Supports deleting existing files and folders.
6817− Delete ResourceOperationKind = "delete"
6818− // A set of predefined token modifiers. This set is not fixed
6819− // an clients can specify additional token types via the
6820− // corresponding client capabilities.
6821− //
6822− // @since 3.16.0
6823− ModDeclaration SemanticTokenModifiers = "declaration"
6824− ModDefinition SemanticTokenModifiers = "definition"
6825− ModReadonly SemanticTokenModifiers = "readonly"
6826− ModStatic SemanticTokenModifiers = "static"
6827− ModDeprecated SemanticTokenModifiers = "deprecated"
6828− ModAbstract SemanticTokenModifiers = "abstract"
6829− ModAsync SemanticTokenModifiers = "async"
6830− ModModification SemanticTokenModifiers = "modification"
6831− ModDocumentation SemanticTokenModifiers = "documentation"
6832− ModDefaultLibrary SemanticTokenModifiers = "defaultLibrary"
6833− // A set of predefined token types. This set is not fixed
6834− // an clients can specify additional token types via the
6835− // corresponding client capabilities.
6836− //
6837− // @since 3.16.0
6838− NamespaceType SemanticTokenTypes = "namespace"
6839− // Represents a generic type. Acts as a fallback for types which can't be mapped to
6840− // a specific type like class or enum.
6841− TypeType SemanticTokenTypes = "type"
6842− ClassType SemanticTokenTypes = "class"
6843− EnumType SemanticTokenTypes = "enum"
6844− InterfaceType SemanticTokenTypes = "interface"
6845− StructType SemanticTokenTypes = "struct"
6846− TypeParameterType SemanticTokenTypes = "typeParameter"
6847− ParameterType SemanticTokenTypes = "parameter"
6848− VariableType SemanticTokenTypes = "variable"
6849− PropertyType SemanticTokenTypes = "property"
6850− EnumMemberType SemanticTokenTypes = "enumMember"
6851− EventType SemanticTokenTypes = "event"
6852− FunctionType SemanticTokenTypes = "function"
6853− MethodType SemanticTokenTypes = "method"
6854− MacroType SemanticTokenTypes = "macro"
6855− KeywordType SemanticTokenTypes = "keyword"
6856− ModifierType SemanticTokenTypes = "modifier"
6857− CommentType SemanticTokenTypes = "comment"
6858− StringType SemanticTokenTypes = "string"
6859− NumberType SemanticTokenTypes = "number"
6860− RegexpType SemanticTokenTypes = "regexp"
6861− OperatorType SemanticTokenTypes = "operator"
6862− // @since 3.17.0
6863− DecoratorType SemanticTokenTypes = "decorator"
6864− // @since 3.18.0
6865− LabelType SemanticTokenTypes = "label"
6866− // How a signature help was triggered.
6867− //
6868− // @since 3.15.0
6869− // Signature help was invoked manually by the user or by a command.
6870− SigInvoked SignatureHelpTriggerKind = 1
6871− // Signature help was triggered by a trigger character.
6872− SigTriggerCharacter SignatureHelpTriggerKind = 2
6873− // Signature help was triggered by the cursor moving or by the document content changing.
6874− SigContentChange SignatureHelpTriggerKind = 3
6875− // A symbol kind.
6876− File SymbolKind = 1
6877− Module SymbolKind = 2
6878− Namespace SymbolKind = 3
6879− Package SymbolKind = 4
6880− Class SymbolKind = 5
6881− Method SymbolKind = 6
6882− Property SymbolKind = 7
6883− Field SymbolKind = 8
6884− Constructor SymbolKind = 9
6885− Enum SymbolKind = 10
6886− Interface SymbolKind = 11
6887− Function SymbolKind = 12
6888− Variable SymbolKind = 13
6889− Constant SymbolKind = 14
6890− String SymbolKind = 15
6891− Number SymbolKind = 16
6892− Boolean SymbolKind = 17
6893− Array SymbolKind = 18
6894− Object SymbolKind = 19
6895− Key SymbolKind = 20
6896− Null SymbolKind = 21
6897− EnumMember SymbolKind = 22
6898− Struct SymbolKind = 23
6899− Event SymbolKind = 24
6900− Operator SymbolKind = 25
6901− TypeParameter SymbolKind = 26
6902− // Symbol tags are extra annotations that tweak the rendering of a symbol.
6903− //
6904− // @since 3.16
6905− // Render a symbol as obsolete, usually using a strike-out.
6906− DeprecatedSymbol SymbolTag = 1
6907− // Represents reasons why a text document is saved.
6908− // Manually triggered, e.g. by the user pressing save, by starting debugging,
6909− // or by an API call.
6910− Manual TextDocumentSaveReason = 1
6911− // Automatic after a delay.
6912− AfterDelay TextDocumentSaveReason = 2
6913− // When the editor lost focus.
6914− FocusOut TextDocumentSaveReason = 3
6915− // Defines how the host (editor) should sync
6916− // document changes to the language server.
6917− // Documents should not be synced at all.
6918− None TextDocumentSyncKind = 0
6919− // Documents are synced by always sending the full content
6920− // of the document.
6921− Full TextDocumentSyncKind = 1
6922− // Documents are synced by sending the full content on open.
6923− // After that only incremental updates to the document are
6924− // send.
6925− Incremental TextDocumentSyncKind = 2
6926− Relative TokenFormat = "relative"
6927− // Turn tracing off.
6928− Off TraceValue = "off"
6929− // Trace messages only.
6930− Messages TraceValue = "messages"
6931− // Verbose message tracing.
6932− Verbose TraceValue = "verbose"
6933− // Moniker uniqueness level to define scope of the moniker.
6934− //
6935− // @since 3.16.0
6936− // The moniker is only unique inside a document
6937− Document UniquenessLevel = "document"
6938− // The moniker is unique inside a project for which a dump got created
6939− Project UniquenessLevel = "project"
6940− // The moniker is unique inside the group to which a project belongs
6941− Group UniquenessLevel = "group"
6942− // The moniker is unique inside the moniker scheme.
6943− Scheme UniquenessLevel = "scheme"
6944− // The moniker is globally unique
6945− Global UniquenessLevel = "global"
6946− // Interested in create events.
6947− WatchCreate WatchKind = 1
6948− // Interested in change events
6949− WatchChange WatchKind = 2
6950− // Interested in delete events
6951− WatchDelete WatchKind = 4
6952−)