From 397fef9629377c5179518414e4502009dc0918a2 Mon Sep 17 00:00:00 2001 From: Alan Donovan Date: Tue, 23 Apr 2024 16:14:56 -0400 Subject: [PATCH] gopls/internal/protocol: add links to LSP spec This makes it a little easier to click one's way to the authoritative description. It isn't perfect; notably, the LSP spec has irregular anchors (workspace_symbolResolve should be workspaceSymbol_Resolve). Change-Id: I62f88b53d2398d777a298ca765f6c71167761e74 Reviewed-on: https://go-review.googlesource.com/c/tools/+/581120 LUCI-TryBot-Result: Go LUCI Reviewed-by: Peter Weinberger --- gopls/internal/protocol/generate/main.go | 57 +- gopls/internal/protocol/generate/output.go | 46 +- gopls/internal/protocol/generate/typenames.go | 2 +- gopls/internal/protocol/tsclient.go | 60 +- gopls/internal/protocol/tsprotocol.go | 796 ++++++++++++++++++ gopls/internal/protocol/tsserver.go | 220 +++-- 6 files changed, 1035 insertions(+), 146 deletions(-) diff --git a/gopls/internal/protocol/generate/main.go b/gopls/internal/protocol/generate/main.go index 29d2f8871f3..de42540a054 100644 --- a/gopls/internal/protocol/generate/main.go +++ b/gopls/internal/protocol/generate/main.go @@ -27,7 +27,8 @@ const vscodeRepo = "https://github.com/microsoft/vscode-languageserver-node" // lspGitRef names a branch or tag in vscodeRepo. // It implicitly determines the protocol version of the LSP used by gopls. -// For example, tag release/protocol/3.17.3 of the repo defines protocol version 3.17.0. +// For example, tag release/protocol/3.17.3 of the repo defines +// protocol version 3.17.0 (as declared by the metaData.version field). // (Point releases are reflected in the git tag version even when they are cosmetic // and don't change the protocol.) var lspGitRef = "release/protocol/3.17.6-next.2" @@ -116,16 +117,7 @@ func writeclient() { for _, k := range cfuncs.keys() { out.WriteString(cfuncs[k]) } - - x, err := format.Source(out.Bytes()) - if err != nil { - os.WriteFile("/tmp/a.go", out.Bytes(), 0644) - log.Fatalf("tsclient.go: %v", err) - } - - if err := os.WriteFile(filepath.Join(*outputdir, "tsclient.go"), x, 0644); err != nil { - log.Fatalf("%v writing tsclient.go", err) - } + formatTo("tsclient.go", out.Bytes()) } func writeserver() { @@ -156,15 +148,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, for _, k := range sfuncs.keys() { out.WriteString(sfuncs[k]) } - x, err := format.Source(out.Bytes()) - if err != nil { - os.WriteFile("/tmp/a.go", out.Bytes(), 0644) - log.Fatalf("tsserver.go: %v", err) - } - - if err := os.WriteFile(filepath.Join(*outputdir, "tsserver.go"), x, 0644); err != nil { - log.Fatalf("%v writing tsserver.go", err) - } + formatTo("tsserver.go", out.Bytes()) } func writeprotocol() { @@ -197,14 +181,7 @@ func writeprotocol() { out.WriteString(consts[k]) } out.WriteString(")\n\n") - x, err := format.Source(out.Bytes()) - if err != nil { - os.WriteFile("/tmp/a.go", out.Bytes(), 0644) - log.Fatalf("tsprotocol.go: %v", err) - } - if err := os.WriteFile(filepath.Join(*outputdir, "tsprotocol.go"), x, 0644); err != nil { - log.Fatalf("%v writing tsprotocol.go", err) - } + formatTo("tsprotocol.go", out.Bytes()) } func writejsons() { @@ -228,18 +205,24 @@ func (e UnmarshalError) Error() string { for _, k := range jsons.keys() { out.WriteString(jsons[k]) } - x, err := format.Source(out.Bytes()) + formatTo("tsjson.go", out.Bytes()) +} + +// formatTo formats the Go source and writes it to *outputdir/basename. +func formatTo(basename string, src []byte) { + formatted, err := format.Source(src) if err != nil { - os.WriteFile("/tmp/a.go", out.Bytes(), 0644) - log.Fatalf("tsjson.go: %v", err) + failed := filepath.Join("/tmp", basename+".fail") + os.WriteFile(failed, src, 0644) + log.Fatalf("formatting %s: %v (see %s)", basename, err, failed) } - if err := os.WriteFile(filepath.Join(*outputdir, "tsjson.go"), x, 0644); err != nil { - log.Fatalf("%v writing tsjson.go", err) + if err := os.WriteFile(filepath.Join(*outputdir, basename), formatted, 0644); err != nil { + log.Fatal(err) } } // create the common file header for the output files -func fileHeader(model Model) string { +func fileHeader(model *Model) string { fname := filepath.Join(*repodir, ".git", "HEAD") buf, err := os.ReadFile(fname) if err != nil { @@ -281,14 +264,14 @@ package protocol model.Version.Version) // 5 } -func parse(fname string) Model { +func parse(fname string) *Model { buf, err := os.ReadFile(fname) if err != nil { log.Fatal(err) } buf = addLineNumbers(buf) - var model Model - if err := json.Unmarshal(buf, &model); err != nil { + model := new(Model) + if err := json.Unmarshal(buf, model); err != nil { log.Fatal(err) } return model diff --git a/gopls/internal/protocol/generate/output.go b/gopls/internal/protocol/generate/output.go index 47608626b82..87d6f66cccd 100644 --- a/gopls/internal/protocol/generate/output.go +++ b/gopls/internal/protocol/generate/output.go @@ -28,19 +28,19 @@ var ( jsons = make(sortedMap[string]) ) -func generateOutput(model Model) { +func generateOutput(model *Model) { for _, r := range model.Requests { - genDecl(r.Method, r.Params, r.Result, r.Direction) - genCase(r.Method, r.Params, r.Result, r.Direction) - genFunc(r.Method, r.Params, r.Result, r.Direction, false) + genDecl(model, r.Method, r.Params, r.Result, r.Direction) + genCase(model, r.Method, r.Params, r.Result, r.Direction) + genFunc(model, r.Method, r.Params, r.Result, r.Direction, false) } for _, n := range model.Notifications { if n.Method == "$/cancelRequest" { continue // handled internally by jsonrpc2 } - genDecl(n.Method, n.Params, nil, n.Direction) - genCase(n.Method, n.Params, nil, n.Direction) - genFunc(n.Method, n.Params, nil, n.Direction, true) + genDecl(model, n.Method, n.Params, nil, n.Direction) + genCase(model, n.Method, n.Params, nil, n.Direction) + genFunc(model, n.Method, n.Params, nil, n.Direction, true) } genStructs(model) genAliases(model) @@ -49,7 +49,7 @@ func generateOutput(model Model) { genMarshal() } -func genDecl(method string, param, result *Type, dir string) { +func genDecl(model *Model, method string, param, result *Type, dir string) { fname := methodName(method) p := "" if notNil(param) { @@ -71,7 +71,8 @@ func genDecl(method string, param, result *Type, dir string) { p = ", *ParamConfiguration" ret = "([]LSPAny, error)" } - msg := fmt.Sprintf("\t%s(context.Context%s) %s // %s\n", fname, p, ret, method) + fragment := strings.ReplaceAll(strings.TrimPrefix(method, "$/"), "/", "_") + msg := fmt.Sprintf("\t%s\t%s(context.Context%s) %s\n", lspLink(model, fragment), fname, p, ret) switch dir { case "clientToServer": sdecls[method] = msg @@ -85,7 +86,7 @@ func genDecl(method string, param, result *Type, dir string) { } } -func genCase(method string, param, result *Type, dir string) { +func genCase(model *Model, method string, param, result *Type, dir string) { out := new(bytes.Buffer) fmt.Fprintf(out, "\tcase %q:\n", method) var p string @@ -127,7 +128,7 @@ func genCase(method string, param, result *Type, dir string) { } } -func genFunc(method string, param, result *Type, dir string, isnotify bool) { +func genFunc(model *Model, method string, param, result *Type, dir string, isnotify bool) { out := new(bytes.Buffer) var p, r string var goResult string @@ -202,7 +203,7 @@ func genFunc(method string, param, result *Type, dir string, isnotify bool) { } } -func genStructs(model Model) { +func genStructs(model *Model) { structures := make(map[string]*Structure) // for expanding Extends for _, s := range model.Structures { structures[s.Name] = s @@ -215,6 +216,8 @@ func genStructs(model Model) { // a weird case, and needed only so the generated code contains the old gopls code nm = "DocumentDiagnosticParams" } + fmt.Fprintf(out, "//\n") + out.WriteString(lspLink(model, camelCase(s.Name))) fmt.Fprintf(out, "type %s struct {%s\n", nm, linex(s.Line)) // for gpls compatibilitye, embed most extensions, but expand the rest some day props := append([]NameType{}, s.Properties...) @@ -245,6 +248,19 @@ func genStructs(model Model) { } +// "FooBar" -> "fooBar" +func camelCase(TitleCased string) string { + return strings.ToLower(TitleCased[:1]) + TitleCased[1:] +} + +func lspLink(model *Model, fragment string) string { + // Derive URL version from metaData.version in JSON file. + parts := strings.Split(model.Version.Version, ".") // e.g. "3.17.0" + return fmt.Sprintf("// See https://microsoft.github.io/language-server-protocol/specifications/lsp/%s.%s/specification#%s\n", + parts[0], parts[1], // major.minor + fragment) +} + func genProps(out *bytes.Buffer, props []NameType, name string) { for _, p := range props { tp := goplsName(p.Type) @@ -263,7 +279,7 @@ func genProps(out *bytes.Buffer, props []NameType, name string) { } } -func genAliases(model Model) { +func genAliases(model *Model) { for _, ta := range model.TypeAliases { out := new(bytes.Buffer) generateDoc(out, ta.Documentation) @@ -272,6 +288,8 @@ func genAliases(model Model) { continue // renamed the type, e.g., "DocumentDiagnosticReport", an or-type to "string" } tp := goplsName(ta.Type) + fmt.Fprintf(out, "//\n") + out.WriteString(lspLink(model, camelCase(ta.Name))) fmt.Fprintf(out, "type %s = %s // (alias)\n", nm, tp) types[nm] = out.String() } @@ -320,7 +338,7 @@ func genGenTypes() { types[nm] = out.String() } } -func genConsts(model Model) { +func genConsts(model *Model) { for _, e := range model.Enumerations { out := new(bytes.Buffer) generateDoc(out, e.Documentation) diff --git a/gopls/internal/protocol/generate/typenames.go b/gopls/internal/protocol/generate/typenames.go index 83f25a010a0..69fa7cfdb15 100644 --- a/gopls/internal/protocol/generate/typenames.go +++ b/gopls/internal/protocol/generate/typenames.go @@ -13,7 +13,7 @@ import ( var typeNames = make(map[*Type]string) var genTypes []*newType -func findTypeNames(model Model) { +func findTypeNames(model *Model) { for _, s := range model.Structures { for _, e := range s.Extends { nameType(e, nil) // all references diff --git a/gopls/internal/protocol/tsclient.go b/gopls/internal/protocol/tsclient.go index 6305d766ed3..3f860d5351a 100644 --- a/gopls/internal/protocol/tsclient.go +++ b/gopls/internal/protocol/tsclient.go @@ -17,26 +17,46 @@ import ( ) type Client interface { - LogTrace(context.Context, *LogTraceParams) error // $/logTrace - Progress(context.Context, *ProgressParams) error // $/progress - RegisterCapability(context.Context, *RegistrationParams) error // client/registerCapability - UnregisterCapability(context.Context, *UnregistrationParams) error // client/unregisterCapability - Event(context.Context, *interface{}) error // telemetry/event - PublishDiagnostics(context.Context, *PublishDiagnosticsParams) error // textDocument/publishDiagnostics - LogMessage(context.Context, *LogMessageParams) error // window/logMessage - ShowDocument(context.Context, *ShowDocumentParams) (*ShowDocumentResult, error) // window/showDocument - ShowMessage(context.Context, *ShowMessageParams) error // window/showMessage - ShowMessageRequest(context.Context, *ShowMessageRequestParams) (*MessageActionItem, error) // window/showMessageRequest - WorkDoneProgressCreate(context.Context, *WorkDoneProgressCreateParams) error // window/workDoneProgress/create - ApplyEdit(context.Context, *ApplyWorkspaceEditParams) (*ApplyWorkspaceEditResult, error) // workspace/applyEdit - CodeLensRefresh(context.Context) error // workspace/codeLens/refresh - Configuration(context.Context, *ParamConfiguration) ([]LSPAny, error) // workspace/configuration - DiagnosticRefresh(context.Context) error // workspace/diagnostic/refresh - FoldingRangeRefresh(context.Context) error // workspace/foldingRange/refresh - InlayHintRefresh(context.Context) error // workspace/inlayHint/refresh - InlineValueRefresh(context.Context) error // workspace/inlineValue/refresh - SemanticTokensRefresh(context.Context) error // workspace/semanticTokens/refresh - WorkspaceFolders(context.Context) ([]WorkspaceFolder, error) // workspace/workspaceFolders + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#logTrace + LogTrace(context.Context, *LogTraceParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progress + Progress(context.Context, *ProgressParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#client_registerCapability + RegisterCapability(context.Context, *RegistrationParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#client_unregisterCapability + UnregisterCapability(context.Context, *UnregistrationParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#telemetry_event + Event(context.Context, *interface{}) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_publishDiagnostics + PublishDiagnostics(context.Context, *PublishDiagnosticsParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_logMessage + LogMessage(context.Context, *LogMessageParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_showDocument + ShowDocument(context.Context, *ShowDocumentParams) (*ShowDocumentResult, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_showMessage + ShowMessage(context.Context, *ShowMessageParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_showMessageRequest + ShowMessageRequest(context.Context, *ShowMessageRequestParams) (*MessageActionItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_workDoneProgress_create + WorkDoneProgressCreate(context.Context, *WorkDoneProgressCreateParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_applyEdit + ApplyEdit(context.Context, *ApplyWorkspaceEditParams) (*ApplyWorkspaceEditResult, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_codeLens_refresh + CodeLensRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_configuration + Configuration(context.Context, *ParamConfiguration) ([]LSPAny, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_diagnostic_refresh + DiagnosticRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_foldingRange_refresh + FoldingRangeRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_inlayHint_refresh + InlayHintRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_inlineValue_refresh + InlineValueRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_semanticTokens_refresh + SemanticTokensRefresh(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_workspaceFolders + WorkspaceFolders(context.Context) ([]WorkspaceFolder, error) } func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, r jsonrpc2.Request) (bool, error) { diff --git a/gopls/internal/protocol/tsprotocol.go b/gopls/internal/protocol/tsprotocol.go index 6fcfee23d0e..ac2de6f65f9 100644 --- a/gopls/internal/protocol/tsprotocol.go +++ b/gopls/internal/protocol/tsprotocol.go @@ -15,6 +15,8 @@ import "encoding/json" // A special text edit with an additional change annotation. // // @since 3.16.0. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#annotatedTextEdit type AnnotatedTextEdit struct { // The actual identifier of the change annotation AnnotationID *ChangeAnnotationIdentifier `json:"annotationId,omitempty"` @@ -22,6 +24,8 @@ type AnnotatedTextEdit struct { } // The parameters passed via an apply workspace edit request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#applyWorkspaceEditParams type ApplyWorkspaceEditParams struct { // An optional label of the workspace edit. This label is // presented in the user interface for example on an undo @@ -34,6 +38,8 @@ type ApplyWorkspaceEditParams struct { // The result returned from the apply workspace edit request. // // @since 3.17 renamed from ApplyWorkspaceEditResponse +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#applyWorkspaceEditResult type ApplyWorkspaceEditResult struct { // Indicates whether the edit was applied or not. Applied bool `json:"applied"` @@ -48,6 +54,8 @@ type ApplyWorkspaceEditResult struct { } // A base for all symbol information. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#baseSymbolInformation type BaseSymbolInformation struct { // The name of this symbol. Name string `json:"name"` @@ -65,6 +73,8 @@ type BaseSymbolInformation struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyClientCapabilities type CallHierarchyClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` @@ -75,6 +85,8 @@ type CallHierarchyClientCapabilities struct { // Represents an incoming call, e.g. a caller of a method or constructor. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyIncomingCall type CallHierarchyIncomingCall struct { // The item that makes the call. From CallHierarchyItem `json:"from"` @@ -86,6 +98,8 @@ type CallHierarchyIncomingCall struct { // The parameter of a `callHierarchy/incomingCalls` request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyIncomingCallsParams type CallHierarchyIncomingCallsParams struct { Item CallHierarchyItem `json:"item"` WorkDoneProgressParams @@ -96,6 +110,8 @@ type CallHierarchyIncomingCallsParams struct { // of call hierarchy. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyItem type CallHierarchyItem struct { // The name of this item. Name string `json:"name"` @@ -120,6 +136,8 @@ type CallHierarchyItem struct { // Call hierarchy options used during static registration. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOptions type CallHierarchyOptions struct { WorkDoneProgressOptions } @@ -127,6 +145,8 @@ type CallHierarchyOptions struct { // Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOutgoingCall type CallHierarchyOutgoingCall struct { // The item that is called. To CallHierarchyItem `json:"to"` @@ -139,6 +159,8 @@ type CallHierarchyOutgoingCall struct { // The parameter of a `callHierarchy/outgoingCalls` request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyOutgoingCallsParams type CallHierarchyOutgoingCallsParams struct { Item CallHierarchyItem `json:"item"` WorkDoneProgressParams @@ -148,6 +170,8 @@ type CallHierarchyOutgoingCallsParams struct { // The parameter of a `textDocument/prepareCallHierarchy` request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyPrepareParams type CallHierarchyPrepareParams struct { TextDocumentPositionParams WorkDoneProgressParams @@ -156,11 +180,15 @@ type CallHierarchyPrepareParams struct { // Call hierarchy options used during static or dynamic registration. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchyRegistrationOptions type CallHierarchyRegistrationOptions struct { TextDocumentRegistrationOptions CallHierarchyOptions StaticRegistrationOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#cancelParams type CancelParams struct { // The request id to cancel. ID interface{} `json:"id"` @@ -169,6 +197,8 @@ type CancelParams struct { // Additional information that describes document changes. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotation type ChangeAnnotation struct { // A human-readable string describing the actual change. The string // is rendered prominent in the user interface. @@ -182,9 +212,13 @@ type ChangeAnnotation struct { } // An identifier to refer to a change annotation stored with a workspace edit. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotationIdentifier type ChangeAnnotationIdentifier = string // (alias) // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#changeAnnotationsSupportOptions type ChangeAnnotationsSupportOptions struct { // Whether the client groups edits with equal labels into tree nodes, // for instance all edits labelled with "Changes in Strings" would @@ -193,6 +227,8 @@ type ChangeAnnotationsSupportOptions struct { } // Defines the capabilities provided by the client. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCapabilities type ClientCapabilities struct { // Workspace specific client capabilities. Workspace WorkspaceClientCapabilities `json:"workspace,omitempty"` @@ -214,6 +250,8 @@ type ClientCapabilities struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionKindOptions type ClientCodeActionKindOptions struct { // The code action kind values the client supports. When this // property exists the client also guarantees that it will @@ -224,6 +262,8 @@ type ClientCodeActionKindOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionLiteralOptions type ClientCodeActionLiteralOptions struct { // The code action kind is support with the following value // set. @@ -232,6 +272,8 @@ type ClientCodeActionLiteralOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCodeActionResolveOptions type ClientCodeActionResolveOptions struct { // The properties that a client can resolve lazily. Properties []string `json:"properties"` @@ -239,12 +281,16 @@ type ClientCodeActionResolveOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemInsertTextModeOptions type ClientCompletionItemInsertTextModeOptions struct { ValueSet []InsertTextMode `json:"valueSet"` } // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemOptions type ClientCompletionItemOptions struct { // Client supports snippets as insert text. // @@ -295,6 +341,8 @@ type ClientCompletionItemOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemOptionsKind type ClientCompletionItemOptionsKind struct { // The completion item kind values the client supports. When this // property exists the client also guarantees that it will @@ -309,6 +357,8 @@ type ClientCompletionItemOptionsKind struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientCompletionItemResolveOptions type ClientCompletionItemResolveOptions struct { // The properties that a client can resolve lazily. Properties []string `json:"properties"` @@ -316,6 +366,8 @@ type ClientCompletionItemResolveOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientDiagnosticsTagOptions type ClientDiagnosticsTagOptions struct { // The tags supported by the client. ValueSet []DiagnosticTag `json:"valueSet"` @@ -323,6 +375,8 @@ type ClientDiagnosticsTagOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientFoldingRangeKindOptions type ClientFoldingRangeKindOptions struct { // The folding range kind values the client supports. When this // property exists the client also guarantees that it will @@ -333,6 +387,8 @@ type ClientFoldingRangeKindOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientFoldingRangeOptions type ClientFoldingRangeOptions struct { // If set, the client signals that it supports setting collapsedText on // folding ranges to display custom labels instead of the default text. @@ -346,6 +402,8 @@ type ClientFoldingRangeOptions struct { // @since 3.15.0 // @since 3.18.0 ClientInfo type name added. // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientInfo type ClientInfo struct { // The name of the client as defined by the client. Name string `json:"name"` @@ -355,6 +413,8 @@ type ClientInfo struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientInlayHintResolveOptions type ClientInlayHintResolveOptions struct { // The properties that a client can resolve lazily. Properties []string `json:"properties"` @@ -362,6 +422,8 @@ type ClientInlayHintResolveOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSemanticTokensRequestFullDelta type ClientSemanticTokensRequestFullDelta struct { // The client will send the `textDocument/semanticTokens/full/delta` request if // the server provides a corresponding handler. @@ -370,6 +432,8 @@ type ClientSemanticTokensRequestFullDelta struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSemanticTokensRequestOptions type ClientSemanticTokensRequestOptions struct { // The client will send the `textDocument/semanticTokens/range` request if // the server provides a corresponding handler. @@ -381,6 +445,8 @@ type ClientSemanticTokensRequestOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientShowMessageActionItemOptions type ClientShowMessageActionItemOptions struct { // Whether the client supports additional attributes which // are preserved and send back to the server in the @@ -390,6 +456,8 @@ type ClientShowMessageActionItemOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSignatureInformationOptions type ClientSignatureInformationOptions struct { // Client supports the following content formats for the documentation // property. The order describes the preferred format of the client. @@ -412,6 +480,8 @@ type ClientSignatureInformationOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSignatureParameterInformationOptions type ClientSignatureParameterInformationOptions struct { // The client supports processing label offsets instead of a // simple label string. @@ -422,6 +492,8 @@ type ClientSignatureParameterInformationOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolKindOptions type ClientSymbolKindOptions struct { // The symbol kind values the client supports. When this // property exists the client also guarantees that it will @@ -436,6 +508,8 @@ type ClientSymbolKindOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolResolveOptions type ClientSymbolResolveOptions struct { // The properties that a client can resolve lazily. Usually // `location.range` @@ -444,6 +518,8 @@ type ClientSymbolResolveOptions struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#clientSymbolTagOptions type ClientSymbolTagOptions struct { // The tags supported by the client. ValueSet []SymbolTag `json:"valueSet"` @@ -453,6 +529,8 @@ type ClientSymbolTagOptions struct { // to refactor code. // // A CodeAction must set either `edit` and/or a `command`. If both are supplied, the `edit` is applied first, then the `command` is executed. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeAction type CodeAction struct { // A short, human-readable, title for this code action. Title string `json:"title"` @@ -500,6 +578,8 @@ type CodeAction struct { } // The Client Capabilities of a {@link CodeActionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionClientCapabilities type CodeActionClientCapabilities struct { // Whether code action supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -546,6 +626,8 @@ type CodeActionClientCapabilities struct { // Contains additional diagnostic information about the context in which // a {@link CodeActionProvider.provideCodeActions code action} is run. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionContext type CodeActionContext struct { // An array of diagnostics known on the client side overlapping the range provided to the // `textDocument/codeAction` request. They are provided so that the server knows which @@ -568,6 +650,8 @@ type CodeActionContext struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionDisabled type CodeActionDisabled struct { // Human readable description of why the code action is currently disabled. // @@ -582,6 +666,8 @@ type CodeActionKind string // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionKindDocumentation type CodeActionKindDocumentation struct { // The kind of the code action being documented. // @@ -596,6 +682,8 @@ type CodeActionKindDocumentation struct { } // Provider options for a {@link CodeActionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionOptions type CodeActionOptions struct { // CodeActionKinds that this server may return. // @@ -629,6 +717,8 @@ type CodeActionOptions struct { } // The parameters of a {@link CodeActionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionParams type CodeActionParams struct { // The document in which the command was invoked. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -641,6 +731,8 @@ type CodeActionParams struct { } // Registration options for a {@link CodeActionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeActionRegistrationOptions type CodeActionRegistrationOptions struct { TextDocumentRegistrationOptions CodeActionOptions @@ -654,6 +746,8 @@ type CodeActionTriggerKind uint32 // Structure to capture a description for an error code. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeDescription type CodeDescription struct { // An URI to open with more information about the diagnostic error. Href URI `json:"href"` @@ -664,6 +758,8 @@ type CodeDescription struct { // // A code lens is _unresolved_ when no command is associated to it. For performance // reasons the creation of a code lens and resolving should be done in two stages. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLens type CodeLens struct { // The range in which this code lens is valid. Should only span a single line. Range Range `json:"range"` @@ -675,12 +771,16 @@ type CodeLens struct { } // The client capabilities of a {@link CodeLensRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensClientCapabilities type CodeLensClientCapabilities struct { // Whether code lens supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // Code Lens provider options of a {@link CodeLensRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensOptions type CodeLensOptions struct { // Code lens has a resolve provider as well. ResolveProvider bool `json:"resolveProvider,omitempty"` @@ -688,6 +788,8 @@ type CodeLensOptions struct { } // The parameters of a {@link CodeLensRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensParams type CodeLensParams struct { // The document to request code lens for. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -696,12 +798,16 @@ type CodeLensParams struct { } // Registration options for a {@link CodeLensRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensRegistrationOptions type CodeLensRegistrationOptions struct { TextDocumentRegistrationOptions CodeLensOptions } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLensWorkspaceClientCapabilities type CodeLensWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from the // server to the client. @@ -714,6 +820,8 @@ type CodeLensWorkspaceClientCapabilities struct { } // Represents a color in RGBA space. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#color type Color struct { // The red component of this color in the range [0-1]. Red float64 `json:"red"` @@ -726,12 +834,16 @@ type Color struct { } // Represents a color range from a document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorInformation type ColorInformation struct { // The range in the document where this color appears. Range Range `json:"range"` // The actual color value for this color range. Color Color `json:"color"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorPresentation type ColorPresentation struct { // The label of this color presentation. It will be shown on the color // picker header. By default this is also the text that is inserted when selecting @@ -747,6 +859,8 @@ type ColorPresentation struct { } // Parameters for a {@link ColorPresentationRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#colorPresentationParams type ColorPresentationParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -762,6 +876,8 @@ type ColorPresentationParams struct { // will be used to represent a command in the UI and, optionally, // an array of arguments which will be passed to the command handler // function when invoked. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#command type Command struct { // Title of the command, like `save`. Title string `json:"title"` @@ -778,6 +894,8 @@ type Command struct { } // Completion client capabilities +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionClientCapabilities type CompletionClientCapabilities struct { // Whether completion supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -802,6 +920,8 @@ type CompletionClientCapabilities struct { } // Contains additional information about the context in which a completion request is triggered. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionContext type CompletionContext struct { // How the completion was triggered. TriggerKind CompletionTriggerKind `json:"triggerKind"` @@ -812,6 +932,8 @@ type CompletionContext struct { // A completion item represents a text snippet that is // proposed to complete text that is being typed. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItem type CompletionItem struct { // The label of this completion item. // @@ -945,6 +1067,8 @@ type CompletionItem struct { // capability. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemDefaults type CompletionItemDefaults struct { // A default commit character set. // @@ -974,6 +1098,8 @@ type CompletionItemKind uint32 // Additional details for a completion item label. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemLabelDetails type CompletionItemLabelDetails struct { // An optional string which is rendered less prominently directly after {@link CompletionItem.label label}, // without any spacing. Should be used for function signatures and type annotations. @@ -991,6 +1117,8 @@ type CompletionItemTag uint32 // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItemTagOptions type CompletionItemTagOptions struct { // The tags supported by the client. ValueSet []CompletionItemTag `json:"valueSet"` @@ -998,6 +1126,8 @@ type CompletionItemTagOptions struct { // Represents a collection of {@link CompletionItem completion items} to be presented // in the editor. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionList type CompletionList struct { // This list it not complete. Further typing results in recomputing this list. // @@ -1026,6 +1156,8 @@ type CompletionList struct { // capabilities. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionListCapabilities type CompletionListCapabilities struct { // The client supports the following itemDefaults on // a completion list. @@ -1039,6 +1171,8 @@ type CompletionListCapabilities struct { } // Completion options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionOptions type CompletionOptions struct { // Most tools trigger completion request automatically without explicitly requesting // it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user @@ -1070,6 +1204,8 @@ type CompletionOptions struct { } // Completion parameters +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionParams type CompletionParams struct { // The completion context. This is only available it the client specifies // to send this using the client capability `textDocument.completion.contextSupport === true` @@ -1080,6 +1216,8 @@ type CompletionParams struct { } // Registration options for a {@link CompletionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionRegistrationOptions type CompletionRegistrationOptions struct { TextDocumentRegistrationOptions CompletionOptions @@ -1087,6 +1225,8 @@ type CompletionRegistrationOptions struct { // How a completion was triggered type CompletionTriggerKind uint32 + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationItem type ConfigurationItem struct { // The scope to get the configuration section for. ScopeURI *URI `json:"scopeUri,omitempty"` @@ -1095,11 +1235,15 @@ type ConfigurationItem struct { } // The parameters of a configuration request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationParams type ConfigurationParams struct { Items []ConfigurationItem `json:"items"` } // Create file operation. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFile type CreateFile struct { // A create Kind string `json:"kind"` @@ -1111,6 +1255,8 @@ type CreateFile struct { } // Options to create a file. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFileOptions type CreateFileOptions struct { // Overwrite existing file. Overwrite wins over `ignoreIfExists` Overwrite bool `json:"overwrite,omitempty"` @@ -1122,14 +1268,20 @@ type CreateFileOptions struct { // files. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#createFilesParams type CreateFilesParams struct { // An array of all files/folders created in this operation. Files []FileCreate `json:"files"` } // The declaration of a symbol representation as one or many {@link Location locations}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declaration type Declaration = []Location // (alias) // @since 3.14.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationClientCapabilities type DeclarationClientCapabilities struct { // Whether declaration supports dynamic registration. If this is set to `true` // the client supports the new `DeclarationRegistrationOptions` return value @@ -1146,15 +1298,22 @@ type DeclarationClientCapabilities struct { // // Servers should prefer returning `DeclarationLink` over `Declaration` if supported // by the client. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationLink type DeclarationLink = LocationLink // (alias) +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationOptions type DeclarationOptions struct { WorkDoneProgressOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationParams type DeclarationParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#declarationRegistrationOptions type DeclarationRegistrationOptions struct { DeclarationOptions TextDocumentRegistrationOptions @@ -1167,8 +1326,12 @@ type DeclarationRegistrationOptions struct { // // Servers should prefer returning `DefinitionLink` over `Definition` if supported // by the client. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definition type Definition = Or_Definition // (alias) // Client Capabilities for a {@link DefinitionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionClientCapabilities type DefinitionClientCapabilities struct { // Whether definition supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1182,13 +1345,19 @@ type DefinitionClientCapabilities struct { // // Provides additional metadata over normal {@link Location location} definitions, including the range of // the defining symbol +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionLink type DefinitionLink = LocationLink // (alias) // Server Capabilities for a {@link DefinitionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionOptions type DefinitionOptions struct { WorkDoneProgressOptions } // Parameters for a {@link DefinitionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionParams type DefinitionParams struct { TextDocumentPositionParams WorkDoneProgressParams @@ -1196,12 +1365,16 @@ type DefinitionParams struct { } // Registration options for a {@link DefinitionRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#definitionRegistrationOptions type DefinitionRegistrationOptions struct { TextDocumentRegistrationOptions DefinitionOptions } // Delete file operation +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFile type DeleteFile struct { // A delete Kind string `json:"kind"` @@ -1213,6 +1386,8 @@ type DeleteFile struct { } // Delete file options +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFileOptions type DeleteFileOptions struct { // Delete the content recursively if a folder is denoted. Recursive bool `json:"recursive,omitempty"` @@ -1224,6 +1399,8 @@ type DeleteFileOptions struct { // files. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#deleteFilesParams type DeleteFilesParams struct { // An array of all files/folders deleted in this operation. Files []FileDelete `json:"files"` @@ -1231,6 +1408,8 @@ type DeleteFilesParams struct { // Represents a diagnostic, such as a compiler error or warning. Diagnostic objects // are only valid in the scope of a resource. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnostic type Diagnostic struct { // The range at which the message applies Range Range `json:"range"` @@ -1267,6 +1446,8 @@ type Diagnostic struct { // Client capabilities specific to diagnostic pull requests. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticClientCapabilities type DiagnosticClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` @@ -1279,6 +1460,8 @@ type DiagnosticClientCapabilities struct { // Diagnostic options. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticOptions type DiagnosticOptions struct { // An optional identifier under which the diagnostics are // managed by the client. @@ -1296,6 +1479,8 @@ type DiagnosticOptions struct { // Diagnostic registration options. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticRegistrationOptions type DiagnosticRegistrationOptions struct { TextDocumentRegistrationOptions DiagnosticOptions @@ -1305,6 +1490,8 @@ type DiagnosticRegistrationOptions struct { // Represents a related message and source code location for a diagnostic. This should be // used to point to code locations that cause or related to a diagnostics, e.g when duplicating // a symbol in a scope. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticRelatedInformation type DiagnosticRelatedInformation struct { // The location of this related diagnostic information. Location Location `json:"location"` @@ -1315,6 +1502,8 @@ type DiagnosticRelatedInformation struct { // Cancellation data returned from a diagnostic request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticServerCancellationData type DiagnosticServerCancellationData struct { RetriggerRequest bool `json:"retriggerRequest"` } @@ -1330,6 +1519,8 @@ type DiagnosticTag uint32 // Workspace client capabilities specific to diagnostic pull requests. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#diagnosticWorkspaceClientCapabilities type DiagnosticWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from // the server to the client. @@ -1340,16 +1531,22 @@ type DiagnosticWorkspaceClientCapabilities struct { // change that requires such a calculation. RefreshSupport bool `json:"refreshSupport,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationClientCapabilities type DidChangeConfigurationClientCapabilities struct { // Did change configuration notification supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // The parameters of a change configuration notification. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationParams type DidChangeConfigurationParams struct { // The actual changed settings Settings interface{} `json:"settings"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeConfigurationRegistrationOptions type DidChangeConfigurationRegistrationOptions struct { Section *OrPSection_workspace_didChangeConfiguration `json:"section,omitempty"` } @@ -1357,6 +1554,8 @@ type DidChangeConfigurationRegistrationOptions struct { // The params sent in a change notebook document notification. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeNotebookDocumentParams type DidChangeNotebookDocumentParams struct { // The notebook document that did change. The version number points // to the version after all provided changes have been applied. If @@ -1381,6 +1580,8 @@ type DidChangeNotebookDocumentParams struct { } // The change text document notification's parameters. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeTextDocumentParams type DidChangeTextDocumentParams struct { // The document that did change. The version number points // to the version after all provided content changes have @@ -1400,6 +1601,8 @@ type DidChangeTextDocumentParams struct { // you receive them. ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesClientCapabilities type DidChangeWatchedFilesClientCapabilities struct { // Did change watched files notification supports dynamic registration. Please note // that the current protocol doesn't support static configuration for file changes @@ -1413,18 +1616,24 @@ type DidChangeWatchedFilesClientCapabilities struct { } // The watched files change notification's parameters. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesParams type DidChangeWatchedFilesParams struct { // The actual file events. Changes []FileEvent `json:"changes"` } // Describe options to be used when registered for text document change events. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWatchedFilesRegistrationOptions type DidChangeWatchedFilesRegistrationOptions struct { // The watchers to register. Watchers []FileSystemWatcher `json:"watchers"` } // The parameters of a `workspace/didChangeWorkspaceFolders` notification. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didChangeWorkspaceFoldersParams type DidChangeWorkspaceFoldersParams struct { // The actual workspace folder change event. Event WorkspaceFoldersChangeEvent `json:"event"` @@ -1433,6 +1642,8 @@ type DidChangeWorkspaceFoldersParams struct { // The params sent in a close notebook document notification. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didCloseNotebookDocumentParams type DidCloseNotebookDocumentParams struct { // The notebook document that got closed. NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"` @@ -1442,6 +1653,8 @@ type DidCloseNotebookDocumentParams struct { } // The parameters sent in a close text document notification +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didCloseTextDocumentParams type DidCloseTextDocumentParams struct { // The document that was closed. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1450,6 +1663,8 @@ type DidCloseTextDocumentParams struct { // The params sent in an open notebook document notification. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didOpenNotebookDocumentParams type DidOpenNotebookDocumentParams struct { // The notebook document that got opened. NotebookDocument NotebookDocument `json:"notebookDocument"` @@ -1459,6 +1674,8 @@ type DidOpenNotebookDocumentParams struct { } // The parameters sent in an open text document notification +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didOpenTextDocumentParams type DidOpenTextDocumentParams struct { // The document that was opened. TextDocument TextDocumentItem `json:"textDocument"` @@ -1467,12 +1684,16 @@ type DidOpenTextDocumentParams struct { // The params sent in a save notebook document notification. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didSaveNotebookDocumentParams type DidSaveNotebookDocumentParams struct { // The notebook document that got saved. NotebookDocument NotebookDocumentIdentifier `json:"notebookDocument"` } // The parameters sent in a save text document notification +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#didSaveTextDocumentParams type DidSaveTextDocumentParams struct { // The document that was saved. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1480,23 +1701,31 @@ type DidSaveTextDocumentParams struct { // when the save notification was requested. Text *string `json:"text,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorClientCapabilities type DocumentColorClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `DocumentColorRegistrationOptions` return value // for the corresponding server capability as well. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorOptions type DocumentColorOptions struct { WorkDoneProgressOptions } // Parameters for a {@link DocumentColorRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorParams type DocumentColorParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentColorRegistrationOptions type DocumentColorRegistrationOptions struct { TextDocumentRegistrationOptions DocumentColorOptions @@ -1506,6 +1735,8 @@ type DocumentColorRegistrationOptions struct { // Parameters of the document diagnostic request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentDiagnosticParams type DocumentDiagnosticParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1525,6 +1756,8 @@ type DocumentDiagnosticReportKind string // A partial result for a document diagnostic report. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentDiagnosticReportPartialResult type DocumentDiagnosticReportPartialResult struct { RelatedDocuments map[DocumentURI]interface{} `json:"relatedDocuments"` } @@ -1533,19 +1766,27 @@ type DocumentDiagnosticReportPartialResult struct { // a notebook cell document. // // @since 3.17.0 - proposed support for NotebookCellTextDocumentFilter. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFilter type DocumentFilter = Or_DocumentFilter // (alias) // Client capabilities of a {@link DocumentFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingClientCapabilities type DocumentFormattingClientCapabilities struct { // Whether formatting supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // Provider options for a {@link DocumentFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingOptions type DocumentFormattingOptions struct { WorkDoneProgressOptions } // The parameters of a {@link DocumentFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingParams type DocumentFormattingParams struct { // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1555,6 +1796,8 @@ type DocumentFormattingParams struct { } // Registration options for a {@link DocumentFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentFormattingRegistrationOptions type DocumentFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentFormattingOptions @@ -1563,6 +1806,8 @@ type DocumentFormattingRegistrationOptions struct { // A document highlight is a range inside a text document which deserves // special attention. Usually a document highlight is visualized by changing // the background color of its range. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlight type DocumentHighlight struct { // The range this highlight applies to. Range Range `json:"range"` @@ -1571,6 +1816,8 @@ type DocumentHighlight struct { } // Client Capabilities for a {@link DocumentHighlightRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightClientCapabilities type DocumentHighlightClientCapabilities struct { // Whether document highlight supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1580,11 +1827,15 @@ type DocumentHighlightClientCapabilities struct { type DocumentHighlightKind uint32 // Provider options for a {@link DocumentHighlightRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightOptions type DocumentHighlightOptions struct { WorkDoneProgressOptions } // Parameters for a {@link DocumentHighlightRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightParams type DocumentHighlightParams struct { TextDocumentPositionParams WorkDoneProgressParams @@ -1592,6 +1843,8 @@ type DocumentHighlightParams struct { } // Registration options for a {@link DocumentHighlightRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentHighlightRegistrationOptions type DocumentHighlightRegistrationOptions struct { TextDocumentRegistrationOptions DocumentHighlightOptions @@ -1599,6 +1852,8 @@ type DocumentHighlightRegistrationOptions struct { // A document link is a range in a text document that links to an internal or external resource, like another // text document or a web site. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLink type DocumentLink struct { // The range this link applies to. Range Range `json:"range"` @@ -1618,6 +1873,8 @@ type DocumentLink struct { } // The client capabilities of a {@link DocumentLinkRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkClientCapabilities type DocumentLinkClientCapabilities struct { // Whether document link supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1628,6 +1885,8 @@ type DocumentLinkClientCapabilities struct { } // Provider options for a {@link DocumentLinkRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkOptions type DocumentLinkOptions struct { // Document links have a resolve provider as well. ResolveProvider bool `json:"resolveProvider,omitempty"` @@ -1635,6 +1894,8 @@ type DocumentLinkOptions struct { } // The parameters of a {@link DocumentLinkRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkParams type DocumentLinkParams struct { // The document to provide document links for. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1643,18 +1904,24 @@ type DocumentLinkParams struct { } // Registration options for a {@link DocumentLinkRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLinkRegistrationOptions type DocumentLinkRegistrationOptions struct { TextDocumentRegistrationOptions DocumentLinkOptions } // Client capabilities of a {@link DocumentOnTypeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingClientCapabilities type DocumentOnTypeFormattingClientCapabilities struct { // Whether on type formatting supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // Provider options for a {@link DocumentOnTypeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingOptions type DocumentOnTypeFormattingOptions struct { // A character on which formatting should be triggered, like `{`. FirstTriggerCharacter string `json:"firstTriggerCharacter"` @@ -1663,6 +1930,8 @@ type DocumentOnTypeFormattingOptions struct { } // The parameters of a {@link DocumentOnTypeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingParams type DocumentOnTypeFormattingParams struct { // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1680,12 +1949,16 @@ type DocumentOnTypeFormattingParams struct { } // Registration options for a {@link DocumentOnTypeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentOnTypeFormattingRegistrationOptions type DocumentOnTypeFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentOnTypeFormattingOptions } // Client capabilities of a {@link DocumentRangeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingClientCapabilities type DocumentRangeFormattingClientCapabilities struct { // Whether range formatting supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1697,6 +1970,8 @@ type DocumentRangeFormattingClientCapabilities struct { } // Provider options for a {@link DocumentRangeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingOptions type DocumentRangeFormattingOptions struct { // Whether the server supports formatting multiple ranges at once. // @@ -1707,6 +1982,8 @@ type DocumentRangeFormattingOptions struct { } // The parameters of a {@link DocumentRangeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingParams type DocumentRangeFormattingParams struct { // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1718,6 +1995,8 @@ type DocumentRangeFormattingParams struct { } // Registration options for a {@link DocumentRangeFormattingRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangeFormattingRegistrationOptions type DocumentRangeFormattingRegistrationOptions struct { TextDocumentRegistrationOptions DocumentRangeFormattingOptions @@ -1727,6 +2006,8 @@ type DocumentRangeFormattingRegistrationOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentRangesFormattingParams type DocumentRangesFormattingParams struct { // The document to format. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1742,11 +2023,15 @@ type DocumentRangesFormattingParams struct { // @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`; // // The use of a string as a document filter is deprecated @since 3.16.0. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSelector type DocumentSelector = []DocumentFilter // (alias) // Represents programming constructs like variables, classes, interfaces etc. // that appear in a document. Document symbols can be hierarchical and they // have two ranges: one that encloses its definition and one that points to // its most interesting range, e.g. the range of an identifier. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbol type DocumentSymbol struct { // The name of this symbol. Will be displayed in the user interface and therefore must not be // an empty string or a string only consisting of white spaces. @@ -1775,6 +2060,8 @@ type DocumentSymbol struct { } // Client Capabilities for a {@link DocumentSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolClientCapabilities type DocumentSymbolClientCapabilities struct { // Whether document symbol supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1797,6 +2084,8 @@ type DocumentSymbolClientCapabilities struct { } // Provider options for a {@link DocumentSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolOptions type DocumentSymbolOptions struct { // A human-readable string that is shown when multiple outlines trees // are shown for the same document. @@ -1807,6 +2096,8 @@ type DocumentSymbolOptions struct { } // Parameters for a {@link DocumentSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolParams type DocumentSymbolParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -1815,6 +2106,8 @@ type DocumentSymbolParams struct { } // Registration options for a {@link DocumentSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentSymbolRegistrationOptions type DocumentSymbolRegistrationOptions struct { TextDocumentRegistrationOptions DocumentSymbolOptions @@ -1824,6 +2117,8 @@ type DocumentSymbolRegistrationOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#editRangeWithInsertReplace type EditRangeWithInsertReplace struct { Insert Range `json:"insert"` Replace Range `json:"replace"` @@ -1833,12 +2128,16 @@ type EditRangeWithInsertReplace struct { type ErrorCodes int32 // The client capabilities of a {@link ExecuteCommandRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandClientCapabilities type ExecuteCommandClientCapabilities struct { // Execute command supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // The server capabilities of a {@link ExecuteCommandRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandOptions type ExecuteCommandOptions struct { // The commands to be executed on the server Commands []string `json:"commands"` @@ -1846,6 +2145,8 @@ type ExecuteCommandOptions struct { } // The parameters of a {@link ExecuteCommandRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandParams type ExecuteCommandParams struct { // The identifier of the actual command handler. Command string `json:"command"` @@ -1855,9 +2156,13 @@ type ExecuteCommandParams struct { } // Registration options for a {@link ExecuteCommandRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executeCommandRegistrationOptions type ExecuteCommandRegistrationOptions struct { ExecuteCommandOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#executionSummary type ExecutionSummary struct { // A strict monotonically increasing value // indicating the execution order of a cell @@ -1875,6 +2180,8 @@ type FileChangeType uint32 // Represents information on a file/folder create. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileCreate type FileCreate struct { // A file:// URI for the location of the file/folder being created. URI string `json:"uri"` @@ -1883,12 +2190,16 @@ type FileCreate struct { // Represents information on a file/folder delete. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileDelete type FileDelete struct { // A file:// URI for the location of the file/folder being deleted. URI string `json:"uri"` } // An event describing a file change. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileEvent type FileEvent struct { // The file's uri. URI DocumentURI `json:"uri"` @@ -1902,6 +2213,8 @@ type FileEvent struct { // like renaming a file in the UI. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationClientCapabilities type FileOperationClientCapabilities struct { // Whether the client supports dynamic registration for file requests/notifications. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -1923,6 +2236,8 @@ type FileOperationClientCapabilities struct { // the server is interested in receiving. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationFilter type FileOperationFilter struct { // A Uri scheme like `file` or `untitled`. Scheme string `json:"scheme,omitempty"` @@ -1933,6 +2248,8 @@ type FileOperationFilter struct { // Options for notifications/requests for user operations on files. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationOptions type FileOperationOptions struct { // The server is interested in receiving didCreateFiles notifications. DidCreate *FileOperationRegistrationOptions `json:"didCreate,omitempty"` @@ -1952,6 +2269,8 @@ type FileOperationOptions struct { // the server is interested in receiving. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationPattern type FileOperationPattern struct { // The glob pattern to match. Glob patterns can have the following syntax: // @@ -1979,6 +2298,8 @@ type FileOperationPatternKind string // Matching options for the file operation pattern. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationPatternOptions type FileOperationPatternOptions struct { // The pattern should be matched ignoring casing. IgnoreCase bool `json:"ignoreCase,omitempty"` @@ -1987,6 +2308,8 @@ type FileOperationPatternOptions struct { // The options to register for file operations. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileOperationRegistrationOptions type FileOperationRegistrationOptions struct { // The actual filters. Filters []FileOperationFilter `json:"filters"` @@ -1995,12 +2318,16 @@ type FileOperationRegistrationOptions struct { // Represents information on a file/folder rename. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileRename type FileRename struct { // A file:// URI for the original location of the file/folder being renamed. OldURI string `json:"oldUri"` // A file:// URI for the new location of the file/folder being renamed. NewURI string `json:"newUri"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fileSystemWatcher type FileSystemWatcher struct { // The glob pattern to watch. See {@link GlobPattern glob pattern} for more detail. // @@ -2014,6 +2341,8 @@ type FileSystemWatcher struct { // Represents a folding range. To be valid, start and end line must be bigger than zero and smaller // than the number of lines in the document. Clients are free to ignore invalid ranges. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRange type FoldingRange struct { // The zero-based start line of the range to fold. The folded area starts after the line's last character. // To be valid, the end must be zero or larger and smaller than the number of lines in the document. @@ -2036,6 +2365,8 @@ type FoldingRange struct { // @since 3.17.0 CollapsedText string `json:"collapsedText,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeClientCapabilities type FoldingRangeClientCapabilities struct { // Whether implementation supports dynamic registration for folding range // providers. If this is set to `true` the client supports the new @@ -2062,17 +2393,23 @@ type FoldingRangeClientCapabilities struct { // A set of predefined range kinds. type FoldingRangeKind string + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeOptions type FoldingRangeOptions struct { WorkDoneProgressOptions } // Parameters for a {@link FoldingRangeRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeParams type FoldingRangeParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeRegistrationOptions type FoldingRangeRegistrationOptions struct { TextDocumentRegistrationOptions FoldingRangeOptions @@ -2083,6 +2420,8 @@ type FoldingRangeRegistrationOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#foldingRangeWorkspaceClientCapabilities type FoldingRangeWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from the // server to the client. @@ -2098,6 +2437,8 @@ type FoldingRangeWorkspaceClientCapabilities struct { } // Value-object describing what options formatting should use. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#formattingOptions type FormattingOptions struct { // Size of a tab in spaces. TabSize uint32 `json:"tabSize"` @@ -2120,6 +2461,8 @@ type FormattingOptions struct { // A diagnostic report with a full set of problems. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#fullDocumentDiagnosticReport type FullDocumentDiagnosticReport struct { // A full document diagnostic report. Kind string `json:"kind"` @@ -2134,6 +2477,8 @@ type FullDocumentDiagnosticReport struct { // General client capabilities. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#generalClientCapabilities type GeneralClientCapabilities struct { // Client capability that signals how the client // handles stale requests (e.g. a request @@ -2174,8 +2519,12 @@ type GeneralClientCapabilities struct { // The glob pattern. Either a string pattern or a relative pattern. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#globPattern type GlobPattern = Or_GlobPattern // (alias) // The result of a hover request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hover type Hover struct { // The hover's content Contents MarkupContent `json:"contents"` @@ -2183,6 +2532,8 @@ type Hover struct { // visualize the hover, e.g. by changing the background color. Range Range `json:"range,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverClientCapabilities type HoverClientCapabilities struct { // Whether hover supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -2192,23 +2543,31 @@ type HoverClientCapabilities struct { } // Hover options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverOptions type HoverOptions struct { WorkDoneProgressOptions } // Parameters for a {@link HoverRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverParams type HoverParams struct { TextDocumentPositionParams WorkDoneProgressParams } // Registration options for a {@link HoverRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#hoverRegistrationOptions type HoverRegistrationOptions struct { TextDocumentRegistrationOptions HoverOptions } // @since 3.6.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationClientCapabilities type ImplementationClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `ImplementationRegistrationOptions` return value @@ -2219,14 +2578,20 @@ type ImplementationClientCapabilities struct { // @since 3.14.0 LinkSupport bool `json:"linkSupport,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationOptions type ImplementationOptions struct { WorkDoneProgressOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationParams type ImplementationParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#implementationRegistrationOptions type ImplementationRegistrationOptions struct { TextDocumentRegistrationOptions ImplementationOptions @@ -2235,6 +2600,8 @@ type ImplementationRegistrationOptions struct { // The data type of the ResponseError if the // initialize request fails. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeError type InitializeError struct { // Indicates whether the client execute the following retry logic: // (1) show the message provided by the ResponseError to the user @@ -2242,12 +2609,16 @@ type InitializeError struct { // (3) if user selected retry the initialize method is sent again. Retry bool `json:"retry"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeParams type InitializeParams struct { XInitializeParams WorkspaceFoldersInitializeParams } // The result returned from an initialize request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeResult type InitializeResult struct { // The capabilities the language server provides. Capabilities ServerCapabilities `json:"capabilities"` @@ -2256,12 +2627,16 @@ type InitializeResult struct { // @since 3.15.0 ServerInfo *ServerInfo `json:"serverInfo,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializedParams type InitializedParams struct { } // Inlay hint information. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHint type InlayHint struct { // The position of this hint. // @@ -2304,6 +2679,8 @@ type InlayHint struct { // Inlay hint client capabilities. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintClientCapabilities type InlayHintClientCapabilities struct { // Whether inlay hints support dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -2321,6 +2698,8 @@ type InlayHintKind uint32 // of inlay hints. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintLabelPart type InlayHintLabelPart struct { // The value of this label part. Value string `json:"value"` @@ -2350,6 +2729,8 @@ type InlayHintLabelPart struct { // Inlay hint options used during static registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintOptions type InlayHintOptions struct { // The server provides support to resolve additional // information for an inlay hint item. @@ -2360,6 +2741,8 @@ type InlayHintOptions struct { // A parameter literal used in inlay hint requests. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintParams type InlayHintParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -2371,6 +2754,8 @@ type InlayHintParams struct { // Inlay hint options used during static or dynamic registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintRegistrationOptions type InlayHintRegistrationOptions struct { InlayHintOptions TextDocumentRegistrationOptions @@ -2380,6 +2765,8 @@ type InlayHintRegistrationOptions struct { // Client workspace capabilities specific to inlay hints. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHintWorkspaceClientCapabilities type InlayHintWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from // the server to the client. @@ -2395,6 +2782,8 @@ type InlayHintWorkspaceClientCapabilities struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionClientCapabilities type InlineCompletionClientCapabilities struct { // Whether implementation supports dynamic registration for inline completion providers. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -2404,6 +2793,8 @@ type InlineCompletionClientCapabilities struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionContext type InlineCompletionContext struct { // Describes how the inline completion was triggered. TriggerKind InlineCompletionTriggerKind `json:"triggerKind"` @@ -2415,6 +2806,8 @@ type InlineCompletionContext struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionItem type InlineCompletionItem struct { // The text to replace the range with. Must be set. InsertText Or_InlineCompletionItem_insertText `json:"insertText"` @@ -2430,6 +2823,8 @@ type InlineCompletionItem struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionList type InlineCompletionList struct { // The inline completion items Items []InlineCompletionItem `json:"items"` @@ -2439,6 +2834,8 @@ type InlineCompletionList struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionOptions type InlineCompletionOptions struct { WorkDoneProgressOptions } @@ -2447,6 +2844,8 @@ type InlineCompletionOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionParams type InlineCompletionParams struct { // Additional information about the context in which inline completions were // requested. @@ -2459,6 +2858,8 @@ type InlineCompletionParams struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineCompletionRegistrationOptions type InlineCompletionRegistrationOptions struct { InlineCompletionOptions TextDocumentRegistrationOptions @@ -2480,16 +2881,22 @@ type InlineCompletionTriggerKind uint32 // The InlineValue types combines all inline value types into one type. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValue type InlineValue = Or_InlineValue // (alias) // Client capabilities specific to inline values. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueClientCapabilities type InlineValueClientCapabilities struct { // Whether implementation supports dynamic registration for inline value providers. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueContext type InlineValueContext struct { // The stack frame (as a DAP Id) where the execution has stopped. FrameID int32 `json:"frameId"` @@ -2503,6 +2910,8 @@ type InlineValueContext struct { // An optional expression can be used to override the extracted expression. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueEvaluatableExpression type InlineValueEvaluatableExpression struct { // The document range for which the inline value applies. // The range is used to extract the evaluatable expression from the underlying document. @@ -2514,6 +2923,8 @@ type InlineValueEvaluatableExpression struct { // Inline value options used during static registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueOptions type InlineValueOptions struct { WorkDoneProgressOptions } @@ -2521,6 +2932,8 @@ type InlineValueOptions struct { // A parameter literal used in inline value requests. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueParams type InlineValueParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -2535,6 +2948,8 @@ type InlineValueParams struct { // Inline value options used during static or dynamic registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueRegistrationOptions type InlineValueRegistrationOptions struct { InlineValueOptions TextDocumentRegistrationOptions @@ -2544,6 +2959,8 @@ type InlineValueRegistrationOptions struct { // Provide inline value as text. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueText type InlineValueText struct { // The document range for which the inline value applies. Range Range `json:"range"` @@ -2556,6 +2973,8 @@ type InlineValueText struct { // An optional variable name can be used to override the extracted name. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueVariableLookup type InlineValueVariableLookup struct { // The document range for which the inline value applies. // The range is used to extract the variable name from the underlying document. @@ -2569,6 +2988,8 @@ type InlineValueVariableLookup struct { // Client workspace capabilities specific to inline values. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlineValueWorkspaceClientCapabilities type InlineValueWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from the // server to the client. @@ -2583,6 +3004,8 @@ type InlineValueWorkspaceClientCapabilities struct { // A special text edit to provide an insert and a replace operation. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#insertReplaceEdit type InsertReplaceEdit struct { // The string to be inserted. NewText string `json:"newText"` @@ -2605,11 +3028,15 @@ type LSPAny = interface{} // LSP arrays. // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#lSPArray type LSPArray = []interface{} // (alias) type LSPErrorCodes int32 // LSP object definition. // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#lSPObject type LSPObject = map[string]LSPAny // (alias) // Predefined Language kinds // @since 3.18.0 @@ -2619,19 +3046,27 @@ type LanguageKind string // Client capabilities for the linked editing range request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeClientCapabilities type LinkedEditingRangeClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` // return value for the corresponding server capability as well. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeOptions type LinkedEditingRangeOptions struct { WorkDoneProgressOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeParams type LinkedEditingRangeParams struct { TextDocumentPositionParams WorkDoneProgressParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRangeRegistrationOptions type LinkedEditingRangeRegistrationOptions struct { TextDocumentRegistrationOptions LinkedEditingRangeOptions @@ -2641,6 +3076,8 @@ type LinkedEditingRangeRegistrationOptions struct { // The result of a linked editing range request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#linkedEditingRanges type LinkedEditingRanges struct { // A list of ranges that can be edited together. The ranges must have // identical length and contain identical text content. The ranges cannot overlap. @@ -2657,6 +3094,8 @@ type Lit_ClientSemanticTokensRequestOptions_range_Item1 struct { // Represents a location inside a resource, such as a line // inside a text file. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#location type Location struct { URI DocumentURI `json:"uri"` Range Range `json:"range"` @@ -2664,6 +3103,8 @@ type Location struct { // Represents the connection of two locations. Provides additional metadata over normal {@link Location locations}, // including an origin range. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#locationLink type LocationLink struct { // Span of the origin of this link. // @@ -2685,17 +3126,23 @@ type LocationLink struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#locationUriOnly type LocationUriOnly struct { URI DocumentURI `json:"uri"` } // The log message parameters. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#logMessageParams type LogMessageParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type"` // The actual message. Message string `json:"message"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#logTraceParams type LogTraceParams struct { Message string `json:"message"` Verbose string `json:"verbose,omitempty"` @@ -2704,6 +3151,8 @@ type LogTraceParams struct { // Client capabilities specific to the used markdown parser. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markdownClientCapabilities type MarkdownClientCapabilities struct { // The name of the parser. Parser string `json:"parser"` @@ -2728,10 +3177,14 @@ type MarkdownClientCapabilities struct { // // Note that markdown strings will be sanitized - that means html will be escaped. // @deprecated use MarkupContent instead. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markedString type MarkedString = Or_MarkedString // (alias) // @since 3.18.0 // @proposed // @deprecated use MarkupContent instead. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markedStringWithLanguage type MarkedStringWithLanguage struct { Language string `json:"language"` Value string `json:"value"` @@ -2761,6 +3214,8 @@ type MarkedStringWithLanguage struct { // // *Please Note* that clients might sanitize the return markdown. A client could decide to // remove HTML from the markdown to avoid script execution. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#markupContent type MarkupContent struct { // The type of the Markup Kind MarkupKind `json:"kind"` @@ -2774,6 +3229,8 @@ type MarkupContent struct { // Please note that `MarkupKinds` must not start with a `$`. This kinds // are reserved for internal usage. type MarkupKind string + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#messageActionItem type MessageActionItem struct { // A short title like 'Retry', 'Open Log' etc. Title string `json:"title"` @@ -2785,6 +3242,8 @@ type MessageType uint32 // Moniker definition to match LSIF 0.5 moniker definition. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#moniker type Moniker struct { // The scheme of the moniker. For example tsc or .Net Scheme string `json:"scheme"` @@ -2800,6 +3259,8 @@ type Moniker struct { // Client capabilities specific to the moniker request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerClientCapabilities type MonikerClientCapabilities struct { // Whether moniker supports dynamic registration. If this is set to `true` // the client supports the new `MonikerRegistrationOptions` return value @@ -2811,14 +3272,20 @@ type MonikerClientCapabilities struct { // // @since 3.16.0 type MonikerKind string + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerOptions type MonikerOptions struct { WorkDoneProgressOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerParams type MonikerParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#monikerRegistrationOptions type MonikerRegistrationOptions struct { TextDocumentRegistrationOptions MonikerOptions @@ -2831,6 +3298,8 @@ type MonikerRegistrationOptions struct { // notebook cell or the cell's text document. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCell type NotebookCell struct { // The cell's kind Kind NotebookCellKind `json:"kind"` @@ -2850,6 +3319,8 @@ type NotebookCell struct { // array from state S to S'. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellArrayChange type NotebookCellArrayChange struct { // The start oftest of the cell that changed. Start uint32 `json:"start"` @@ -2866,6 +3337,8 @@ type NotebookCellKind uint32 // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellLanguage type NotebookCellLanguage struct { Language string `json:"language"` } @@ -2874,6 +3347,8 @@ type NotebookCellLanguage struct { // document by different properties. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookCellTextDocumentFilter type NotebookCellTextDocumentFilter struct { // A filter that matches against the notebook // containing the notebook cell. If a string @@ -2890,6 +3365,8 @@ type NotebookCellTextDocumentFilter struct { // A notebook document. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument type NotebookDocument struct { // The notebook document's uri. URI URI `json:"uri"` @@ -2911,6 +3388,8 @@ type NotebookDocument struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellChangeStructure type NotebookDocumentCellChangeStructure struct { // The change to the cell array. Array NotebookCellArrayChange `json:"array"` @@ -2924,6 +3403,8 @@ type NotebookDocumentCellChangeStructure struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellChanges type NotebookDocumentCellChanges struct { // Changes to the cell structure to add or // remove cells. @@ -2939,6 +3420,8 @@ type NotebookDocumentCellChanges struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentCellContentChanges type NotebookDocumentCellContentChanges struct { Document VersionedTextDocumentIdentifier `json:"document"` Changes []TextDocumentContentChangeEvent `json:"changes"` @@ -2947,6 +3430,8 @@ type NotebookDocumentCellContentChanges struct { // A change event for a notebook document. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentChangeEvent type NotebookDocumentChangeEvent struct { // The changed meta data if any. // @@ -2959,6 +3444,8 @@ type NotebookDocumentChangeEvent struct { // Capabilities specific to the notebook document support. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentClientCapabilities type NotebookDocumentClientCapabilities struct { // Capabilities specific to notebook document synchronization // @@ -2971,11 +3458,15 @@ type NotebookDocumentClientCapabilities struct { // against the notebook's URI (same as with documents) // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilter type NotebookDocumentFilter = Or_NotebookDocumentFilter // (alias) // A notebook document filter where `notebookType` is required field. // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterNotebookType type NotebookDocumentFilterNotebookType struct { // The type of the enclosing notebook. NotebookType string `json:"notebookType"` @@ -2989,6 +3480,8 @@ type NotebookDocumentFilterNotebookType struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterPattern type NotebookDocumentFilterPattern struct { // The type of the enclosing notebook. NotebookType string `json:"notebookType,omitempty"` @@ -3002,6 +3495,8 @@ type NotebookDocumentFilterPattern struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterScheme type NotebookDocumentFilterScheme struct { // The type of the enclosing notebook. NotebookType string `json:"notebookType,omitempty"` @@ -3013,6 +3508,8 @@ type NotebookDocumentFilterScheme struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterWithCells type NotebookDocumentFilterWithCells struct { // The notebook to be synced If a string // value is provided it matches against the @@ -3024,6 +3521,8 @@ type NotebookDocumentFilterWithCells struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentFilterWithNotebook type NotebookDocumentFilterWithNotebook struct { // The notebook to be synced If a string // value is provided it matches against the @@ -3036,6 +3535,8 @@ type NotebookDocumentFilterWithNotebook struct { // A literal to identify a notebook document in the client. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentIdentifier type NotebookDocumentIdentifier struct { // The notebook document's uri. URI URI `json:"uri"` @@ -3044,6 +3545,8 @@ type NotebookDocumentIdentifier struct { // Notebook specific client capabilities. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncClientCapabilities type NotebookDocumentSyncClientCapabilities struct { // Whether implementation supports dynamic registration. If this is // set to `true` the client supports the new @@ -3067,6 +3570,8 @@ type NotebookDocumentSyncClientCapabilities struct { // cell will be synced. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncOptions type NotebookDocumentSyncOptions struct { // The notebooks to be synced NotebookSelector []Or_NotebookDocumentSyncOptions_notebookSelector_Elem `json:"notebookSelector"` @@ -3078,12 +3583,16 @@ type NotebookDocumentSyncOptions struct { // Registration options specific to a notebook. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocumentSyncRegistrationOptions type NotebookDocumentSyncRegistrationOptions struct { NotebookDocumentSyncOptions StaticRegistrationOptions } // A text document identifier to optionally denote a specific version of a text document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#optionalVersionedTextDocumentIdentifier type OptionalVersionedTextDocumentIdentifier struct { // The version number of this document. If a versioned text document identifier // is sent from the server to the client and the file is not open in the editor @@ -3429,9 +3938,13 @@ type PRangeESemanticTokensOptions struct { } // The parameters of a configuration request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#configurationParams type ParamConfiguration struct { Items []ConfigurationItem `json:"items"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initializeParams type ParamInitialize struct { XInitializeParams WorkspaceFoldersInitializeParams @@ -3439,6 +3952,8 @@ type ParamInitialize struct { // Represents a parameter of a callable-signature. A parameter can // have a label and a doc-comment. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#parameterInformation type ParameterInformation struct { // The label of this parameter information. // @@ -3457,6 +3972,8 @@ type ParameterInformation struct { // in the UI but can be omitted. Documentation string `json:"documentation,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#partialResultParams type PartialResultParams struct { // An optional token that a server can use to report partial results (e.g. streaming) to // the client. @@ -3473,6 +3990,8 @@ type PartialResultParams struct { // - `[!...]` 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`) // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#pattern type Pattern = string // (alias) // Position in a text document expressed as zero-based line and character // offset. Prior to 3.17 the offsets were always based on a UTF-16 string @@ -3501,6 +4020,8 @@ type Pattern = string // (alias) // that denotes `\r|\n` or `\n|` where `|` represents the character offset. // // @since 3.17.0 - support for negotiated position encoding. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#position type Position struct { // Line position in a document (zero-based). // @@ -3524,9 +4045,13 @@ type PositionEncodingKind string // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameDefaultBehavior type PrepareRenameDefaultBehavior struct { DefaultBehavior bool `json:"defaultBehavior"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameParams type PrepareRenameParams struct { TextDocumentPositionParams WorkDoneProgressParams @@ -3534,16 +4059,22 @@ type PrepareRenameParams struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenamePlaceholder type PrepareRenamePlaceholder struct { Range Range `json:"range"` Placeholder string `json:"placeholder"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#prepareRenameResult type PrepareRenameResult = PrepareRenamePlaceholder // (alias) type PrepareSupportDefaultBehavior uint32 // A previous result id in a workspace pull request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#previousResultId type PreviousResultID struct { // The URI for which the client knowns a // result id. @@ -3555,6 +4086,8 @@ type PreviousResultID struct { // A previous result id in a workspace pull request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#previousResultId type PreviousResultId struct { // The URI for which the client knowns a // result id. @@ -3562,14 +4095,20 @@ type PreviousResultId struct { // The value of the previous result id. Value string `json:"value"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progressParams type ProgressParams struct { // The progress token provided by the client or server. Token ProgressToken `json:"token"` // The progress data. Value interface{} `json:"value"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progressToken type ProgressToken = interface{} // (alias) // The publish diagnostic client capabilities. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#publishDiagnosticsClientCapabilities type PublishDiagnosticsClientCapabilities struct { // Whether the clients accepts diagnostics with related information. RelatedInformation bool `json:"relatedInformation,omitempty"` @@ -3596,6 +4135,8 @@ type PublishDiagnosticsClientCapabilities struct { } // The publish diagnostic notification's parameters. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#publishDiagnosticsParams type PublishDiagnosticsParams struct { // The URI for which diagnostic information is reported. URI DocumentURI `json:"uri"` @@ -3620,6 +4161,8 @@ type PublishDiagnosticsParams struct { // } // // ``` +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#range type Range struct { // The range's start position. Start Position `json:"start"` @@ -3628,6 +4171,8 @@ type Range struct { } // Client Capabilities for a {@link ReferencesRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceClientCapabilities type ReferenceClientCapabilities struct { // Whether references supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -3635,17 +4180,23 @@ type ReferenceClientCapabilities struct { // Value-object that contains additional information when // requesting references. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceContext type ReferenceContext struct { // Include the declaration of the current symbol. IncludeDeclaration bool `json:"includeDeclaration"` } // Reference options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceOptions type ReferenceOptions struct { WorkDoneProgressOptions } // Parameters for a {@link ReferencesRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceParams type ReferenceParams struct { Context ReferenceContext `json:"context"` TextDocumentPositionParams @@ -3654,12 +4205,16 @@ type ReferenceParams struct { } // Registration options for a {@link ReferencesRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#referenceRegistrationOptions type ReferenceRegistrationOptions struct { TextDocumentRegistrationOptions ReferenceOptions } // General parameters to register for a notification or to register a provider. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#registration type Registration struct { // The id used to register the request. The id can be used to deregister // the request again. @@ -3669,13 +4224,19 @@ type Registration struct { // Options necessary for the registration. RegisterOptions interface{} `json:"registerOptions,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#registrationParams type RegistrationParams struct { Registrations []Registration `json:"registrations"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#regularExpressionEngineKind type RegularExpressionEngineKind = string // (alias) // Client capabilities specific to regular expressions. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#regularExpressionsClientCapabilities type RegularExpressionsClientCapabilities struct { // The engine's name. Engine RegularExpressionEngineKind `json:"engine"` @@ -3686,6 +4247,8 @@ type RegularExpressionsClientCapabilities struct { // A full diagnostic report with a set of related documents. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relatedFullDocumentDiagnosticReport type RelatedFullDocumentDiagnosticReport struct { // Diagnostics of related documents. This information is useful // in programming languages where code in a file A can generate @@ -3701,6 +4264,8 @@ type RelatedFullDocumentDiagnosticReport struct { // An unchanged diagnostic report with a set of related documents. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relatedUnchangedDocumentDiagnosticReport type RelatedUnchangedDocumentDiagnosticReport struct { // Diagnostics of related documents. This information is useful // in programming languages where code in a file A can generate @@ -3718,6 +4283,8 @@ type RelatedUnchangedDocumentDiagnosticReport struct { // folder root, but it can be another absolute URI as well. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#relativePattern type RelativePattern struct { // A workspace folder or a base URI to which this pattern will be matched // against relatively. @@ -3725,6 +4292,8 @@ type RelativePattern struct { // The actual glob pattern; Pattern Pattern `json:"pattern"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameClientCapabilities type RenameClientCapabilities struct { // Whether rename supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -3751,6 +4320,8 @@ type RenameClientCapabilities struct { } // Rename file operation +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFile type RenameFile struct { // A rename Kind string `json:"kind"` @@ -3764,6 +4335,8 @@ type RenameFile struct { } // Rename file options +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFileOptions type RenameFileOptions struct { // Overwrite target if existing. Overwrite wins over `ignoreIfExists` Overwrite bool `json:"overwrite,omitempty"` @@ -3775,6 +4348,8 @@ type RenameFileOptions struct { // files. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameFilesParams type RenameFilesParams struct { // An array of all files/folders renamed in this operation. When a folder is renamed, only // the folder will be included, and not its children. @@ -3782,6 +4357,8 @@ type RenameFilesParams struct { } // Provider options for a {@link RenameRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameOptions type RenameOptions struct { // Renames should be checked and tested before being executed. // @@ -3791,6 +4368,8 @@ type RenameOptions struct { } // The parameters of a {@link RenameRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameParams type RenameParams struct { // The document to rename. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -3804,12 +4383,16 @@ type RenameParams struct { } // Registration options for a {@link RenameRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#renameRegistrationOptions type RenameRegistrationOptions struct { TextDocumentRegistrationOptions RenameOptions } // A generic resource operation. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#resourceOperation type ResourceOperation struct { // The resource operation kind. Kind string `json:"kind"` @@ -3821,6 +4404,8 @@ type ResourceOperation struct { type ResourceOperationKind string // Save options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#saveOptions type SaveOptions struct { // The client is supposed to include the content on save. IncludeText bool `json:"includeText,omitempty"` @@ -3830,6 +4415,8 @@ type SaveOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectedCompletionInfo type SelectedCompletionInfo struct { // The range that will be replaced if this completion item is accepted. Range Range `json:"range"` @@ -3839,23 +4426,31 @@ type SelectedCompletionInfo struct { // A selection range represents a part of a selection hierarchy. A selection range // may have a parent selection range that contains it. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRange type SelectionRange struct { // The {@link Range range} of this selection range. Range Range `json:"range"` // The parent selection range containing this range. Therefore `parent.range` must contain `this.range`. Parent *SelectionRange `json:"parent,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeClientCapabilities type SelectionRangeClientCapabilities struct { // Whether implementation supports dynamic registration for selection range providers. If this is set to `true` // the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server // capability as well. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeOptions type SelectionRangeOptions struct { WorkDoneProgressOptions } // A parameter literal used in selection range requests. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeParams type SelectionRangeParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -3864,6 +4459,8 @@ type SelectionRangeParams struct { WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#selectionRangeRegistrationOptions type SelectionRangeRegistrationOptions struct { SelectionRangeOptions TextDocumentRegistrationOptions @@ -3885,6 +4482,8 @@ type SemanticTokenModifiers string type SemanticTokenTypes string // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokens type SemanticTokens struct { // An optional result id. If provided and clients support delta updating // the client will include the result id in the next semantic token request. @@ -3896,6 +4495,8 @@ type SemanticTokens struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensClientCapabilities type SemanticTokensClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` @@ -3941,6 +4542,8 @@ type SemanticTokensClientCapabilities struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDelta type SemanticTokensDelta struct { ResultID string `json:"resultId,omitempty"` // The semantic token edits to transform a previous result into a new result. @@ -3948,6 +4551,8 @@ type SemanticTokensDelta struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDeltaParams type SemanticTokensDeltaParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -3959,11 +4564,15 @@ type SemanticTokensDeltaParams struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensDeltaPartialResult type SemanticTokensDeltaPartialResult struct { Edits []SemanticTokensEdit `json:"edits"` } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensEdit type SemanticTokensEdit struct { // The start offset of the edit. Start uint32 `json:"start"` @@ -3977,12 +4586,16 @@ type SemanticTokensEdit struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensFullDelta type SemanticTokensFullDelta struct { // The server supports deltas for full documents. Delta bool `json:"delta,omitempty"` } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensLegend type SemanticTokensLegend struct { // The token types a server uses. TokenTypes []string `json:"tokenTypes"` @@ -3991,6 +4604,8 @@ type SemanticTokensLegend struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensOptions type SemanticTokensOptions struct { // The legend used by the server Legend SemanticTokensLegend `json:"legend"` @@ -4003,6 +4618,8 @@ type SemanticTokensOptions struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensParams type SemanticTokensParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -4011,11 +4628,15 @@ type SemanticTokensParams struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensPartialResult type SemanticTokensPartialResult struct { Data []uint32 `json:"data"` } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensRangeParams type SemanticTokensRangeParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -4026,6 +4647,8 @@ type SemanticTokensRangeParams struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensRegistrationOptions type SemanticTokensRegistrationOptions struct { TextDocumentRegistrationOptions SemanticTokensOptions @@ -4033,6 +4656,8 @@ type SemanticTokensRegistrationOptions struct { } // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#semanticTokensWorkspaceClientCapabilities type SemanticTokensWorkspaceClientCapabilities struct { // Whether the client implementation supports a refresh request sent from // the server to the client. @@ -4046,6 +4671,8 @@ type SemanticTokensWorkspaceClientCapabilities struct { // Defines the capabilities provided by a language // server. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverCapabilities type ServerCapabilities struct { // The position encoding the server picked from the encodings offered // by the client via the client capability `general.positionEncodings`. @@ -4158,6 +4785,8 @@ type ServerCapabilities struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverCompletionItemOptions type ServerCompletionItemOptions struct { // The server has support for completion item label // details (see also `CompletionItemLabelDetails`) when @@ -4172,12 +4801,16 @@ type ServerCompletionItemOptions struct { // @since 3.15.0 // @since 3.18.0 ServerInfo type name added. // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#serverInfo type ServerInfo struct { // The name of the server as defined by the server. Name string `json:"name"` // The server's version as defined by the server. Version string `json:"version,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#setTraceParams type SetTraceParams struct { Value TraceValue `json:"value"` } @@ -4185,6 +4818,8 @@ type SetTraceParams struct { // Client capabilities for the showDocument request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentClientCapabilities type ShowDocumentClientCapabilities struct { // The client has support for the showDocument // request. @@ -4194,6 +4829,8 @@ type ShowDocumentClientCapabilities struct { // Params to show a resource in the UI. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentParams type ShowDocumentParams struct { // The uri to show. URI URI `json:"uri"` @@ -4216,12 +4853,16 @@ type ShowDocumentParams struct { // The result of a showDocument request. // // @since 3.16.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showDocumentResult type ShowDocumentResult struct { // A boolean indicating if the show was successful. Success bool `json:"success"` } // The parameters of a notification message. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageParams type ShowMessageParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type"` @@ -4230,10 +4871,14 @@ type ShowMessageParams struct { } // Show message request client capabilities +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageRequestClientCapabilities type ShowMessageRequestClientCapabilities struct { // Capabilities specific to the `MessageActionItem` type. MessageActionItem *ClientShowMessageActionItemOptions `json:"messageActionItem,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#showMessageRequestParams type ShowMessageRequestParams struct { // The message type. See {@link MessageType} Type MessageType `json:"type"` @@ -4246,6 +4891,8 @@ type ShowMessageRequestParams struct { // Signature help represents the signature of something // callable. There can be multiple signature but only one // active and only one active parameter. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelp type SignatureHelp struct { // One or more signatures. Signatures []SignatureInformation `json:"signatures"` @@ -4279,6 +4926,8 @@ type SignatureHelp struct { } // Client Capabilities for a {@link SignatureHelpRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpClientCapabilities type SignatureHelpClientCapabilities struct { // Whether signature help supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -4297,6 +4946,8 @@ type SignatureHelpClientCapabilities struct { // Additional information about the context in which a signature help request was triggered. // // @since 3.15.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpContext type SignatureHelpContext struct { // Action that caused signature help to be triggered. TriggerKind SignatureHelpTriggerKind `json:"triggerKind"` @@ -4317,6 +4968,8 @@ type SignatureHelpContext struct { } // Server Capabilities for a {@link SignatureHelpRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpOptions type SignatureHelpOptions struct { // List of characters that trigger signature help automatically. TriggerCharacters []string `json:"triggerCharacters,omitempty"` @@ -4331,6 +4984,8 @@ type SignatureHelpOptions struct { } // Parameters for a {@link SignatureHelpRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpParams type SignatureHelpParams struct { // The signature help context. This is only available if the client specifies // to send this using the client capability `textDocument.signatureHelp.contextSupport === true` @@ -4342,6 +4997,8 @@ type SignatureHelpParams struct { } // Registration options for a {@link SignatureHelpRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureHelpRegistrationOptions type SignatureHelpRegistrationOptions struct { TextDocumentRegistrationOptions SignatureHelpOptions @@ -4355,6 +5012,8 @@ type SignatureHelpTriggerKind uint32 // Represents the signature of something callable. A signature // can have a label, like a function-name, a doc-comment, and // a set of parameters. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#signatureInformation type SignatureInformation struct { // The label of this signature. Will be shown in // the UI. @@ -4380,6 +5039,8 @@ type SignatureInformation struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#staleRequestSupportOptions type StaleRequestSupportOptions struct { // The client will actively cancel the request. Cancel bool `json:"cancel"` @@ -4391,6 +5052,8 @@ type StaleRequestSupportOptions struct { // Static registration options to be returned in the initialize // request. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#staticRegistrationOptions type StaticRegistrationOptions struct { // The id used to register the request. The id can be used to deregister // the request again. See also Registration#id. @@ -4407,6 +5070,8 @@ type StaticRegistrationOptions struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#stringValue type StringValue struct { // The kind of string value. Kind string `json:"kind"` @@ -4416,6 +5081,8 @@ type StringValue struct { // Represents information about programming constructs like variables, classes, // interfaces etc. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#symbolInformation type SymbolInformation struct { // extends BaseSymbolInformation // Indicates if this symbol is deprecated. @@ -4456,6 +5123,8 @@ type SymbolKind uint32 type SymbolTag uint32 // Describe options to be used when registered for text document change events. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentChangeRegistrationOptions type TextDocumentChangeRegistrationOptions struct { // How documents are synced to the server. SyncKind TextDocumentSyncKind `json:"syncKind"` @@ -4463,6 +5132,8 @@ type TextDocumentChangeRegistrationOptions struct { } // Text document specific client capabilities. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentClientCapabilities type TextDocumentClientCapabilities struct { // Defines which synchronization capabilities the client supports. Synchronization *TextDocumentSyncClientCapabilities `json:"synchronization,omitempty"` @@ -4562,9 +5233,13 @@ type TextDocumentClientCapabilities struct { // An event describing a change to a text document. If only a text is provided // it is considered to be the full content of the document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangeEvent type TextDocumentContentChangeEvent = TextDocumentContentChangePartial // (alias) // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangePartial type TextDocumentContentChangePartial struct { // The range of the document that changed. Range *Range `json:"range,omitempty"` @@ -4578,6 +5253,8 @@ type TextDocumentContentChangePartial struct { // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentContentChangeWholeDocument type TextDocumentContentChangeWholeDocument struct { // The new text of the whole document. Text string `json:"text"` @@ -4587,6 +5264,8 @@ type TextDocumentContentChangeWholeDocument struct { // on a document version Si and after they are applied move the document to version Si+1. // So the creator of a TextDocumentEdit doesn't need to sort the array of edits or do any // kind of ordering. However the edits must be non overlapping. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentEdit type TextDocumentEdit struct { // The text document to change. TextDocument OptionalVersionedTextDocumentIdentifier `json:"textDocument"` @@ -4614,11 +5293,15 @@ type TextDocumentEdit struct { // @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }` // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilter type TextDocumentFilter = Or_TextDocumentFilter // (alias) // A document filter where `language` is required field. // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterLanguage type TextDocumentFilterLanguage struct { // A language id, like `typescript`. Language string `json:"language"` @@ -4632,6 +5315,8 @@ type TextDocumentFilterLanguage struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterPattern type TextDocumentFilterPattern struct { // A language id, like `typescript`. Language string `json:"language,omitempty"` @@ -4645,6 +5330,8 @@ type TextDocumentFilterPattern struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentFilterScheme type TextDocumentFilterScheme struct { // A language id, like `typescript`. Language string `json:"language,omitempty"` @@ -4655,6 +5342,8 @@ type TextDocumentFilterScheme struct { } // A literal to identify a text document in the client. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentIdentifier type TextDocumentIdentifier struct { // The text document's uri. URI DocumentURI `json:"uri"` @@ -4662,6 +5351,8 @@ type TextDocumentIdentifier struct { // An item to transfer a text document from the client to the // server. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentItem type TextDocumentItem struct { // The text document's uri. URI DocumentURI `json:"uri"` @@ -4676,6 +5367,8 @@ type TextDocumentItem struct { // A parameter literal used in requests to pass a text document and a position inside that // document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentPositionParams type TextDocumentPositionParams struct { // The text document. TextDocument TextDocumentIdentifier `json:"textDocument"` @@ -4684,6 +5377,8 @@ type TextDocumentPositionParams struct { } // General text document registration options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentRegistrationOptions type TextDocumentRegistrationOptions struct { // A document selector to identify the scope of the registration. If set to null // the document selector provided on the client side will be used. @@ -4694,10 +5389,14 @@ type TextDocumentRegistrationOptions struct { type TextDocumentSaveReason uint32 // Save registration options. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSaveRegistrationOptions type TextDocumentSaveRegistrationOptions struct { TextDocumentRegistrationOptions SaveOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSyncClientCapabilities type TextDocumentSyncClientCapabilities struct { // Whether text document synchronization supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -4714,6 +5413,8 @@ type TextDocumentSyncClientCapabilities struct { // Defines how the host (editor) should sync // document changes to the language server. type TextDocumentSyncKind uint32 + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocumentSyncOptions type TextDocumentSyncOptions struct { // Open and close notifications are sent to the server. If omitted open close notification should not // be sent. @@ -4733,6 +5434,8 @@ type TextDocumentSyncOptions struct { } // A text edit applicable to a text document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textEdit type TextEdit struct { // The range of the text document to be manipulated. To insert // text into a document create a range where start === end. @@ -4745,6 +5448,8 @@ type TokenFormat string type TraceValue string // Since 3.6.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionClientCapabilities type TypeDefinitionClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `TypeDefinitionRegistrationOptions` return value @@ -4755,14 +5460,20 @@ type TypeDefinitionClientCapabilities struct { // Since 3.14.0 LinkSupport bool `json:"linkSupport,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionOptions type TypeDefinitionOptions struct { WorkDoneProgressOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionParams type TypeDefinitionParams struct { TextDocumentPositionParams WorkDoneProgressParams PartialResultParams } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeDefinitionRegistrationOptions type TypeDefinitionRegistrationOptions struct { TextDocumentRegistrationOptions TypeDefinitionOptions @@ -4770,6 +5481,8 @@ type TypeDefinitionRegistrationOptions struct { } // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyClientCapabilities type TypeHierarchyClientCapabilities struct { // Whether implementation supports dynamic registration. If this is set to `true` // the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)` @@ -4778,6 +5491,8 @@ type TypeHierarchyClientCapabilities struct { } // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyItem type TypeHierarchyItem struct { // The name of this item. Name string `json:"name"` @@ -4806,6 +5521,8 @@ type TypeHierarchyItem struct { // Type hierarchy options used during static registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyOptions type TypeHierarchyOptions struct { WorkDoneProgressOptions } @@ -4813,6 +5530,8 @@ type TypeHierarchyOptions struct { // The parameter of a `textDocument/prepareTypeHierarchy` request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyPrepareParams type TypeHierarchyPrepareParams struct { TextDocumentPositionParams WorkDoneProgressParams @@ -4821,6 +5540,8 @@ type TypeHierarchyPrepareParams struct { // Type hierarchy options used during static or dynamic registration. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchyRegistrationOptions type TypeHierarchyRegistrationOptions struct { TextDocumentRegistrationOptions TypeHierarchyOptions @@ -4830,6 +5551,8 @@ type TypeHierarchyRegistrationOptions struct { // The parameter of a `typeHierarchy/subtypes` request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchySubtypesParams type TypeHierarchySubtypesParams struct { Item TypeHierarchyItem `json:"item"` WorkDoneProgressParams @@ -4839,6 +5562,8 @@ type TypeHierarchySubtypesParams struct { // The parameter of a `typeHierarchy/supertypes` request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchySupertypesParams type TypeHierarchySupertypesParams struct { Item TypeHierarchyItem `json:"item"` WorkDoneProgressParams @@ -4855,6 +5580,8 @@ type UIntCommaUInt struct { // report is still accurate. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unchangedDocumentDiagnosticReport type UnchangedDocumentDiagnosticReport struct { // A document diagnostic report indicating // no changes to the last result. A server can @@ -4872,6 +5599,8 @@ type UnchangedDocumentDiagnosticReport struct { type UniquenessLevel string // General parameters to unregister a request or notification. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unregistration type Unregistration struct { // The id used to unregister the request or notification. Usually an id // provided during the register request. @@ -4879,6 +5608,8 @@ type Unregistration struct { // The method to unregister for. Method string `json:"method"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#unregistrationParams type UnregistrationParams struct { Unregisterations []Unregistration `json:"unregisterations"` } @@ -4886,6 +5617,8 @@ type UnregistrationParams struct { // A versioned notebook document identifier. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#versionedNotebookDocumentIdentifier type VersionedNotebookDocumentIdentifier struct { // The version number of this notebook document. Version int32 `json:"version"` @@ -4894,18 +5627,23 @@ type VersionedNotebookDocumentIdentifier struct { } // A text document identifier to denote a specific version of a text document. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#versionedTextDocumentIdentifier type VersionedTextDocumentIdentifier struct { // The version number of this document. Version int32 `json:"version"` TextDocumentIdentifier } type WatchKind = uint32 // The parameters sent in a will save text document notification. +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#willSaveTextDocumentParams type WillSaveTextDocumentParams struct { // The document that will be saved. TextDocument TextDocumentIdentifier `json:"textDocument"` // The 'TextDocumentSaveReason'. Reason TextDocumentSaveReason `json:"reason"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#windowClientCapabilities type WindowClientCapabilities struct { // It indicates whether the client supports server initiated // progress using the `window/workDoneProgress/create` request. @@ -4926,6 +5664,8 @@ type WindowClientCapabilities struct { // @since 3.16.0 ShowDocument *ShowDocumentClientCapabilities `json:"showDocument,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressBegin type WorkDoneProgressBegin struct { Kind string `json:"kind"` // Mandatory title of the progress operation. Used to briefly inform about @@ -4951,20 +5691,28 @@ type WorkDoneProgressBegin struct { // that are not following this rule. The value range is [0, 100]. Percentage uint32 `json:"percentage,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressCancelParams type WorkDoneProgressCancelParams struct { // The token to be used to report progress. Token ProgressToken `json:"token"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressCreateParams type WorkDoneProgressCreateParams struct { // The token to be used to report progress. Token ProgressToken `json:"token"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressEnd type WorkDoneProgressEnd struct { Kind string `json:"kind"` // Optional, a final message indicating to for example indicate the outcome // of the operation. Message string `json:"message,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressOptions type WorkDoneProgressOptions struct { WorkDoneProgress bool `json:"workDoneProgress,omitempty"` } @@ -4974,10 +5722,14 @@ type WorkDoneProgressOptionsAndTextDocumentRegistrationOptions struct { WorkDoneProgressOptions TextDocumentRegistrationOptions } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressParams type WorkDoneProgressParams struct { // An optional token that a server can use to report work done progress. WorkDoneToken ProgressToken `json:"workDoneToken,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workDoneProgressReport type WorkDoneProgressReport struct { Kind string `json:"kind"` // Controls enablement state of a cancel button. @@ -5001,6 +5753,8 @@ type WorkDoneProgressReport struct { } // Workspace specific client capabilities. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceClientCapabilities type WorkspaceClientCapabilities struct { // The client supports applying batch edits // to the workspace by supporting the request @@ -5063,6 +5817,8 @@ type WorkspaceClientCapabilities struct { // Parameters of the workspace diagnostic request. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticParams type WorkspaceDiagnosticParams struct { // The additional identifier provided during registration. Identifier string `json:"identifier,omitempty"` @@ -5076,6 +5832,8 @@ type WorkspaceDiagnosticParams struct { // A workspace diagnostic report. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticReport type WorkspaceDiagnosticReport struct { Items []WorkspaceDocumentDiagnosticReport `json:"items"` } @@ -5083,6 +5841,8 @@ type WorkspaceDiagnosticReport struct { // A partial result for a workspace diagnostic report. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDiagnosticReportPartialResult type WorkspaceDiagnosticReportPartialResult struct { Items []WorkspaceDocumentDiagnosticReport `json:"items"` } @@ -5090,6 +5850,8 @@ type WorkspaceDiagnosticReportPartialResult struct { // A workspace diagnostic document report. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceDocumentDiagnosticReport type WorkspaceDocumentDiagnosticReport = Or_WorkspaceDocumentDiagnosticReport // (alias) // A workspace edit represents changes to many resources managed in the workspace. The edit // should either provide `changes` or `documentChanges`. If documentChanges are present @@ -5103,6 +5865,8 @@ type WorkspaceDocumentDiagnosticReport = Or_WorkspaceDocumentDiagnosticReport // // An invalid sequence (e.g. (1) delete file a.txt and (2) insert text into file a.txt) will // cause failure of the operation. How the client recovers from the failure is described by // the client capability: `workspace.workspaceEdit.failureHandling` +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceEdit type WorkspaceEdit struct { // Holds changes to existing resources. Changes map[DocumentURI][]TextEdit `json:"changes,omitempty"` @@ -5125,6 +5889,8 @@ type WorkspaceEdit struct { // @since 3.16.0 ChangeAnnotations map[ChangeAnnotationIdentifier]ChangeAnnotation `json:"changeAnnotations,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceEditClientCapabilities type WorkspaceEditClientCapabilities struct { // The client supports versioned document changes in `WorkspaceEdit`s DocumentChanges bool `json:"documentChanges,omitempty"` @@ -5154,6 +5920,8 @@ type WorkspaceEditClientCapabilities struct { } // A workspace folder inside a client. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFolder type WorkspaceFolder struct { // The associated URI for this workspace folder. URI URI `json:"uri"` @@ -5161,6 +5929,8 @@ type WorkspaceFolder struct { // workspace folder in the user interface. Name string `json:"name"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersServerCapabilities type WorkspaceFolders5Gn struct { // The server has support for workspace folders Supported bool `json:"supported,omitempty"` @@ -5175,12 +5945,16 @@ type WorkspaceFolders5Gn struct { } // The workspace folder change event. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersChangeEvent type WorkspaceFoldersChangeEvent struct { // The array of added workspace folders Added []WorkspaceFolder `json:"added"` // The array of the removed workspace folders Removed []WorkspaceFolder `json:"removed"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersInitializeParams type WorkspaceFoldersInitializeParams struct { // The workspace folders configured in the client when the server starts. // @@ -5191,6 +5965,8 @@ type WorkspaceFoldersInitializeParams struct { // @since 3.6.0 WorkspaceFolders []WorkspaceFolder `json:"workspaceFolders,omitempty"` } + +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFoldersServerCapabilities type WorkspaceFoldersServerCapabilities struct { // The server has support for workspace folders Supported bool `json:"supported,omitempty"` @@ -5207,6 +5983,8 @@ type WorkspaceFoldersServerCapabilities struct { // A full document diagnostic report for a workspace diagnostic result. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceFullDocumentDiagnosticReport type WorkspaceFullDocumentDiagnosticReport struct { // The URI for which diagnostic information is reported. URI DocumentURI `json:"uri"` @@ -5220,6 +5998,8 @@ type WorkspaceFullDocumentDiagnosticReport struct { // // @since 3.18.0 // @proposed +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceOptions type WorkspaceOptions struct { // The server supports workspace folder. // @@ -5236,6 +6016,8 @@ type WorkspaceOptions struct { // See also SymbolInformation. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbol type WorkspaceSymbol struct { // The location of the symbol. Whether a server is allowed to // return a location without a range depends on the client @@ -5250,6 +6032,8 @@ type WorkspaceSymbol struct { } // Client capabilities for a {@link WorkspaceSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolClientCapabilities type WorkspaceSymbolClientCapabilities struct { // Symbol request supports dynamic registration. DynamicRegistration bool `json:"dynamicRegistration,omitempty"` @@ -5269,6 +6053,8 @@ type WorkspaceSymbolClientCapabilities struct { } // Server capabilities for a {@link WorkspaceSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolOptions type WorkspaceSymbolOptions struct { // The server provides support to resolve additional // information for a workspace symbol. @@ -5279,6 +6065,8 @@ type WorkspaceSymbolOptions struct { } // The parameters of a {@link WorkspaceSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolParams type WorkspaceSymbolParams struct { // A query string to filter symbols by. Clients may send an empty // string here to request all symbols. @@ -5288,6 +6076,8 @@ type WorkspaceSymbolParams struct { } // Registration options for a {@link WorkspaceSymbolRequest}. +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbolRegistrationOptions type WorkspaceSymbolRegistrationOptions struct { WorkspaceSymbolOptions } @@ -5295,6 +6085,8 @@ type WorkspaceSymbolRegistrationOptions struct { // An unchanged document diagnostic report for a workspace diagnostic result. // // @since 3.17.0 +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceUnchangedDocumentDiagnosticReport type WorkspaceUnchangedDocumentDiagnosticReport struct { // The URI for which diagnostic information is reported. URI DocumentURI `json:"uri"` @@ -5305,6 +6097,8 @@ type WorkspaceUnchangedDocumentDiagnosticReport struct { } // The initialize parameters +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#_InitializeParams type XInitializeParams struct { // The process Id of the parent process that started // the server. @@ -5346,6 +6140,8 @@ type XInitializeParams struct { } // The initialize parameters +// +// See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#_InitializeParams type _InitializeParams struct { // The process Id of the parent process that started // the server. diff --git a/gopls/internal/protocol/tsserver.go b/gopls/internal/protocol/tsserver.go index 5ebd19b3d86..b405aae1b89 100644 --- a/gopls/internal/protocol/tsserver.go +++ b/gopls/internal/protocol/tsserver.go @@ -17,80 +17,152 @@ import ( ) type Server interface { - Progress(context.Context, *ProgressParams) error // $/progress - SetTrace(context.Context, *SetTraceParams) error // $/setTrace - IncomingCalls(context.Context, *CallHierarchyIncomingCallsParams) ([]CallHierarchyIncomingCall, error) // callHierarchy/incomingCalls - OutgoingCalls(context.Context, *CallHierarchyOutgoingCallsParams) ([]CallHierarchyOutgoingCall, error) // callHierarchy/outgoingCalls - ResolveCodeAction(context.Context, *CodeAction) (*CodeAction, error) // codeAction/resolve - ResolveCodeLens(context.Context, *CodeLens) (*CodeLens, error) // codeLens/resolve - ResolveCompletionItem(context.Context, *CompletionItem) (*CompletionItem, error) // completionItem/resolve - ResolveDocumentLink(context.Context, *DocumentLink) (*DocumentLink, error) // documentLink/resolve - Exit(context.Context) error // exit - Initialize(context.Context, *ParamInitialize) (*InitializeResult, error) // initialize - Initialized(context.Context, *InitializedParams) error // initialized - Resolve(context.Context, *InlayHint) (*InlayHint, error) // inlayHint/resolve - DidChangeNotebookDocument(context.Context, *DidChangeNotebookDocumentParams) error // notebookDocument/didChange - DidCloseNotebookDocument(context.Context, *DidCloseNotebookDocumentParams) error // notebookDocument/didClose - DidOpenNotebookDocument(context.Context, *DidOpenNotebookDocumentParams) error // notebookDocument/didOpen - DidSaveNotebookDocument(context.Context, *DidSaveNotebookDocumentParams) error // notebookDocument/didSave - Shutdown(context.Context) error // shutdown - CodeAction(context.Context, *CodeActionParams) ([]CodeAction, error) // textDocument/codeAction - CodeLens(context.Context, *CodeLensParams) ([]CodeLens, error) // textDocument/codeLens - ColorPresentation(context.Context, *ColorPresentationParams) ([]ColorPresentation, error) // textDocument/colorPresentation - Completion(context.Context, *CompletionParams) (*CompletionList, error) // textDocument/completion - Declaration(context.Context, *DeclarationParams) (*Or_textDocument_declaration, error) // textDocument/declaration - Definition(context.Context, *DefinitionParams) ([]Location, error) // textDocument/definition - Diagnostic(context.Context, *string) (*string, error) // textDocument/diagnostic - DidChange(context.Context, *DidChangeTextDocumentParams) error // textDocument/didChange - DidClose(context.Context, *DidCloseTextDocumentParams) error // textDocument/didClose - DidOpen(context.Context, *DidOpenTextDocumentParams) error // textDocument/didOpen - DidSave(context.Context, *DidSaveTextDocumentParams) error // textDocument/didSave - DocumentColor(context.Context, *DocumentColorParams) ([]ColorInformation, error) // textDocument/documentColor - DocumentHighlight(context.Context, *DocumentHighlightParams) ([]DocumentHighlight, error) // textDocument/documentHighlight - DocumentLink(context.Context, *DocumentLinkParams) ([]DocumentLink, error) // textDocument/documentLink - DocumentSymbol(context.Context, *DocumentSymbolParams) ([]interface{}, error) // textDocument/documentSymbol - FoldingRange(context.Context, *FoldingRangeParams) ([]FoldingRange, error) // textDocument/foldingRange - Formatting(context.Context, *DocumentFormattingParams) ([]TextEdit, error) // textDocument/formatting - Hover(context.Context, *HoverParams) (*Hover, error) // textDocument/hover - Implementation(context.Context, *ImplementationParams) ([]Location, error) // textDocument/implementation - InlayHint(context.Context, *InlayHintParams) ([]InlayHint, error) // textDocument/inlayHint - InlineCompletion(context.Context, *InlineCompletionParams) (*Or_Result_textDocument_inlineCompletion, error) // textDocument/inlineCompletion - InlineValue(context.Context, *InlineValueParams) ([]InlineValue, error) // textDocument/inlineValue - LinkedEditingRange(context.Context, *LinkedEditingRangeParams) (*LinkedEditingRanges, error) // textDocument/linkedEditingRange - Moniker(context.Context, *MonikerParams) ([]Moniker, error) // textDocument/moniker - OnTypeFormatting(context.Context, *DocumentOnTypeFormattingParams) ([]TextEdit, error) // textDocument/onTypeFormatting - PrepareCallHierarchy(context.Context, *CallHierarchyPrepareParams) ([]CallHierarchyItem, error) // textDocument/prepareCallHierarchy - PrepareRename(context.Context, *PrepareRenameParams) (*PrepareRenameResult, error) // textDocument/prepareRename - PrepareTypeHierarchy(context.Context, *TypeHierarchyPrepareParams) ([]TypeHierarchyItem, error) // textDocument/prepareTypeHierarchy - RangeFormatting(context.Context, *DocumentRangeFormattingParams) ([]TextEdit, error) // textDocument/rangeFormatting - RangesFormatting(context.Context, *DocumentRangesFormattingParams) ([]TextEdit, error) // textDocument/rangesFormatting - References(context.Context, *ReferenceParams) ([]Location, error) // textDocument/references - Rename(context.Context, *RenameParams) (*WorkspaceEdit, error) // textDocument/rename - SelectionRange(context.Context, *SelectionRangeParams) ([]SelectionRange, error) // textDocument/selectionRange - SemanticTokensFull(context.Context, *SemanticTokensParams) (*SemanticTokens, error) // textDocument/semanticTokens/full - SemanticTokensFullDelta(context.Context, *SemanticTokensDeltaParams) (interface{}, error) // textDocument/semanticTokens/full/delta - SemanticTokensRange(context.Context, *SemanticTokensRangeParams) (*SemanticTokens, error) // textDocument/semanticTokens/range - SignatureHelp(context.Context, *SignatureHelpParams) (*SignatureHelp, error) // textDocument/signatureHelp - TypeDefinition(context.Context, *TypeDefinitionParams) ([]Location, error) // textDocument/typeDefinition - WillSave(context.Context, *WillSaveTextDocumentParams) error // textDocument/willSave - WillSaveWaitUntil(context.Context, *WillSaveTextDocumentParams) ([]TextEdit, error) // textDocument/willSaveWaitUntil - Subtypes(context.Context, *TypeHierarchySubtypesParams) ([]TypeHierarchyItem, error) // typeHierarchy/subtypes - Supertypes(context.Context, *TypeHierarchySupertypesParams) ([]TypeHierarchyItem, error) // typeHierarchy/supertypes - WorkDoneProgressCancel(context.Context, *WorkDoneProgressCancelParams) error // window/workDoneProgress/cancel - DiagnosticWorkspace(context.Context, *WorkspaceDiagnosticParams) (*WorkspaceDiagnosticReport, error) // workspace/diagnostic - DidChangeConfiguration(context.Context, *DidChangeConfigurationParams) error // workspace/didChangeConfiguration - DidChangeWatchedFiles(context.Context, *DidChangeWatchedFilesParams) error // workspace/didChangeWatchedFiles - DidChangeWorkspaceFolders(context.Context, *DidChangeWorkspaceFoldersParams) error // workspace/didChangeWorkspaceFolders - DidCreateFiles(context.Context, *CreateFilesParams) error // workspace/didCreateFiles - DidDeleteFiles(context.Context, *DeleteFilesParams) error // workspace/didDeleteFiles - DidRenameFiles(context.Context, *RenameFilesParams) error // workspace/didRenameFiles - ExecuteCommand(context.Context, *ExecuteCommandParams) (interface{}, error) // workspace/executeCommand - Symbol(context.Context, *WorkspaceSymbolParams) ([]SymbolInformation, error) // workspace/symbol - WillCreateFiles(context.Context, *CreateFilesParams) (*WorkspaceEdit, error) // workspace/willCreateFiles - WillDeleteFiles(context.Context, *DeleteFilesParams) (*WorkspaceEdit, error) // workspace/willDeleteFiles - WillRenameFiles(context.Context, *RenameFilesParams) (*WorkspaceEdit, error) // workspace/willRenameFiles - ResolveWorkspaceSymbol(context.Context, *WorkspaceSymbol) (*WorkspaceSymbol, error) // workspaceSymbol/resolve - + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#progress + Progress(context.Context, *ProgressParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#setTrace + SetTrace(context.Context, *SetTraceParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchy_incomingCalls + IncomingCalls(context.Context, *CallHierarchyIncomingCallsParams) ([]CallHierarchyIncomingCall, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#callHierarchy_outgoingCalls + OutgoingCalls(context.Context, *CallHierarchyOutgoingCallsParams) ([]CallHierarchyOutgoingCall, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeAction_resolve + ResolveCodeAction(context.Context, *CodeAction) (*CodeAction, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#codeLens_resolve + ResolveCodeLens(context.Context, *CodeLens) (*CodeLens, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#completionItem_resolve + ResolveCompletionItem(context.Context, *CompletionItem) (*CompletionItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#documentLink_resolve + ResolveDocumentLink(context.Context, *DocumentLink) (*DocumentLink, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#exit + Exit(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initialize + Initialize(context.Context, *ParamInitialize) (*InitializeResult, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#initialized + Initialized(context.Context, *InitializedParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#inlayHint_resolve + Resolve(context.Context, *InlayHint) (*InlayHint, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument_didChange + DidChangeNotebookDocument(context.Context, *DidChangeNotebookDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument_didClose + DidCloseNotebookDocument(context.Context, *DidCloseNotebookDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument_didOpen + DidOpenNotebookDocument(context.Context, *DidOpenNotebookDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#notebookDocument_didSave + DidSaveNotebookDocument(context.Context, *DidSaveNotebookDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#shutdown + Shutdown(context.Context) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_codeAction + CodeAction(context.Context, *CodeActionParams) ([]CodeAction, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_codeLens + CodeLens(context.Context, *CodeLensParams) ([]CodeLens, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_colorPresentation + ColorPresentation(context.Context, *ColorPresentationParams) ([]ColorPresentation, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_completion + Completion(context.Context, *CompletionParams) (*CompletionList, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_declaration + Declaration(context.Context, *DeclarationParams) (*Or_textDocument_declaration, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_definition + Definition(context.Context, *DefinitionParams) ([]Location, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_diagnostic + Diagnostic(context.Context, *string) (*string, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_didChange + DidChange(context.Context, *DidChangeTextDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_didClose + DidClose(context.Context, *DidCloseTextDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_didOpen + DidOpen(context.Context, *DidOpenTextDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_didSave + DidSave(context.Context, *DidSaveTextDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_documentColor + DocumentColor(context.Context, *DocumentColorParams) ([]ColorInformation, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_documentHighlight + DocumentHighlight(context.Context, *DocumentHighlightParams) ([]DocumentHighlight, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_documentLink + DocumentLink(context.Context, *DocumentLinkParams) ([]DocumentLink, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_documentSymbol + DocumentSymbol(context.Context, *DocumentSymbolParams) ([]interface{}, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_foldingRange + FoldingRange(context.Context, *FoldingRangeParams) ([]FoldingRange, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_formatting + Formatting(context.Context, *DocumentFormattingParams) ([]TextEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_hover + Hover(context.Context, *HoverParams) (*Hover, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_implementation + Implementation(context.Context, *ImplementationParams) ([]Location, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_inlayHint + InlayHint(context.Context, *InlayHintParams) ([]InlayHint, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_inlineCompletion + InlineCompletion(context.Context, *InlineCompletionParams) (*Or_Result_textDocument_inlineCompletion, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_inlineValue + InlineValue(context.Context, *InlineValueParams) ([]InlineValue, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_linkedEditingRange + LinkedEditingRange(context.Context, *LinkedEditingRangeParams) (*LinkedEditingRanges, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_moniker + Moniker(context.Context, *MonikerParams) ([]Moniker, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_onTypeFormatting + OnTypeFormatting(context.Context, *DocumentOnTypeFormattingParams) ([]TextEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_prepareCallHierarchy + PrepareCallHierarchy(context.Context, *CallHierarchyPrepareParams) ([]CallHierarchyItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_prepareRename + PrepareRename(context.Context, *PrepareRenameParams) (*PrepareRenameResult, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_prepareTypeHierarchy + PrepareTypeHierarchy(context.Context, *TypeHierarchyPrepareParams) ([]TypeHierarchyItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_rangeFormatting + RangeFormatting(context.Context, *DocumentRangeFormattingParams) ([]TextEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_rangesFormatting + RangesFormatting(context.Context, *DocumentRangesFormattingParams) ([]TextEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_references + References(context.Context, *ReferenceParams) ([]Location, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_rename + Rename(context.Context, *RenameParams) (*WorkspaceEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_selectionRange + SelectionRange(context.Context, *SelectionRangeParams) ([]SelectionRange, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_semanticTokens_full + SemanticTokensFull(context.Context, *SemanticTokensParams) (*SemanticTokens, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_semanticTokens_full_delta + SemanticTokensFullDelta(context.Context, *SemanticTokensDeltaParams) (interface{}, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_semanticTokens_range + SemanticTokensRange(context.Context, *SemanticTokensRangeParams) (*SemanticTokens, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_signatureHelp + SignatureHelp(context.Context, *SignatureHelpParams) (*SignatureHelp, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_typeDefinition + TypeDefinition(context.Context, *TypeDefinitionParams) ([]Location, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_willSave + WillSave(context.Context, *WillSaveTextDocumentParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#textDocument_willSaveWaitUntil + WillSaveWaitUntil(context.Context, *WillSaveTextDocumentParams) ([]TextEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchy_subtypes + Subtypes(context.Context, *TypeHierarchySubtypesParams) ([]TypeHierarchyItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#typeHierarchy_supertypes + Supertypes(context.Context, *TypeHierarchySupertypesParams) ([]TypeHierarchyItem, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#window_workDoneProgress_cancel + WorkDoneProgressCancel(context.Context, *WorkDoneProgressCancelParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_diagnostic + DiagnosticWorkspace(context.Context, *WorkspaceDiagnosticParams) (*WorkspaceDiagnosticReport, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didChangeConfiguration + DidChangeConfiguration(context.Context, *DidChangeConfigurationParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didChangeWatchedFiles + DidChangeWatchedFiles(context.Context, *DidChangeWatchedFilesParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didChangeWorkspaceFolders + DidChangeWorkspaceFolders(context.Context, *DidChangeWorkspaceFoldersParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didCreateFiles + DidCreateFiles(context.Context, *CreateFilesParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didDeleteFiles + DidDeleteFiles(context.Context, *DeleteFilesParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_didRenameFiles + DidRenameFiles(context.Context, *RenameFilesParams) error + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_executeCommand + ExecuteCommand(context.Context, *ExecuteCommandParams) (interface{}, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_symbol + Symbol(context.Context, *WorkspaceSymbolParams) ([]SymbolInformation, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_willCreateFiles + WillCreateFiles(context.Context, *CreateFilesParams) (*WorkspaceEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_willDeleteFiles + WillDeleteFiles(context.Context, *DeleteFilesParams) (*WorkspaceEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspace_willRenameFiles + WillRenameFiles(context.Context, *RenameFilesParams) (*WorkspaceEdit, error) + // See https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification#workspaceSymbol_resolve + ResolveWorkspaceSymbol(context.Context, *WorkspaceSymbol) (*WorkspaceSymbol, error) } func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, r jsonrpc2.Request) (bool, error) {