github.com/jhump/golang-x-tools@v0.0.0-20220218190644-4958d6d39439/internal/lsp/protocol/tsserver.go (about)

     1  // Copyright 2019 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package protocol
     6  
     7  // Package protocol contains data types and code for LSP jsonrpcs
     8  // generated automatically from vscode-languageserver-node
     9  // commit: f17727af04704c0e2ede73dfdbeb463156e94561
    10  // last fetched Thu Feb 10 2022 14:34:11 GMT-0700 (Mountain Standard Time)
    11  
    12  // Code generated (see typescript/README.md) DO NOT EDIT.
    13  
    14  import (
    15  	"context"
    16  	"encoding/json"
    17  
    18  	"github.com/jhump/golang-x-tools/internal/jsonrpc2"
    19  	errors "golang.org/x/xerrors"
    20  )
    21  
    22  type Server interface {
    23  	DidChangeWorkspaceFolders(context.Context, *DidChangeWorkspaceFoldersParams) error
    24  	WorkDoneProgressCancel(context.Context, *WorkDoneProgressCancelParams) error
    25  	DidCreateFiles(context.Context, *CreateFilesParams) error
    26  	DidRenameFiles(context.Context, *RenameFilesParams) error
    27  	DidDeleteFiles(context.Context, *DeleteFilesParams) error
    28  	Initialized(context.Context, *InitializedParams) error
    29  	Exit(context.Context) error
    30  	DidChangeConfiguration(context.Context, *DidChangeConfigurationParams) error
    31  	DidOpen(context.Context, *DidOpenTextDocumentParams) error
    32  	DidChange(context.Context, *DidChangeTextDocumentParams) error
    33  	DidClose(context.Context, *DidCloseTextDocumentParams) error
    34  	DidSave(context.Context, *DidSaveTextDocumentParams) error
    35  	WillSave(context.Context, *WillSaveTextDocumentParams) error
    36  	DidChangeWatchedFiles(context.Context, *DidChangeWatchedFilesParams) error
    37  	DidOpenNotebookDocument(context.Context, *DidOpenNotebookDocumentParams) error
    38  	DidChangeNotebookDocument(context.Context, *DidChangeNotebookDocumentParams) error
    39  	DidCloseNotebookDocument(context.Context, *DidCloseNotebookDocumentParams) error
    40  	SetTrace(context.Context, *SetTraceParams) error
    41  	LogTrace(context.Context, *LogTraceParams) error
    42  	Implementation(context.Context, *ImplementationParams) (Definition /*Definition | DefinitionLink[] | null*/, error)
    43  	TypeDefinition(context.Context, *TypeDefinitionParams) (Definition /*Definition | DefinitionLink[] | null*/, error)
    44  	DocumentColor(context.Context, *DocumentColorParams) ([]ColorInformation, error)
    45  	ColorPresentation(context.Context, *ColorPresentationParams) ([]ColorPresentation, error)
    46  	FoldingRange(context.Context, *FoldingRangeParams) ([]FoldingRange /*FoldingRange[] | null*/, error)
    47  	Declaration(context.Context, *DeclarationParams) (Declaration /*Declaration | DeclarationLink[] | null*/, error)
    48  	SelectionRange(context.Context, *SelectionRangeParams) ([]SelectionRange /*SelectionRange[] | null*/, error)
    49  	PrepareCallHierarchy(context.Context, *CallHierarchyPrepareParams) ([]CallHierarchyItem /*CallHierarchyItem[] | null*/, error)
    50  	IncomingCalls(context.Context, *CallHierarchyIncomingCallsParams) ([]CallHierarchyIncomingCall /*CallHierarchyIncomingCall[] | null*/, error)
    51  	OutgoingCalls(context.Context, *CallHierarchyOutgoingCallsParams) ([]CallHierarchyOutgoingCall /*CallHierarchyOutgoingCall[] | null*/, error)
    52  	SemanticTokensFull(context.Context, *SemanticTokensParams) (*SemanticTokens /*SemanticTokens | null*/, error)
    53  	SemanticTokensFullDelta(context.Context, *SemanticTokensDeltaParams) (interface{} /* SemanticTokens | SemanticTokensDelta | float64*/, error)
    54  	SemanticTokensRange(context.Context, *SemanticTokensRangeParams) (*SemanticTokens /*SemanticTokens | null*/, error)
    55  	SemanticTokensRefresh(context.Context) error
    56  	LinkedEditingRange(context.Context, *LinkedEditingRangeParams) (*LinkedEditingRanges /*LinkedEditingRanges | null*/, error)
    57  	WillCreateFiles(context.Context, *CreateFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error)
    58  	WillRenameFiles(context.Context, *RenameFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error)
    59  	WillDeleteFiles(context.Context, *DeleteFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error)
    60  	Moniker(context.Context, *MonikerParams) ([]Moniker /*Moniker[] | null*/, error)
    61  	PrepareTypeHierarchy(context.Context, *TypeHierarchyPrepareParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error)
    62  	Supertypes(context.Context, *TypeHierarchySupertypesParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error)
    63  	Subtypes(context.Context, *TypeHierarchySubtypesParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error)
    64  	InlineValues(context.Context, *InlineValuesParams) ([]InlineValue /*InlineValue[] | null*/, error)
    65  	InlineValuesRefresh(context.Context) error
    66  	Initialize(context.Context, *ParamInitialize) (*InitializeResult, error)
    67  	Shutdown(context.Context) error
    68  	WillSaveWaitUntil(context.Context, *WillSaveTextDocumentParams) ([]TextEdit /*TextEdit[] | null*/, error)
    69  	Completion(context.Context, *CompletionParams) (*CompletionList /*CompletionItem[] | CompletionList | null*/, error)
    70  	Resolve(context.Context, *CompletionItem) (*CompletionItem, error)
    71  	Hover(context.Context, *HoverParams) (*Hover /*Hover | null*/, error)
    72  	SignatureHelp(context.Context, *SignatureHelpParams) (*SignatureHelp /*SignatureHelp | null*/, error)
    73  	Definition(context.Context, *DefinitionParams) (Definition /*Definition | DefinitionLink[] | null*/, error)
    74  	References(context.Context, *ReferenceParams) ([]Location /*Location[] | null*/, error)
    75  	DocumentHighlight(context.Context, *DocumentHighlightParams) ([]DocumentHighlight /*DocumentHighlight[] | null*/, error)
    76  	DocumentSymbol(context.Context, *DocumentSymbolParams) ([]interface{} /*SymbolInformation[] | DocumentSymbol[] | null*/, error)
    77  	CodeAction(context.Context, *CodeActionParams) ([]CodeAction /*(Command | CodeAction)[] | null*/, error)
    78  	ResolveCodeAction(context.Context, *CodeAction) (*CodeAction, error)
    79  	Symbol(context.Context, *WorkspaceSymbolParams) ([]SymbolInformation /*SymbolInformation[] | WorkspaceSymbol[] | null*/, error)
    80  	ResolveWorkspaceSymbol(context.Context, *WorkspaceSymbol) (*WorkspaceSymbol, error)
    81  	CodeLens(context.Context, *CodeLensParams) ([]CodeLens /*CodeLens[] | null*/, error)
    82  	ResolveCodeLens(context.Context, *CodeLens) (*CodeLens, error)
    83  	CodeLensRefresh(context.Context) error
    84  	DocumentLink(context.Context, *DocumentLinkParams) ([]DocumentLink /*DocumentLink[] | null*/, error)
    85  	ResolveDocumentLink(context.Context, *DocumentLink) (*DocumentLink, error)
    86  	Formatting(context.Context, *DocumentFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error)
    87  	RangeFormatting(context.Context, *DocumentRangeFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error)
    88  	OnTypeFormatting(context.Context, *DocumentOnTypeFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error)
    89  	Rename(context.Context, *RenameParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error)
    90  	PrepareRename(context.Context, *PrepareRenameParams) (*PrepareRename2Gn /*Range | { range: Range, placeholder: string } | { defaultBehavior: boolean } | null*/, error)
    91  	ExecuteCommand(context.Context, *ExecuteCommandParams) (interface{} /* LSPAny | void | float64*/, error)
    92  	Diagnostic(context.Context, *string) (*string, error)
    93  	DiagnosticWorkspace(context.Context, *WorkspaceDiagnosticParams) (*WorkspaceDiagnosticReport, error)
    94  	DiagnosticRefresh(context.Context) error
    95  	NonstandardRequest(ctx context.Context, method string, params interface{}) (interface{}, error)
    96  }
    97  
    98  func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, r jsonrpc2.Request) (bool, error) {
    99  	switch r.Method() {
   100  	case "workspace/didChangeWorkspaceFolders": // notif
   101  		var params DidChangeWorkspaceFoldersParams
   102  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   103  			return true, sendParseError(ctx, reply, err)
   104  		}
   105  		err := server.DidChangeWorkspaceFolders(ctx, &params)
   106  		return true, reply(ctx, nil, err)
   107  	case "window/workDoneProgress/cancel": // notif
   108  		var params WorkDoneProgressCancelParams
   109  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   110  			return true, sendParseError(ctx, reply, err)
   111  		}
   112  		err := server.WorkDoneProgressCancel(ctx, &params)
   113  		return true, reply(ctx, nil, err)
   114  	case "workspace/didCreateFiles": // notif
   115  		var params CreateFilesParams
   116  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   117  			return true, sendParseError(ctx, reply, err)
   118  		}
   119  		err := server.DidCreateFiles(ctx, &params)
   120  		return true, reply(ctx, nil, err)
   121  	case "workspace/didRenameFiles": // notif
   122  		var params RenameFilesParams
   123  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   124  			return true, sendParseError(ctx, reply, err)
   125  		}
   126  		err := server.DidRenameFiles(ctx, &params)
   127  		return true, reply(ctx, nil, err)
   128  	case "workspace/didDeleteFiles": // notif
   129  		var params DeleteFilesParams
   130  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   131  			return true, sendParseError(ctx, reply, err)
   132  		}
   133  		err := server.DidDeleteFiles(ctx, &params)
   134  		return true, reply(ctx, nil, err)
   135  	case "initialized": // notif
   136  		var params InitializedParams
   137  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   138  			return true, sendParseError(ctx, reply, err)
   139  		}
   140  		err := server.Initialized(ctx, &params)
   141  		return true, reply(ctx, nil, err)
   142  	case "exit": // notif
   143  		err := server.Exit(ctx)
   144  		return true, reply(ctx, nil, err)
   145  	case "workspace/didChangeConfiguration": // notif
   146  		var params DidChangeConfigurationParams
   147  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   148  			return true, sendParseError(ctx, reply, err)
   149  		}
   150  		err := server.DidChangeConfiguration(ctx, &params)
   151  		return true, reply(ctx, nil, err)
   152  	case "textDocument/didOpen": // notif
   153  		var params DidOpenTextDocumentParams
   154  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   155  			return true, sendParseError(ctx, reply, err)
   156  		}
   157  		err := server.DidOpen(ctx, &params)
   158  		return true, reply(ctx, nil, err)
   159  	case "textDocument/didChange": // notif
   160  		var params DidChangeTextDocumentParams
   161  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   162  			return true, sendParseError(ctx, reply, err)
   163  		}
   164  		err := server.DidChange(ctx, &params)
   165  		return true, reply(ctx, nil, err)
   166  	case "textDocument/didClose": // notif
   167  		var params DidCloseTextDocumentParams
   168  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   169  			return true, sendParseError(ctx, reply, err)
   170  		}
   171  		err := server.DidClose(ctx, &params)
   172  		return true, reply(ctx, nil, err)
   173  	case "textDocument/didSave": // notif
   174  		var params DidSaveTextDocumentParams
   175  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   176  			return true, sendParseError(ctx, reply, err)
   177  		}
   178  		err := server.DidSave(ctx, &params)
   179  		return true, reply(ctx, nil, err)
   180  	case "textDocument/willSave": // notif
   181  		var params WillSaveTextDocumentParams
   182  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   183  			return true, sendParseError(ctx, reply, err)
   184  		}
   185  		err := server.WillSave(ctx, &params)
   186  		return true, reply(ctx, nil, err)
   187  	case "workspace/didChangeWatchedFiles": // notif
   188  		var params DidChangeWatchedFilesParams
   189  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   190  			return true, sendParseError(ctx, reply, err)
   191  		}
   192  		err := server.DidChangeWatchedFiles(ctx, &params)
   193  		return true, reply(ctx, nil, err)
   194  	case "notebookDocument/didOpen": // notif
   195  		var params DidOpenNotebookDocumentParams
   196  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   197  			return true, sendParseError(ctx, reply, err)
   198  		}
   199  		err := server.DidOpenNotebookDocument(ctx, &params)
   200  		return true, reply(ctx, nil, err)
   201  	case "notebookDocument/didChange": // notif
   202  		var params DidChangeNotebookDocumentParams
   203  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   204  			return true, sendParseError(ctx, reply, err)
   205  		}
   206  		err := server.DidChangeNotebookDocument(ctx, &params)
   207  		return true, reply(ctx, nil, err)
   208  	case "notebookDocument/didClose": // notif
   209  		var params DidCloseNotebookDocumentParams
   210  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   211  			return true, sendParseError(ctx, reply, err)
   212  		}
   213  		err := server.DidCloseNotebookDocument(ctx, &params)
   214  		return true, reply(ctx, nil, err)
   215  	case "$/setTrace": // notif
   216  		var params SetTraceParams
   217  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   218  			return true, sendParseError(ctx, reply, err)
   219  		}
   220  		err := server.SetTrace(ctx, &params)
   221  		return true, reply(ctx, nil, err)
   222  	case "$/logTrace": // notif
   223  		var params LogTraceParams
   224  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   225  			return true, sendParseError(ctx, reply, err)
   226  		}
   227  		err := server.LogTrace(ctx, &params)
   228  		return true, reply(ctx, nil, err)
   229  	case "textDocument/implementation": // req
   230  		var params ImplementationParams
   231  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   232  			return true, sendParseError(ctx, reply, err)
   233  		}
   234  		resp, err := server.Implementation(ctx, &params)
   235  		return true, reply(ctx, resp, err)
   236  	case "textDocument/typeDefinition": // req
   237  		var params TypeDefinitionParams
   238  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   239  			return true, sendParseError(ctx, reply, err)
   240  		}
   241  		resp, err := server.TypeDefinition(ctx, &params)
   242  		return true, reply(ctx, resp, err)
   243  	case "textDocument/documentColor": // req
   244  		var params DocumentColorParams
   245  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   246  			return true, sendParseError(ctx, reply, err)
   247  		}
   248  		resp, err := server.DocumentColor(ctx, &params)
   249  		return true, reply(ctx, resp, err)
   250  	case "textDocument/colorPresentation": // req
   251  		var params ColorPresentationParams
   252  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   253  			return true, sendParseError(ctx, reply, err)
   254  		}
   255  		resp, err := server.ColorPresentation(ctx, &params)
   256  		return true, reply(ctx, resp, err)
   257  	case "textDocument/foldingRange": // req
   258  		var params FoldingRangeParams
   259  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   260  			return true, sendParseError(ctx, reply, err)
   261  		}
   262  		resp, err := server.FoldingRange(ctx, &params)
   263  		return true, reply(ctx, resp, err)
   264  	case "textDocument/declaration": // req
   265  		var params DeclarationParams
   266  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   267  			return true, sendParseError(ctx, reply, err)
   268  		}
   269  		resp, err := server.Declaration(ctx, &params)
   270  		return true, reply(ctx, resp, err)
   271  	case "textDocument/selectionRange": // req
   272  		var params SelectionRangeParams
   273  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   274  			return true, sendParseError(ctx, reply, err)
   275  		}
   276  		resp, err := server.SelectionRange(ctx, &params)
   277  		return true, reply(ctx, resp, err)
   278  	case "textDocument/prepareCallHierarchy": // req
   279  		var params CallHierarchyPrepareParams
   280  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   281  			return true, sendParseError(ctx, reply, err)
   282  		}
   283  		resp, err := server.PrepareCallHierarchy(ctx, &params)
   284  		return true, reply(ctx, resp, err)
   285  	case "callHierarchy/incomingCalls": // req
   286  		var params CallHierarchyIncomingCallsParams
   287  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   288  			return true, sendParseError(ctx, reply, err)
   289  		}
   290  		resp, err := server.IncomingCalls(ctx, &params)
   291  		return true, reply(ctx, resp, err)
   292  	case "callHierarchy/outgoingCalls": // req
   293  		var params CallHierarchyOutgoingCallsParams
   294  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   295  			return true, sendParseError(ctx, reply, err)
   296  		}
   297  		resp, err := server.OutgoingCalls(ctx, &params)
   298  		return true, reply(ctx, resp, err)
   299  	case "textDocument/semanticTokens/full": // req
   300  		var params SemanticTokensParams
   301  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   302  			return true, sendParseError(ctx, reply, err)
   303  		}
   304  		resp, err := server.SemanticTokensFull(ctx, &params)
   305  		return true, reply(ctx, resp, err)
   306  	case "textDocument/semanticTokens/full/delta": // req
   307  		var params SemanticTokensDeltaParams
   308  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   309  			return true, sendParseError(ctx, reply, err)
   310  		}
   311  		resp, err := server.SemanticTokensFullDelta(ctx, &params)
   312  		return true, reply(ctx, resp, err)
   313  	case "textDocument/semanticTokens/range": // req
   314  		var params SemanticTokensRangeParams
   315  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   316  			return true, sendParseError(ctx, reply, err)
   317  		}
   318  		resp, err := server.SemanticTokensRange(ctx, &params)
   319  		return true, reply(ctx, resp, err)
   320  	case "workspace/semanticTokens/refresh": // req
   321  		if len(r.Params()) > 0 {
   322  			return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
   323  		}
   324  		err := server.SemanticTokensRefresh(ctx)
   325  		return true, reply(ctx, nil, err)
   326  	case "textDocument/linkedEditingRange": // req
   327  		var params LinkedEditingRangeParams
   328  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   329  			return true, sendParseError(ctx, reply, err)
   330  		}
   331  		resp, err := server.LinkedEditingRange(ctx, &params)
   332  		return true, reply(ctx, resp, err)
   333  	case "workspace/willCreateFiles": // req
   334  		var params CreateFilesParams
   335  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   336  			return true, sendParseError(ctx, reply, err)
   337  		}
   338  		resp, err := server.WillCreateFiles(ctx, &params)
   339  		return true, reply(ctx, resp, err)
   340  	case "workspace/willRenameFiles": // req
   341  		var params RenameFilesParams
   342  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   343  			return true, sendParseError(ctx, reply, err)
   344  		}
   345  		resp, err := server.WillRenameFiles(ctx, &params)
   346  		return true, reply(ctx, resp, err)
   347  	case "workspace/willDeleteFiles": // req
   348  		var params DeleteFilesParams
   349  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   350  			return true, sendParseError(ctx, reply, err)
   351  		}
   352  		resp, err := server.WillDeleteFiles(ctx, &params)
   353  		return true, reply(ctx, resp, err)
   354  	case "textDocument/moniker": // req
   355  		var params MonikerParams
   356  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   357  			return true, sendParseError(ctx, reply, err)
   358  		}
   359  		resp, err := server.Moniker(ctx, &params)
   360  		return true, reply(ctx, resp, err)
   361  	case "textDocument/prepareTypeHierarchy": // req
   362  		var params TypeHierarchyPrepareParams
   363  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   364  			return true, sendParseError(ctx, reply, err)
   365  		}
   366  		resp, err := server.PrepareTypeHierarchy(ctx, &params)
   367  		return true, reply(ctx, resp, err)
   368  	case "typeHierarchy/supertypes": // req
   369  		var params TypeHierarchySupertypesParams
   370  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   371  			return true, sendParseError(ctx, reply, err)
   372  		}
   373  		resp, err := server.Supertypes(ctx, &params)
   374  		return true, reply(ctx, resp, err)
   375  	case "typeHierarchy/subtypes": // req
   376  		var params TypeHierarchySubtypesParams
   377  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   378  			return true, sendParseError(ctx, reply, err)
   379  		}
   380  		resp, err := server.Subtypes(ctx, &params)
   381  		return true, reply(ctx, resp, err)
   382  	case "textDocument/inlineValues": // req
   383  		var params InlineValuesParams
   384  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   385  			return true, sendParseError(ctx, reply, err)
   386  		}
   387  		resp, err := server.InlineValues(ctx, &params)
   388  		return true, reply(ctx, resp, err)
   389  	case "workspace/inlineValues/refresh": // req
   390  		if len(r.Params()) > 0 {
   391  			return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
   392  		}
   393  		err := server.InlineValuesRefresh(ctx)
   394  		return true, reply(ctx, nil, err)
   395  	case "initialize": // req
   396  		var params ParamInitialize
   397  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   398  			if _, ok := err.(*json.UnmarshalTypeError); !ok {
   399  				return true, sendParseError(ctx, reply, err)
   400  			}
   401  		}
   402  		resp, err := server.Initialize(ctx, &params)
   403  		return true, reply(ctx, resp, err)
   404  	case "shutdown": // req
   405  		if len(r.Params()) > 0 {
   406  			return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
   407  		}
   408  		err := server.Shutdown(ctx)
   409  		return true, reply(ctx, nil, err)
   410  	case "textDocument/willSaveWaitUntil": // req
   411  		var params WillSaveTextDocumentParams
   412  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   413  			return true, sendParseError(ctx, reply, err)
   414  		}
   415  		resp, err := server.WillSaveWaitUntil(ctx, &params)
   416  		return true, reply(ctx, resp, err)
   417  	case "textDocument/completion": // req
   418  		var params CompletionParams
   419  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   420  			return true, sendParseError(ctx, reply, err)
   421  		}
   422  		resp, err := server.Completion(ctx, &params)
   423  		return true, reply(ctx, resp, err)
   424  	case "completionItem/resolve": // req
   425  		var params CompletionItem
   426  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   427  			return true, sendParseError(ctx, reply, err)
   428  		}
   429  		resp, err := server.Resolve(ctx, &params)
   430  		return true, reply(ctx, resp, err)
   431  	case "textDocument/hover": // req
   432  		var params HoverParams
   433  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   434  			return true, sendParseError(ctx, reply, err)
   435  		}
   436  		resp, err := server.Hover(ctx, &params)
   437  		return true, reply(ctx, resp, err)
   438  	case "textDocument/signatureHelp": // req
   439  		var params SignatureHelpParams
   440  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   441  			return true, sendParseError(ctx, reply, err)
   442  		}
   443  		resp, err := server.SignatureHelp(ctx, &params)
   444  		return true, reply(ctx, resp, err)
   445  	case "textDocument/definition": // req
   446  		var params DefinitionParams
   447  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   448  			return true, sendParseError(ctx, reply, err)
   449  		}
   450  		resp, err := server.Definition(ctx, &params)
   451  		return true, reply(ctx, resp, err)
   452  	case "textDocument/references": // req
   453  		var params ReferenceParams
   454  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   455  			return true, sendParseError(ctx, reply, err)
   456  		}
   457  		resp, err := server.References(ctx, &params)
   458  		return true, reply(ctx, resp, err)
   459  	case "textDocument/documentHighlight": // req
   460  		var params DocumentHighlightParams
   461  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   462  			return true, sendParseError(ctx, reply, err)
   463  		}
   464  		resp, err := server.DocumentHighlight(ctx, &params)
   465  		return true, reply(ctx, resp, err)
   466  	case "textDocument/documentSymbol": // req
   467  		var params DocumentSymbolParams
   468  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   469  			return true, sendParseError(ctx, reply, err)
   470  		}
   471  		resp, err := server.DocumentSymbol(ctx, &params)
   472  		return true, reply(ctx, resp, err)
   473  	case "textDocument/codeAction": // req
   474  		var params CodeActionParams
   475  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   476  			return true, sendParseError(ctx, reply, err)
   477  		}
   478  		resp, err := server.CodeAction(ctx, &params)
   479  		return true, reply(ctx, resp, err)
   480  	case "codeAction/resolve": // req
   481  		var params CodeAction
   482  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   483  			return true, sendParseError(ctx, reply, err)
   484  		}
   485  		resp, err := server.ResolveCodeAction(ctx, &params)
   486  		return true, reply(ctx, resp, err)
   487  	case "workspace/symbol": // req
   488  		var params WorkspaceSymbolParams
   489  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   490  			return true, sendParseError(ctx, reply, err)
   491  		}
   492  		resp, err := server.Symbol(ctx, &params)
   493  		return true, reply(ctx, resp, err)
   494  	case "workspaceSymbol/resolve": // req
   495  		var params WorkspaceSymbol
   496  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   497  			return true, sendParseError(ctx, reply, err)
   498  		}
   499  		resp, err := server.ResolveWorkspaceSymbol(ctx, &params)
   500  		return true, reply(ctx, resp, err)
   501  	case "textDocument/codeLens": // req
   502  		var params CodeLensParams
   503  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   504  			return true, sendParseError(ctx, reply, err)
   505  		}
   506  		resp, err := server.CodeLens(ctx, &params)
   507  		return true, reply(ctx, resp, err)
   508  	case "codeLens/resolve": // req
   509  		var params CodeLens
   510  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   511  			return true, sendParseError(ctx, reply, err)
   512  		}
   513  		resp, err := server.ResolveCodeLens(ctx, &params)
   514  		return true, reply(ctx, resp, err)
   515  	case "workspace/codeLens/refresh": // req
   516  		if len(r.Params()) > 0 {
   517  			return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
   518  		}
   519  		err := server.CodeLensRefresh(ctx)
   520  		return true, reply(ctx, nil, err)
   521  	case "textDocument/documentLink": // req
   522  		var params DocumentLinkParams
   523  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   524  			return true, sendParseError(ctx, reply, err)
   525  		}
   526  		resp, err := server.DocumentLink(ctx, &params)
   527  		return true, reply(ctx, resp, err)
   528  	case "documentLink/resolve": // req
   529  		var params DocumentLink
   530  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   531  			return true, sendParseError(ctx, reply, err)
   532  		}
   533  		resp, err := server.ResolveDocumentLink(ctx, &params)
   534  		return true, reply(ctx, resp, err)
   535  	case "textDocument/formatting": // req
   536  		var params DocumentFormattingParams
   537  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   538  			return true, sendParseError(ctx, reply, err)
   539  		}
   540  		resp, err := server.Formatting(ctx, &params)
   541  		return true, reply(ctx, resp, err)
   542  	case "textDocument/rangeFormatting": // req
   543  		var params DocumentRangeFormattingParams
   544  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   545  			return true, sendParseError(ctx, reply, err)
   546  		}
   547  		resp, err := server.RangeFormatting(ctx, &params)
   548  		return true, reply(ctx, resp, err)
   549  	case "textDocument/onTypeFormatting": // req
   550  		var params DocumentOnTypeFormattingParams
   551  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   552  			return true, sendParseError(ctx, reply, err)
   553  		}
   554  		resp, err := server.OnTypeFormatting(ctx, &params)
   555  		return true, reply(ctx, resp, err)
   556  	case "textDocument/rename": // req
   557  		var params RenameParams
   558  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   559  			return true, sendParseError(ctx, reply, err)
   560  		}
   561  		resp, err := server.Rename(ctx, &params)
   562  		return true, reply(ctx, resp, err)
   563  	case "textDocument/prepareRename": // req
   564  		var params PrepareRenameParams
   565  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   566  			return true, sendParseError(ctx, reply, err)
   567  		}
   568  		resp, err := server.PrepareRename(ctx, &params)
   569  		return true, reply(ctx, resp, err)
   570  	case "workspace/executeCommand": // req
   571  		var params ExecuteCommandParams
   572  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   573  			return true, sendParseError(ctx, reply, err)
   574  		}
   575  		resp, err := server.ExecuteCommand(ctx, &params)
   576  		return true, reply(ctx, resp, err)
   577  	case "textDocument/diagnostic": // req
   578  		var params string
   579  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   580  			return true, sendParseError(ctx, reply, err)
   581  		}
   582  		resp, err := server.Diagnostic(ctx, &params)
   583  		return true, reply(ctx, resp, err)
   584  	case "workspace/diagnostic": // req
   585  		var params WorkspaceDiagnosticParams
   586  		if err := json.Unmarshal(r.Params(), &params); err != nil {
   587  			return true, sendParseError(ctx, reply, err)
   588  		}
   589  		resp, err := server.DiagnosticWorkspace(ctx, &params)
   590  		return true, reply(ctx, resp, err)
   591  	case "workspace/diagnostic/refresh": // req
   592  		if len(r.Params()) > 0 {
   593  			return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
   594  		}
   595  		err := server.DiagnosticRefresh(ctx)
   596  		return true, reply(ctx, nil, err)
   597  
   598  	default:
   599  		return false, nil
   600  	}
   601  }
   602  
   603  func (s *serverDispatcher) DidChangeWorkspaceFolders(ctx context.Context, params *DidChangeWorkspaceFoldersParams) error {
   604  	return s.sender.Notify(ctx, "workspace/didChangeWorkspaceFolders", params)
   605  }
   606  
   607  func (s *serverDispatcher) WorkDoneProgressCancel(ctx context.Context, params *WorkDoneProgressCancelParams) error {
   608  	return s.sender.Notify(ctx, "window/workDoneProgress/cancel", params)
   609  }
   610  
   611  func (s *serverDispatcher) DidCreateFiles(ctx context.Context, params *CreateFilesParams) error {
   612  	return s.sender.Notify(ctx, "workspace/didCreateFiles", params)
   613  }
   614  
   615  func (s *serverDispatcher) DidRenameFiles(ctx context.Context, params *RenameFilesParams) error {
   616  	return s.sender.Notify(ctx, "workspace/didRenameFiles", params)
   617  }
   618  
   619  func (s *serverDispatcher) DidDeleteFiles(ctx context.Context, params *DeleteFilesParams) error {
   620  	return s.sender.Notify(ctx, "workspace/didDeleteFiles", params)
   621  }
   622  
   623  func (s *serverDispatcher) Initialized(ctx context.Context, params *InitializedParams) error {
   624  	return s.sender.Notify(ctx, "initialized", params)
   625  }
   626  
   627  func (s *serverDispatcher) Exit(ctx context.Context) error {
   628  	return s.sender.Notify(ctx, "exit", nil)
   629  }
   630  
   631  func (s *serverDispatcher) DidChangeConfiguration(ctx context.Context, params *DidChangeConfigurationParams) error {
   632  	return s.sender.Notify(ctx, "workspace/didChangeConfiguration", params)
   633  }
   634  
   635  func (s *serverDispatcher) DidOpen(ctx context.Context, params *DidOpenTextDocumentParams) error {
   636  	return s.sender.Notify(ctx, "textDocument/didOpen", params)
   637  }
   638  
   639  func (s *serverDispatcher) DidChange(ctx context.Context, params *DidChangeTextDocumentParams) error {
   640  	return s.sender.Notify(ctx, "textDocument/didChange", params)
   641  }
   642  
   643  func (s *serverDispatcher) DidClose(ctx context.Context, params *DidCloseTextDocumentParams) error {
   644  	return s.sender.Notify(ctx, "textDocument/didClose", params)
   645  }
   646  
   647  func (s *serverDispatcher) DidSave(ctx context.Context, params *DidSaveTextDocumentParams) error {
   648  	return s.sender.Notify(ctx, "textDocument/didSave", params)
   649  }
   650  
   651  func (s *serverDispatcher) WillSave(ctx context.Context, params *WillSaveTextDocumentParams) error {
   652  	return s.sender.Notify(ctx, "textDocument/willSave", params)
   653  }
   654  
   655  func (s *serverDispatcher) DidChangeWatchedFiles(ctx context.Context, params *DidChangeWatchedFilesParams) error {
   656  	return s.sender.Notify(ctx, "workspace/didChangeWatchedFiles", params)
   657  }
   658  
   659  func (s *serverDispatcher) DidOpenNotebookDocument(ctx context.Context, params *DidOpenNotebookDocumentParams) error {
   660  	return s.sender.Notify(ctx, "notebookDocument/didOpen", params)
   661  }
   662  
   663  func (s *serverDispatcher) DidChangeNotebookDocument(ctx context.Context, params *DidChangeNotebookDocumentParams) error {
   664  	return s.sender.Notify(ctx, "notebookDocument/didChange", params)
   665  }
   666  
   667  func (s *serverDispatcher) DidCloseNotebookDocument(ctx context.Context, params *DidCloseNotebookDocumentParams) error {
   668  	return s.sender.Notify(ctx, "notebookDocument/didClose", params)
   669  }
   670  
   671  func (s *serverDispatcher) SetTrace(ctx context.Context, params *SetTraceParams) error {
   672  	return s.sender.Notify(ctx, "$/setTrace", params)
   673  }
   674  
   675  func (s *serverDispatcher) LogTrace(ctx context.Context, params *LogTraceParams) error {
   676  	return s.sender.Notify(ctx, "$/logTrace", params)
   677  }
   678  func (s *serverDispatcher) Implementation(ctx context.Context, params *ImplementationParams) (Definition /*Definition | DefinitionLink[] | null*/, error) {
   679  	var result Definition /*Definition | DefinitionLink[] | null*/
   680  	if err := s.sender.Call(ctx, "textDocument/implementation", params, &result); err != nil {
   681  		return nil, err
   682  	}
   683  	return result, nil
   684  }
   685  
   686  func (s *serverDispatcher) TypeDefinition(ctx context.Context, params *TypeDefinitionParams) (Definition /*Definition | DefinitionLink[] | null*/, error) {
   687  	var result Definition /*Definition | DefinitionLink[] | null*/
   688  	if err := s.sender.Call(ctx, "textDocument/typeDefinition", params, &result); err != nil {
   689  		return nil, err
   690  	}
   691  	return result, nil
   692  }
   693  
   694  func (s *serverDispatcher) DocumentColor(ctx context.Context, params *DocumentColorParams) ([]ColorInformation, error) {
   695  	var result []ColorInformation
   696  	if err := s.sender.Call(ctx, "textDocument/documentColor", params, &result); err != nil {
   697  		return nil, err
   698  	}
   699  	return result, nil
   700  }
   701  
   702  func (s *serverDispatcher) ColorPresentation(ctx context.Context, params *ColorPresentationParams) ([]ColorPresentation, error) {
   703  	var result []ColorPresentation
   704  	if err := s.sender.Call(ctx, "textDocument/colorPresentation", params, &result); err != nil {
   705  		return nil, err
   706  	}
   707  	return result, nil
   708  }
   709  
   710  func (s *serverDispatcher) FoldingRange(ctx context.Context, params *FoldingRangeParams) ([]FoldingRange /*FoldingRange[] | null*/, error) {
   711  	var result []FoldingRange /*FoldingRange[] | null*/
   712  	if err := s.sender.Call(ctx, "textDocument/foldingRange", params, &result); err != nil {
   713  		return nil, err
   714  	}
   715  	return result, nil
   716  }
   717  
   718  func (s *serverDispatcher) Declaration(ctx context.Context, params *DeclarationParams) (Declaration /*Declaration | DeclarationLink[] | null*/, error) {
   719  	var result Declaration /*Declaration | DeclarationLink[] | null*/
   720  	if err := s.sender.Call(ctx, "textDocument/declaration", params, &result); err != nil {
   721  		return nil, err
   722  	}
   723  	return result, nil
   724  }
   725  
   726  func (s *serverDispatcher) SelectionRange(ctx context.Context, params *SelectionRangeParams) ([]SelectionRange /*SelectionRange[] | null*/, error) {
   727  	var result []SelectionRange /*SelectionRange[] | null*/
   728  	if err := s.sender.Call(ctx, "textDocument/selectionRange", params, &result); err != nil {
   729  		return nil, err
   730  	}
   731  	return result, nil
   732  }
   733  
   734  func (s *serverDispatcher) PrepareCallHierarchy(ctx context.Context, params *CallHierarchyPrepareParams) ([]CallHierarchyItem /*CallHierarchyItem[] | null*/, error) {
   735  	var result []CallHierarchyItem /*CallHierarchyItem[] | null*/
   736  	if err := s.sender.Call(ctx, "textDocument/prepareCallHierarchy", params, &result); err != nil {
   737  		return nil, err
   738  	}
   739  	return result, nil
   740  }
   741  
   742  func (s *serverDispatcher) IncomingCalls(ctx context.Context, params *CallHierarchyIncomingCallsParams) ([]CallHierarchyIncomingCall /*CallHierarchyIncomingCall[] | null*/, error) {
   743  	var result []CallHierarchyIncomingCall /*CallHierarchyIncomingCall[] | null*/
   744  	if err := s.sender.Call(ctx, "callHierarchy/incomingCalls", params, &result); err != nil {
   745  		return nil, err
   746  	}
   747  	return result, nil
   748  }
   749  
   750  func (s *serverDispatcher) OutgoingCalls(ctx context.Context, params *CallHierarchyOutgoingCallsParams) ([]CallHierarchyOutgoingCall /*CallHierarchyOutgoingCall[] | null*/, error) {
   751  	var result []CallHierarchyOutgoingCall /*CallHierarchyOutgoingCall[] | null*/
   752  	if err := s.sender.Call(ctx, "callHierarchy/outgoingCalls", params, &result); err != nil {
   753  		return nil, err
   754  	}
   755  	return result, nil
   756  }
   757  
   758  func (s *serverDispatcher) SemanticTokensFull(ctx context.Context, params *SemanticTokensParams) (*SemanticTokens /*SemanticTokens | null*/, error) {
   759  	var result *SemanticTokens /*SemanticTokens | null*/
   760  	if err := s.sender.Call(ctx, "textDocument/semanticTokens/full", params, &result); err != nil {
   761  		return nil, err
   762  	}
   763  	return result, nil
   764  }
   765  
   766  func (s *serverDispatcher) SemanticTokensFullDelta(ctx context.Context, params *SemanticTokensDeltaParams) (interface{} /* SemanticTokens | SemanticTokensDelta | float64*/, error) {
   767  	var result interface{} /* SemanticTokens | SemanticTokensDelta | float64*/
   768  	if err := s.sender.Call(ctx, "textDocument/semanticTokens/full/delta", params, &result); err != nil {
   769  		return nil, err
   770  	}
   771  	return result, nil
   772  }
   773  
   774  func (s *serverDispatcher) SemanticTokensRange(ctx context.Context, params *SemanticTokensRangeParams) (*SemanticTokens /*SemanticTokens | null*/, error) {
   775  	var result *SemanticTokens /*SemanticTokens | null*/
   776  	if err := s.sender.Call(ctx, "textDocument/semanticTokens/range", params, &result); err != nil {
   777  		return nil, err
   778  	}
   779  	return result, nil
   780  }
   781  
   782  func (s *serverDispatcher) SemanticTokensRefresh(ctx context.Context) error {
   783  	return s.sender.Call(ctx, "workspace/semanticTokens/refresh", nil, nil)
   784  }
   785  
   786  func (s *serverDispatcher) LinkedEditingRange(ctx context.Context, params *LinkedEditingRangeParams) (*LinkedEditingRanges /*LinkedEditingRanges | null*/, error) {
   787  	var result *LinkedEditingRanges /*LinkedEditingRanges | null*/
   788  	if err := s.sender.Call(ctx, "textDocument/linkedEditingRange", params, &result); err != nil {
   789  		return nil, err
   790  	}
   791  	return result, nil
   792  }
   793  
   794  func (s *serverDispatcher) WillCreateFiles(ctx context.Context, params *CreateFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error) {
   795  	var result *WorkspaceEdit /*WorkspaceEdit | null*/
   796  	if err := s.sender.Call(ctx, "workspace/willCreateFiles", params, &result); err != nil {
   797  		return nil, err
   798  	}
   799  	return result, nil
   800  }
   801  
   802  func (s *serverDispatcher) WillRenameFiles(ctx context.Context, params *RenameFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error) {
   803  	var result *WorkspaceEdit /*WorkspaceEdit | null*/
   804  	if err := s.sender.Call(ctx, "workspace/willRenameFiles", params, &result); err != nil {
   805  		return nil, err
   806  	}
   807  	return result, nil
   808  }
   809  
   810  func (s *serverDispatcher) WillDeleteFiles(ctx context.Context, params *DeleteFilesParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error) {
   811  	var result *WorkspaceEdit /*WorkspaceEdit | null*/
   812  	if err := s.sender.Call(ctx, "workspace/willDeleteFiles", params, &result); err != nil {
   813  		return nil, err
   814  	}
   815  	return result, nil
   816  }
   817  
   818  func (s *serverDispatcher) Moniker(ctx context.Context, params *MonikerParams) ([]Moniker /*Moniker[] | null*/, error) {
   819  	var result []Moniker /*Moniker[] | null*/
   820  	if err := s.sender.Call(ctx, "textDocument/moniker", params, &result); err != nil {
   821  		return nil, err
   822  	}
   823  	return result, nil
   824  }
   825  
   826  func (s *serverDispatcher) PrepareTypeHierarchy(ctx context.Context, params *TypeHierarchyPrepareParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error) {
   827  	var result []TypeHierarchyItem /*TypeHierarchyItem[] | null*/
   828  	if err := s.sender.Call(ctx, "textDocument/prepareTypeHierarchy", params, &result); err != nil {
   829  		return nil, err
   830  	}
   831  	return result, nil
   832  }
   833  
   834  func (s *serverDispatcher) Supertypes(ctx context.Context, params *TypeHierarchySupertypesParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error) {
   835  	var result []TypeHierarchyItem /*TypeHierarchyItem[] | null*/
   836  	if err := s.sender.Call(ctx, "typeHierarchy/supertypes", params, &result); err != nil {
   837  		return nil, err
   838  	}
   839  	return result, nil
   840  }
   841  
   842  func (s *serverDispatcher) Subtypes(ctx context.Context, params *TypeHierarchySubtypesParams) ([]TypeHierarchyItem /*TypeHierarchyItem[] | null*/, error) {
   843  	var result []TypeHierarchyItem /*TypeHierarchyItem[] | null*/
   844  	if err := s.sender.Call(ctx, "typeHierarchy/subtypes", params, &result); err != nil {
   845  		return nil, err
   846  	}
   847  	return result, nil
   848  }
   849  
   850  func (s *serverDispatcher) InlineValues(ctx context.Context, params *InlineValuesParams) ([]InlineValue /*InlineValue[] | null*/, error) {
   851  	var result []InlineValue /*InlineValue[] | null*/
   852  	if err := s.sender.Call(ctx, "textDocument/inlineValues", params, &result); err != nil {
   853  		return nil, err
   854  	}
   855  	return result, nil
   856  }
   857  
   858  func (s *serverDispatcher) InlineValuesRefresh(ctx context.Context) error {
   859  	return s.sender.Call(ctx, "workspace/inlineValues/refresh", nil, nil)
   860  }
   861  
   862  func (s *serverDispatcher) Initialize(ctx context.Context, params *ParamInitialize) (*InitializeResult, error) {
   863  	var result *InitializeResult
   864  	if err := s.sender.Call(ctx, "initialize", params, &result); err != nil {
   865  		return nil, err
   866  	}
   867  	return result, nil
   868  }
   869  
   870  func (s *serverDispatcher) Shutdown(ctx context.Context) error {
   871  	return s.sender.Call(ctx, "shutdown", nil, nil)
   872  }
   873  
   874  func (s *serverDispatcher) WillSaveWaitUntil(ctx context.Context, params *WillSaveTextDocumentParams) ([]TextEdit /*TextEdit[] | null*/, error) {
   875  	var result []TextEdit /*TextEdit[] | null*/
   876  	if err := s.sender.Call(ctx, "textDocument/willSaveWaitUntil", params, &result); err != nil {
   877  		return nil, err
   878  	}
   879  	return result, nil
   880  }
   881  
   882  func (s *serverDispatcher) Completion(ctx context.Context, params *CompletionParams) (*CompletionList /*CompletionItem[] | CompletionList | null*/, error) {
   883  	var result *CompletionList /*CompletionItem[] | CompletionList | null*/
   884  	if err := s.sender.Call(ctx, "textDocument/completion", params, &result); err != nil {
   885  		return nil, err
   886  	}
   887  	return result, nil
   888  }
   889  
   890  func (s *serverDispatcher) Resolve(ctx context.Context, params *CompletionItem) (*CompletionItem, error) {
   891  	var result *CompletionItem
   892  	if err := s.sender.Call(ctx, "completionItem/resolve", params, &result); err != nil {
   893  		return nil, err
   894  	}
   895  	return result, nil
   896  }
   897  
   898  func (s *serverDispatcher) Hover(ctx context.Context, params *HoverParams) (*Hover /*Hover | null*/, error) {
   899  	var result *Hover /*Hover | null*/
   900  	if err := s.sender.Call(ctx, "textDocument/hover", params, &result); err != nil {
   901  		return nil, err
   902  	}
   903  	return result, nil
   904  }
   905  
   906  func (s *serverDispatcher) SignatureHelp(ctx context.Context, params *SignatureHelpParams) (*SignatureHelp /*SignatureHelp | null*/, error) {
   907  	var result *SignatureHelp /*SignatureHelp | null*/
   908  	if err := s.sender.Call(ctx, "textDocument/signatureHelp", params, &result); err != nil {
   909  		return nil, err
   910  	}
   911  	return result, nil
   912  }
   913  
   914  func (s *serverDispatcher) Definition(ctx context.Context, params *DefinitionParams) (Definition /*Definition | DefinitionLink[] | null*/, error) {
   915  	var result Definition /*Definition | DefinitionLink[] | null*/
   916  	if err := s.sender.Call(ctx, "textDocument/definition", params, &result); err != nil {
   917  		return nil, err
   918  	}
   919  	return result, nil
   920  }
   921  
   922  func (s *serverDispatcher) References(ctx context.Context, params *ReferenceParams) ([]Location /*Location[] | null*/, error) {
   923  	var result []Location /*Location[] | null*/
   924  	if err := s.sender.Call(ctx, "textDocument/references", params, &result); err != nil {
   925  		return nil, err
   926  	}
   927  	return result, nil
   928  }
   929  
   930  func (s *serverDispatcher) DocumentHighlight(ctx context.Context, params *DocumentHighlightParams) ([]DocumentHighlight /*DocumentHighlight[] | null*/, error) {
   931  	var result []DocumentHighlight /*DocumentHighlight[] | null*/
   932  	if err := s.sender.Call(ctx, "textDocument/documentHighlight", params, &result); err != nil {
   933  		return nil, err
   934  	}
   935  	return result, nil
   936  }
   937  
   938  func (s *serverDispatcher) DocumentSymbol(ctx context.Context, params *DocumentSymbolParams) ([]interface{} /*SymbolInformation[] | DocumentSymbol[] | null*/, error) {
   939  	var result []interface{} /*SymbolInformation[] | DocumentSymbol[] | null*/
   940  	if err := s.sender.Call(ctx, "textDocument/documentSymbol", params, &result); err != nil {
   941  		return nil, err
   942  	}
   943  	return result, nil
   944  }
   945  
   946  func (s *serverDispatcher) CodeAction(ctx context.Context, params *CodeActionParams) ([]CodeAction /*(Command | CodeAction)[] | null*/, error) {
   947  	var result []CodeAction /*(Command | CodeAction)[] | null*/
   948  	if err := s.sender.Call(ctx, "textDocument/codeAction", params, &result); err != nil {
   949  		return nil, err
   950  	}
   951  	return result, nil
   952  }
   953  
   954  func (s *serverDispatcher) ResolveCodeAction(ctx context.Context, params *CodeAction) (*CodeAction, error) {
   955  	var result *CodeAction
   956  	if err := s.sender.Call(ctx, "codeAction/resolve", params, &result); err != nil {
   957  		return nil, err
   958  	}
   959  	return result, nil
   960  }
   961  
   962  func (s *serverDispatcher) Symbol(ctx context.Context, params *WorkspaceSymbolParams) ([]SymbolInformation /*SymbolInformation[] | WorkspaceSymbol[] | null*/, error) {
   963  	var result []SymbolInformation /*SymbolInformation[] | WorkspaceSymbol[] | null*/
   964  	if err := s.sender.Call(ctx, "workspace/symbol", params, &result); err != nil {
   965  		return nil, err
   966  	}
   967  	return result, nil
   968  }
   969  
   970  func (s *serverDispatcher) ResolveWorkspaceSymbol(ctx context.Context, params *WorkspaceSymbol) (*WorkspaceSymbol, error) {
   971  	var result *WorkspaceSymbol
   972  	if err := s.sender.Call(ctx, "workspaceSymbol/resolve", params, &result); err != nil {
   973  		return nil, err
   974  	}
   975  	return result, nil
   976  }
   977  
   978  func (s *serverDispatcher) CodeLens(ctx context.Context, params *CodeLensParams) ([]CodeLens /*CodeLens[] | null*/, error) {
   979  	var result []CodeLens /*CodeLens[] | null*/
   980  	if err := s.sender.Call(ctx, "textDocument/codeLens", params, &result); err != nil {
   981  		return nil, err
   982  	}
   983  	return result, nil
   984  }
   985  
   986  func (s *serverDispatcher) ResolveCodeLens(ctx context.Context, params *CodeLens) (*CodeLens, error) {
   987  	var result *CodeLens
   988  	if err := s.sender.Call(ctx, "codeLens/resolve", params, &result); err != nil {
   989  		return nil, err
   990  	}
   991  	return result, nil
   992  }
   993  
   994  func (s *serverDispatcher) CodeLensRefresh(ctx context.Context) error {
   995  	return s.sender.Call(ctx, "workspace/codeLens/refresh", nil, nil)
   996  }
   997  
   998  func (s *serverDispatcher) DocumentLink(ctx context.Context, params *DocumentLinkParams) ([]DocumentLink /*DocumentLink[] | null*/, error) {
   999  	var result []DocumentLink /*DocumentLink[] | null*/
  1000  	if err := s.sender.Call(ctx, "textDocument/documentLink", params, &result); err != nil {
  1001  		return nil, err
  1002  	}
  1003  	return result, nil
  1004  }
  1005  
  1006  func (s *serverDispatcher) ResolveDocumentLink(ctx context.Context, params *DocumentLink) (*DocumentLink, error) {
  1007  	var result *DocumentLink
  1008  	if err := s.sender.Call(ctx, "documentLink/resolve", params, &result); err != nil {
  1009  		return nil, err
  1010  	}
  1011  	return result, nil
  1012  }
  1013  
  1014  func (s *serverDispatcher) Formatting(ctx context.Context, params *DocumentFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error) {
  1015  	var result []TextEdit /*TextEdit[] | null*/
  1016  	if err := s.sender.Call(ctx, "textDocument/formatting", params, &result); err != nil {
  1017  		return nil, err
  1018  	}
  1019  	return result, nil
  1020  }
  1021  
  1022  func (s *serverDispatcher) RangeFormatting(ctx context.Context, params *DocumentRangeFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error) {
  1023  	var result []TextEdit /*TextEdit[] | null*/
  1024  	if err := s.sender.Call(ctx, "textDocument/rangeFormatting", params, &result); err != nil {
  1025  		return nil, err
  1026  	}
  1027  	return result, nil
  1028  }
  1029  
  1030  func (s *serverDispatcher) OnTypeFormatting(ctx context.Context, params *DocumentOnTypeFormattingParams) ([]TextEdit /*TextEdit[] | null*/, error) {
  1031  	var result []TextEdit /*TextEdit[] | null*/
  1032  	if err := s.sender.Call(ctx, "textDocument/onTypeFormatting", params, &result); err != nil {
  1033  		return nil, err
  1034  	}
  1035  	return result, nil
  1036  }
  1037  
  1038  func (s *serverDispatcher) Rename(ctx context.Context, params *RenameParams) (*WorkspaceEdit /*WorkspaceEdit | null*/, error) {
  1039  	var result *WorkspaceEdit /*WorkspaceEdit | null*/
  1040  	if err := s.sender.Call(ctx, "textDocument/rename", params, &result); err != nil {
  1041  		return nil, err
  1042  	}
  1043  	return result, nil
  1044  }
  1045  
  1046  func (s *serverDispatcher) PrepareRename(ctx context.Context, params *PrepareRenameParams) (*PrepareRename2Gn /*Range | { range: Range, placeholder: string } | { defaultBehavior: boolean } | null*/, error) {
  1047  	var result *PrepareRename2Gn /*Range | { range: Range, placeholder: string } | { defaultBehavior: boolean } | null*/
  1048  	if err := s.sender.Call(ctx, "textDocument/prepareRename", params, &result); err != nil {
  1049  		return nil, err
  1050  	}
  1051  	return result, nil
  1052  }
  1053  
  1054  func (s *serverDispatcher) ExecuteCommand(ctx context.Context, params *ExecuteCommandParams) (interface{} /* LSPAny | void | float64*/, error) {
  1055  	var result interface{} /* LSPAny | void | float64*/
  1056  	if err := s.sender.Call(ctx, "workspace/executeCommand", params, &result); err != nil {
  1057  		return nil, err
  1058  	}
  1059  	return result, nil
  1060  }
  1061  
  1062  func (s *serverDispatcher) Diagnostic(ctx context.Context, params *string) (*string, error) {
  1063  	var result *string
  1064  	if err := s.sender.Call(ctx, "textDocument/diagnostic", params, &result); err != nil {
  1065  		return nil, err
  1066  	}
  1067  	return result, nil
  1068  }
  1069  
  1070  func (s *serverDispatcher) DiagnosticWorkspace(ctx context.Context, params *WorkspaceDiagnosticParams) (*WorkspaceDiagnosticReport, error) {
  1071  	var result *WorkspaceDiagnosticReport
  1072  	if err := s.sender.Call(ctx, "workspace/diagnostic", params, &result); err != nil {
  1073  		return nil, err
  1074  	}
  1075  	return result, nil
  1076  }
  1077  
  1078  func (s *serverDispatcher) DiagnosticRefresh(ctx context.Context) error {
  1079  	return s.sender.Call(ctx, "workspace/diagnostic/refresh", nil, nil)
  1080  }
  1081  
  1082  func (s *serverDispatcher) NonstandardRequest(ctx context.Context, method string, params interface{}) (interface{}, error) {
  1083  	var result interface{}
  1084  	if err := s.sender.Call(ctx, method, params, &result); err != nil {
  1085  		return nil, err
  1086  	}
  1087  	return result, nil
  1088  }