1package protocol 2 3// Code generated (see typescript/README.md) DO NOT EDIT. 4 5import ( 6 "context" 7 "encoding/json" 8 9 "golang.org/x/tools/internal/jsonrpc2" 10 "golang.org/x/tools/internal/lsp/xlog" 11) 12 13type Server interface { 14 DidChangeWorkspaceFolders(context.Context, *DidChangeWorkspaceFoldersParams) error 15 Initialized(context.Context, *InitializedParams) error 16 Exit(context.Context) error 17 DidChangeConfiguration(context.Context, *DidChangeConfigurationParams) error 18 DidOpen(context.Context, *DidOpenTextDocumentParams) error 19 DidChange(context.Context, *DidChangeTextDocumentParams) error 20 DidClose(context.Context, *DidCloseTextDocumentParams) error 21 DidSave(context.Context, *DidSaveTextDocumentParams) error 22 WillSave(context.Context, *WillSaveTextDocumentParams) error 23 DidChangeWatchedFiles(context.Context, *DidChangeWatchedFilesParams) error 24 SetTraceNotification(context.Context, *SetTraceParams) error 25 LogTraceNotification(context.Context, *LogTraceParams) error 26 Implementation(context.Context, *TextDocumentPositionParams) ([]Location, error) 27 TypeDefinition(context.Context, *TextDocumentPositionParams) ([]Location, error) 28 DocumentColor(context.Context, *DocumentColorParams) ([]ColorInformation, error) 29 ColorPresentation(context.Context, *ColorPresentationParams) ([]ColorPresentation, error) 30 FoldingRange(context.Context, *FoldingRangeParams) ([]FoldingRange, error) 31 Declaration(context.Context, *TextDocumentPositionParams) ([]DeclarationLink, error) 32 Initialize(context.Context, *InitializeParams) (*InitializeResult, error) 33 Shutdown(context.Context) error 34 WillSaveWaitUntil(context.Context, *WillSaveTextDocumentParams) ([]TextEdit, error) 35 Completion(context.Context, *CompletionParams) (*CompletionList, error) 36 Resolve(context.Context, *CompletionItem) (*CompletionItem, error) 37 Hover(context.Context, *TextDocumentPositionParams) (*Hover, error) 38 SignatureHelp(context.Context, *TextDocumentPositionParams) (*SignatureHelp, error) 39 Definition(context.Context, *TextDocumentPositionParams) ([]Location, error) 40 References(context.Context, *ReferenceParams) ([]Location, error) 41 DocumentHighlight(context.Context, *TextDocumentPositionParams) ([]DocumentHighlight, error) 42 DocumentSymbol(context.Context, *DocumentSymbolParams) ([]DocumentSymbol, error) 43 Symbol(context.Context, *WorkspaceSymbolParams) ([]SymbolInformation, error) 44 CodeAction(context.Context, *CodeActionParams) ([]CodeAction, error) 45 CodeLens(context.Context, *CodeLensParams) ([]CodeLens, error) 46 ResolveCodeLens(context.Context, *CodeLens) (*CodeLens, error) 47 Formatting(context.Context, *DocumentFormattingParams) ([]TextEdit, error) 48 RangeFormatting(context.Context, *DocumentRangeFormattingParams) ([]TextEdit, error) 49 OnTypeFormatting(context.Context, *DocumentOnTypeFormattingParams) ([]TextEdit, error) 50 Rename(context.Context, *RenameParams) (*WorkspaceEdit, error) 51 PrepareRename(context.Context, *TextDocumentPositionParams) (*Range, error) 52 DocumentLink(context.Context, *DocumentLinkParams) ([]DocumentLink, error) 53 ResolveDocumentLink(context.Context, *DocumentLink) (*DocumentLink, error) 54 ExecuteCommand(context.Context, *ExecuteCommandParams) (interface{}, error) 55} 56 57func serverHandler(log xlog.Logger, server Server) jsonrpc2.Handler { 58 return func(ctx context.Context, r *jsonrpc2.Request) { 59 switch r.Method { 60 case "$/cancelRequest": 61 var params CancelParams 62 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 63 sendParseError(ctx, log, r, err) 64 return 65 } 66 r.Conn().Cancel(params.ID) 67 case "workspace/didChangeWorkspaceFolders": // notif 68 var params DidChangeWorkspaceFoldersParams 69 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 70 sendParseError(ctx, log, r, err) 71 return 72 } 73 if err := server.DidChangeWorkspaceFolders(ctx, ¶ms); err != nil { 74 log.Errorf(ctx, "%v", err) 75 } 76 case "initialized": // notif 77 var params InitializedParams 78 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 79 sendParseError(ctx, log, r, err) 80 return 81 } 82 if err := server.Initialized(ctx, ¶ms); err != nil { 83 log.Errorf(ctx, "%v", err) 84 } 85 case "exit": // notif 86 if err := server.Exit(ctx); err != nil { 87 log.Errorf(ctx, "%v", err) 88 } 89 case "workspace/didChangeConfiguration": // notif 90 var params DidChangeConfigurationParams 91 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 92 sendParseError(ctx, log, r, err) 93 return 94 } 95 if err := server.DidChangeConfiguration(ctx, ¶ms); err != nil { 96 log.Errorf(ctx, "%v", err) 97 } 98 case "textDocument/didOpen": // notif 99 var params DidOpenTextDocumentParams 100 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 101 sendParseError(ctx, log, r, err) 102 return 103 } 104 if err := server.DidOpen(ctx, ¶ms); err != nil { 105 log.Errorf(ctx, "%v", err) 106 } 107 case "textDocument/didChange": // notif 108 var params DidChangeTextDocumentParams 109 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 110 sendParseError(ctx, log, r, err) 111 return 112 } 113 if err := server.DidChange(ctx, ¶ms); err != nil { 114 log.Errorf(ctx, "%v", err) 115 } 116 case "textDocument/didClose": // notif 117 var params DidCloseTextDocumentParams 118 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 119 sendParseError(ctx, log, r, err) 120 return 121 } 122 if err := server.DidClose(ctx, ¶ms); err != nil { 123 log.Errorf(ctx, "%v", err) 124 } 125 case "textDocument/didSave": // notif 126 var params DidSaveTextDocumentParams 127 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 128 sendParseError(ctx, log, r, err) 129 return 130 } 131 if err := server.DidSave(ctx, ¶ms); err != nil { 132 log.Errorf(ctx, "%v", err) 133 } 134 case "textDocument/willSave": // notif 135 var params WillSaveTextDocumentParams 136 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 137 sendParseError(ctx, log, r, err) 138 return 139 } 140 if err := server.WillSave(ctx, ¶ms); err != nil { 141 log.Errorf(ctx, "%v", err) 142 } 143 case "workspace/didChangeWatchedFiles": // notif 144 var params DidChangeWatchedFilesParams 145 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 146 sendParseError(ctx, log, r, err) 147 return 148 } 149 if err := server.DidChangeWatchedFiles(ctx, ¶ms); err != nil { 150 log.Errorf(ctx, "%v", err) 151 } 152 case "$/setTraceNotification": // notif 153 var params SetTraceParams 154 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 155 sendParseError(ctx, log, r, err) 156 return 157 } 158 if err := server.SetTraceNotification(ctx, ¶ms); err != nil { 159 log.Errorf(ctx, "%v", err) 160 } 161 case "$/logTraceNotification": // notif 162 var params LogTraceParams 163 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 164 sendParseError(ctx, log, r, err) 165 return 166 } 167 if err := server.LogTraceNotification(ctx, ¶ms); err != nil { 168 log.Errorf(ctx, "%v", err) 169 } 170 case "textDocument/implementation": // req 171 var params TextDocumentPositionParams 172 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 173 sendParseError(ctx, log, r, err) 174 return 175 } 176 resp, err := server.Implementation(ctx, ¶ms) 177 if err := r.Reply(ctx, resp, err); err != nil { 178 log.Errorf(ctx, "%v", err) 179 } 180 case "textDocument/typeDefinition": // req 181 var params TextDocumentPositionParams 182 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 183 sendParseError(ctx, log, r, err) 184 return 185 } 186 resp, err := server.TypeDefinition(ctx, ¶ms) 187 if err := r.Reply(ctx, resp, err); err != nil { 188 log.Errorf(ctx, "%v", err) 189 } 190 case "textDocument/documentColor": // req 191 var params DocumentColorParams 192 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 193 sendParseError(ctx, log, r, err) 194 return 195 } 196 resp, err := server.DocumentColor(ctx, ¶ms) 197 if err := r.Reply(ctx, resp, err); err != nil { 198 log.Errorf(ctx, "%v", err) 199 } 200 case "textDocument/colorPresentation": // req 201 var params ColorPresentationParams 202 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 203 sendParseError(ctx, log, r, err) 204 return 205 } 206 resp, err := server.ColorPresentation(ctx, ¶ms) 207 if err := r.Reply(ctx, resp, err); err != nil { 208 log.Errorf(ctx, "%v", err) 209 } 210 case "textDocument/foldingRange": // req 211 var params FoldingRangeParams 212 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 213 sendParseError(ctx, log, r, err) 214 return 215 } 216 resp, err := server.FoldingRange(ctx, ¶ms) 217 if err := r.Reply(ctx, resp, err); err != nil { 218 log.Errorf(ctx, "%v", err) 219 } 220 case "textDocument/declaration": // req 221 var params TextDocumentPositionParams 222 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 223 sendParseError(ctx, log, r, err) 224 return 225 } 226 resp, err := server.Declaration(ctx, ¶ms) 227 if err := r.Reply(ctx, resp, err); err != nil { 228 log.Errorf(ctx, "%v", err) 229 } 230 case "initialize": // req 231 var params InitializeParams 232 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 233 sendParseError(ctx, log, r, err) 234 return 235 } 236 resp, err := server.Initialize(ctx, ¶ms) 237 if err := r.Reply(ctx, resp, err); err != nil { 238 log.Errorf(ctx, "%v", err) 239 } 240 case "shutdown": // req 241 if r.Params != nil { 242 r.Reply(ctx, nil, jsonrpc2.NewErrorf(jsonrpc2.CodeInvalidParams, "Expected no params")) 243 return 244 } 245 err := server.Shutdown(ctx) 246 if err := r.Reply(ctx, nil, err); err != nil { 247 log.Errorf(ctx, "%v", err) 248 } 249 case "textDocument/willSaveWaitUntil": // req 250 var params WillSaveTextDocumentParams 251 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 252 sendParseError(ctx, log, r, err) 253 return 254 } 255 resp, err := server.WillSaveWaitUntil(ctx, ¶ms) 256 if err := r.Reply(ctx, resp, err); err != nil { 257 log.Errorf(ctx, "%v", err) 258 } 259 case "textDocument/completion": // req 260 var params CompletionParams 261 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 262 sendParseError(ctx, log, r, err) 263 return 264 } 265 resp, err := server.Completion(ctx, ¶ms) 266 if err := r.Reply(ctx, resp, err); err != nil { 267 log.Errorf(ctx, "%v", err) 268 } 269 case "completionItem/resolve": // req 270 var params CompletionItem 271 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 272 sendParseError(ctx, log, r, err) 273 return 274 } 275 resp, err := server.Resolve(ctx, ¶ms) 276 if err := r.Reply(ctx, resp, err); err != nil { 277 log.Errorf(ctx, "%v", err) 278 } 279 case "textDocument/hover": // req 280 var params TextDocumentPositionParams 281 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 282 sendParseError(ctx, log, r, err) 283 return 284 } 285 resp, err := server.Hover(ctx, ¶ms) 286 if err := r.Reply(ctx, resp, err); err != nil { 287 log.Errorf(ctx, "%v", err) 288 } 289 case "textDocument/signatureHelp": // req 290 var params TextDocumentPositionParams 291 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 292 sendParseError(ctx, log, r, err) 293 return 294 } 295 resp, err := server.SignatureHelp(ctx, ¶ms) 296 if err := r.Reply(ctx, resp, err); err != nil { 297 log.Errorf(ctx, "%v", err) 298 } 299 case "textDocument/definition": // req 300 var params TextDocumentPositionParams 301 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 302 sendParseError(ctx, log, r, err) 303 return 304 } 305 resp, err := server.Definition(ctx, ¶ms) 306 if err := r.Reply(ctx, resp, err); err != nil { 307 log.Errorf(ctx, "%v", err) 308 } 309 case "textDocument/references": // req 310 var params ReferenceParams 311 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 312 sendParseError(ctx, log, r, err) 313 return 314 } 315 resp, err := server.References(ctx, ¶ms) 316 if err := r.Reply(ctx, resp, err); err != nil { 317 log.Errorf(ctx, "%v", err) 318 } 319 case "textDocument/documentHighlight": // req 320 var params TextDocumentPositionParams 321 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 322 sendParseError(ctx, log, r, err) 323 return 324 } 325 resp, err := server.DocumentHighlight(ctx, ¶ms) 326 if err := r.Reply(ctx, resp, err); err != nil { 327 log.Errorf(ctx, "%v", err) 328 } 329 case "textDocument/documentSymbol": // req 330 var params DocumentSymbolParams 331 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 332 sendParseError(ctx, log, r, err) 333 return 334 } 335 resp, err := server.DocumentSymbol(ctx, ¶ms) 336 if err := r.Reply(ctx, resp, err); err != nil { 337 log.Errorf(ctx, "%v", err) 338 } 339 case "workspace/symbol": // req 340 var params WorkspaceSymbolParams 341 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 342 sendParseError(ctx, log, r, err) 343 return 344 } 345 resp, err := server.Symbol(ctx, ¶ms) 346 if err := r.Reply(ctx, resp, err); err != nil { 347 log.Errorf(ctx, "%v", err) 348 } 349 case "textDocument/codeAction": // req 350 var params CodeActionParams 351 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 352 sendParseError(ctx, log, r, err) 353 return 354 } 355 resp, err := server.CodeAction(ctx, ¶ms) 356 if err := r.Reply(ctx, resp, err); err != nil { 357 log.Errorf(ctx, "%v", err) 358 } 359 case "textDocument/codeLens": // req 360 var params CodeLensParams 361 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 362 sendParseError(ctx, log, r, err) 363 return 364 } 365 resp, err := server.CodeLens(ctx, ¶ms) 366 if err := r.Reply(ctx, resp, err); err != nil { 367 log.Errorf(ctx, "%v", err) 368 } 369 case "codeLens/resolve": // req 370 var params CodeLens 371 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 372 sendParseError(ctx, log, r, err) 373 return 374 } 375 resp, err := server.ResolveCodeLens(ctx, ¶ms) 376 if err := r.Reply(ctx, resp, err); err != nil { 377 log.Errorf(ctx, "%v", err) 378 } 379 case "textDocument/formatting": // req 380 var params DocumentFormattingParams 381 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 382 sendParseError(ctx, log, r, err) 383 return 384 } 385 resp, err := server.Formatting(ctx, ¶ms) 386 if err := r.Reply(ctx, resp, err); err != nil { 387 log.Errorf(ctx, "%v", err) 388 } 389 case "textDocument/rangeFormatting": // req 390 var params DocumentRangeFormattingParams 391 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 392 sendParseError(ctx, log, r, err) 393 return 394 } 395 resp, err := server.RangeFormatting(ctx, ¶ms) 396 if err := r.Reply(ctx, resp, err); err != nil { 397 log.Errorf(ctx, "%v", err) 398 } 399 case "textDocument/onTypeFormatting": // req 400 var params DocumentOnTypeFormattingParams 401 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 402 sendParseError(ctx, log, r, err) 403 return 404 } 405 resp, err := server.OnTypeFormatting(ctx, ¶ms) 406 if err := r.Reply(ctx, resp, err); err != nil { 407 log.Errorf(ctx, "%v", err) 408 } 409 case "textDocument/rename": // req 410 var params RenameParams 411 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 412 sendParseError(ctx, log, r, err) 413 return 414 } 415 resp, err := server.Rename(ctx, ¶ms) 416 if err := r.Reply(ctx, resp, err); err != nil { 417 log.Errorf(ctx, "%v", err) 418 } 419 case "textDocument/prepareRename": // req 420 var params TextDocumentPositionParams 421 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 422 sendParseError(ctx, log, r, err) 423 return 424 } 425 resp, err := server.PrepareRename(ctx, ¶ms) 426 if err := r.Reply(ctx, resp, err); err != nil { 427 log.Errorf(ctx, "%v", err) 428 } 429 case "textDocument/documentLink": // req 430 var params DocumentLinkParams 431 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 432 sendParseError(ctx, log, r, err) 433 return 434 } 435 resp, err := server.DocumentLink(ctx, ¶ms) 436 if err := r.Reply(ctx, resp, err); err != nil { 437 log.Errorf(ctx, "%v", err) 438 } 439 case "documentLink/resolve": // req 440 var params DocumentLink 441 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 442 sendParseError(ctx, log, r, err) 443 return 444 } 445 resp, err := server.ResolveDocumentLink(ctx, ¶ms) 446 if err := r.Reply(ctx, resp, err); err != nil { 447 log.Errorf(ctx, "%v", err) 448 } 449 case "workspace/executeCommand": // req 450 var params ExecuteCommandParams 451 if err := json.Unmarshal(*r.Params, ¶ms); err != nil { 452 sendParseError(ctx, log, r, err) 453 return 454 } 455 resp, err := server.ExecuteCommand(ctx, ¶ms) 456 if err := r.Reply(ctx, resp, err); err != nil { 457 log.Errorf(ctx, "%v", err) 458 } 459 460 default: 461 if r.IsNotify() { 462 r.Reply(ctx, nil, jsonrpc2.NewErrorf(jsonrpc2.CodeMethodNotFound, "method %q not found", r.Method)) 463 } 464 } 465 } 466} 467 468type serverDispatcher struct { 469 *jsonrpc2.Conn 470} 471 472func (s *serverDispatcher) DidChangeWorkspaceFolders(ctx context.Context, params *DidChangeWorkspaceFoldersParams) error { 473 return s.Conn.Notify(ctx, "workspace/didChangeWorkspaceFolders", params) 474} 475 476func (s *serverDispatcher) Initialized(ctx context.Context, params *InitializedParams) error { 477 return s.Conn.Notify(ctx, "initialized", params) 478} 479 480func (s *serverDispatcher) Exit(ctx context.Context) error { 481 return s.Conn.Notify(ctx, "exit", nil) 482} 483 484func (s *serverDispatcher) DidChangeConfiguration(ctx context.Context, params *DidChangeConfigurationParams) error { 485 return s.Conn.Notify(ctx, "workspace/didChangeConfiguration", params) 486} 487 488func (s *serverDispatcher) DidOpen(ctx context.Context, params *DidOpenTextDocumentParams) error { 489 return s.Conn.Notify(ctx, "textDocument/didOpen", params) 490} 491 492func (s *serverDispatcher) DidChange(ctx context.Context, params *DidChangeTextDocumentParams) error { 493 return s.Conn.Notify(ctx, "textDocument/didChange", params) 494} 495 496func (s *serverDispatcher) DidClose(ctx context.Context, params *DidCloseTextDocumentParams) error { 497 return s.Conn.Notify(ctx, "textDocument/didClose", params) 498} 499 500func (s *serverDispatcher) DidSave(ctx context.Context, params *DidSaveTextDocumentParams) error { 501 return s.Conn.Notify(ctx, "textDocument/didSave", params) 502} 503 504func (s *serverDispatcher) WillSave(ctx context.Context, params *WillSaveTextDocumentParams) error { 505 return s.Conn.Notify(ctx, "textDocument/willSave", params) 506} 507 508func (s *serverDispatcher) DidChangeWatchedFiles(ctx context.Context, params *DidChangeWatchedFilesParams) error { 509 return s.Conn.Notify(ctx, "workspace/didChangeWatchedFiles", params) 510} 511 512func (s *serverDispatcher) SetTraceNotification(ctx context.Context, params *SetTraceParams) error { 513 return s.Conn.Notify(ctx, "$/setTraceNotification", params) 514} 515 516func (s *serverDispatcher) LogTraceNotification(ctx context.Context, params *LogTraceParams) error { 517 return s.Conn.Notify(ctx, "$/logTraceNotification", params) 518} 519func (s *serverDispatcher) Implementation(ctx context.Context, params *TextDocumentPositionParams) ([]Location, error) { 520 var result []Location 521 if err := s.Conn.Call(ctx, "textDocument/implementation", params, &result); err != nil { 522 return nil, err 523 } 524 return result, nil 525} 526 527func (s *serverDispatcher) TypeDefinition(ctx context.Context, params *TextDocumentPositionParams) ([]Location, error) { 528 var result []Location 529 if err := s.Conn.Call(ctx, "textDocument/typeDefinition", params, &result); err != nil { 530 return nil, err 531 } 532 return result, nil 533} 534 535func (s *serverDispatcher) DocumentColor(ctx context.Context, params *DocumentColorParams) ([]ColorInformation, error) { 536 var result []ColorInformation 537 if err := s.Conn.Call(ctx, "textDocument/documentColor", params, &result); err != nil { 538 return nil, err 539 } 540 return result, nil 541} 542 543func (s *serverDispatcher) ColorPresentation(ctx context.Context, params *ColorPresentationParams) ([]ColorPresentation, error) { 544 var result []ColorPresentation 545 if err := s.Conn.Call(ctx, "textDocument/colorPresentation", params, &result); err != nil { 546 return nil, err 547 } 548 return result, nil 549} 550 551func (s *serverDispatcher) FoldingRange(ctx context.Context, params *FoldingRangeParams) ([]FoldingRange, error) { 552 var result []FoldingRange 553 if err := s.Conn.Call(ctx, "textDocument/foldingRange", params, &result); err != nil { 554 return nil, err 555 } 556 return result, nil 557} 558 559func (s *serverDispatcher) Declaration(ctx context.Context, params *TextDocumentPositionParams) ([]DeclarationLink, error) { 560 var result []DeclarationLink 561 if err := s.Conn.Call(ctx, "textDocument/declaration", params, &result); err != nil { 562 return nil, err 563 } 564 return result, nil 565} 566 567func (s *serverDispatcher) Initialize(ctx context.Context, params *InitializeParams) (*InitializeResult, error) { 568 var result InitializeResult 569 if err := s.Conn.Call(ctx, "initialize", params, &result); err != nil { 570 return nil, err 571 } 572 return &result, nil 573} 574 575func (s *serverDispatcher) Shutdown(ctx context.Context) error { 576 return s.Conn.Call(ctx, "shutdown", nil, nil) 577} 578 579func (s *serverDispatcher) WillSaveWaitUntil(ctx context.Context, params *WillSaveTextDocumentParams) ([]TextEdit, error) { 580 var result []TextEdit 581 if err := s.Conn.Call(ctx, "textDocument/willSaveWaitUntil", params, &result); err != nil { 582 return nil, err 583 } 584 return result, nil 585} 586 587func (s *serverDispatcher) Completion(ctx context.Context, params *CompletionParams) (*CompletionList, error) { 588 var result CompletionList 589 if err := s.Conn.Call(ctx, "textDocument/completion", params, &result); err != nil { 590 return nil, err 591 } 592 return &result, nil 593} 594 595func (s *serverDispatcher) Resolve(ctx context.Context, params *CompletionItem) (*CompletionItem, error) { 596 var result CompletionItem 597 if err := s.Conn.Call(ctx, "completionItem/resolve", params, &result); err != nil { 598 return nil, err 599 } 600 return &result, nil 601} 602 603func (s *serverDispatcher) Hover(ctx context.Context, params *TextDocumentPositionParams) (*Hover, error) { 604 var result Hover 605 if err := s.Conn.Call(ctx, "textDocument/hover", params, &result); err != nil { 606 return nil, err 607 } 608 return &result, nil 609} 610 611func (s *serverDispatcher) SignatureHelp(ctx context.Context, params *TextDocumentPositionParams) (*SignatureHelp, error) { 612 var result SignatureHelp 613 if err := s.Conn.Call(ctx, "textDocument/signatureHelp", params, &result); err != nil { 614 return nil, err 615 } 616 return &result, nil 617} 618 619func (s *serverDispatcher) Definition(ctx context.Context, params *TextDocumentPositionParams) ([]Location, error) { 620 var result []Location 621 if err := s.Conn.Call(ctx, "textDocument/definition", params, &result); err != nil { 622 return nil, err 623 } 624 return result, nil 625} 626 627func (s *serverDispatcher) References(ctx context.Context, params *ReferenceParams) ([]Location, error) { 628 var result []Location 629 if err := s.Conn.Call(ctx, "textDocument/references", params, &result); err != nil { 630 return nil, err 631 } 632 return result, nil 633} 634 635func (s *serverDispatcher) DocumentHighlight(ctx context.Context, params *TextDocumentPositionParams) ([]DocumentHighlight, error) { 636 var result []DocumentHighlight 637 if err := s.Conn.Call(ctx, "textDocument/documentHighlight", params, &result); err != nil { 638 return nil, err 639 } 640 return result, nil 641} 642 643func (s *serverDispatcher) DocumentSymbol(ctx context.Context, params *DocumentSymbolParams) ([]DocumentSymbol, error) { 644 var result []DocumentSymbol 645 if err := s.Conn.Call(ctx, "textDocument/documentSymbol", params, &result); err != nil { 646 return nil, err 647 } 648 return result, nil 649} 650 651func (s *serverDispatcher) Symbol(ctx context.Context, params *WorkspaceSymbolParams) ([]SymbolInformation, error) { 652 var result []SymbolInformation 653 if err := s.Conn.Call(ctx, "workspace/symbol", params, &result); err != nil { 654 return nil, err 655 } 656 return result, nil 657} 658 659func (s *serverDispatcher) CodeAction(ctx context.Context, params *CodeActionParams) ([]CodeAction, error) { 660 var result []CodeAction 661 if err := s.Conn.Call(ctx, "textDocument/codeAction", params, &result); err != nil { 662 return nil, err 663 } 664 return result, nil 665} 666 667func (s *serverDispatcher) CodeLens(ctx context.Context, params *CodeLensParams) ([]CodeLens, error) { 668 var result []CodeLens 669 if err := s.Conn.Call(ctx, "textDocument/codeLens", params, &result); err != nil { 670 return nil, err 671 } 672 return result, nil 673} 674 675func (s *serverDispatcher) ResolveCodeLens(ctx context.Context, params *CodeLens) (*CodeLens, error) { 676 var result CodeLens 677 if err := s.Conn.Call(ctx, "codeLens/resolve", params, &result); err != nil { 678 return nil, err 679 } 680 return &result, nil 681} 682 683func (s *serverDispatcher) Formatting(ctx context.Context, params *DocumentFormattingParams) ([]TextEdit, error) { 684 var result []TextEdit 685 if err := s.Conn.Call(ctx, "textDocument/formatting", params, &result); err != nil { 686 return nil, err 687 } 688 return result, nil 689} 690 691func (s *serverDispatcher) RangeFormatting(ctx context.Context, params *DocumentRangeFormattingParams) ([]TextEdit, error) { 692 var result []TextEdit 693 if err := s.Conn.Call(ctx, "textDocument/rangeFormatting", params, &result); err != nil { 694 return nil, err 695 } 696 return result, nil 697} 698 699func (s *serverDispatcher) OnTypeFormatting(ctx context.Context, params *DocumentOnTypeFormattingParams) ([]TextEdit, error) { 700 var result []TextEdit 701 if err := s.Conn.Call(ctx, "textDocument/onTypeFormatting", params, &result); err != nil { 702 return nil, err 703 } 704 return result, nil 705} 706 707func (s *serverDispatcher) Rename(ctx context.Context, params *RenameParams) (*WorkspaceEdit, error) { 708 var result WorkspaceEdit 709 if err := s.Conn.Call(ctx, "textDocument/rename", params, &result); err != nil { 710 return nil, err 711 } 712 return &result, nil 713} 714 715func (s *serverDispatcher) PrepareRename(ctx context.Context, params *TextDocumentPositionParams) (*Range, error) { 716 var result Range 717 if err := s.Conn.Call(ctx, "textDocument/prepareRename", params, &result); err != nil { 718 return nil, err 719 } 720 return &result, nil 721} 722 723func (s *serverDispatcher) DocumentLink(ctx context.Context, params *DocumentLinkParams) ([]DocumentLink, error) { 724 var result []DocumentLink 725 if err := s.Conn.Call(ctx, "textDocument/documentLink", params, &result); err != nil { 726 return nil, err 727 } 728 return result, nil 729} 730 731func (s *serverDispatcher) ResolveDocumentLink(ctx context.Context, params *DocumentLink) (*DocumentLink, error) { 732 var result DocumentLink 733 if err := s.Conn.Call(ctx, "documentLink/resolve", params, &result); err != nil { 734 return nil, err 735 } 736 return &result, nil 737} 738 739func (s *serverDispatcher) ExecuteCommand(ctx context.Context, params *ExecuteCommandParams) (interface{}, error) { 740 var result interface{} 741 if err := s.Conn.Call(ctx, "workspace/executeCommand", params, &result); err != nil { 742 return nil, err 743 } 744 return result, nil 745} 746 747type CancelParams struct { 748 /** 749 * The request id to cancel. 750 */ 751 ID jsonrpc2.ID `json:"id"` 752} 753