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, &params); 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, &params); err != nil {
70				sendParseError(ctx, log, r, err)
71				return
72			}
73			if err := server.DidChangeWorkspaceFolders(ctx, &params); err != nil {
74				log.Errorf(ctx, "%v", err)
75			}
76		case "initialized": // notif
77			var params InitializedParams
78			if err := json.Unmarshal(*r.Params, &params); err != nil {
79				sendParseError(ctx, log, r, err)
80				return
81			}
82			if err := server.Initialized(ctx, &params); 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, &params); err != nil {
92				sendParseError(ctx, log, r, err)
93				return
94			}
95			if err := server.DidChangeConfiguration(ctx, &params); 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, &params); err != nil {
101				sendParseError(ctx, log, r, err)
102				return
103			}
104			if err := server.DidOpen(ctx, &params); 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, &params); err != nil {
110				sendParseError(ctx, log, r, err)
111				return
112			}
113			if err := server.DidChange(ctx, &params); 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, &params); err != nil {
119				sendParseError(ctx, log, r, err)
120				return
121			}
122			if err := server.DidClose(ctx, &params); 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, &params); err != nil {
128				sendParseError(ctx, log, r, err)
129				return
130			}
131			if err := server.DidSave(ctx, &params); 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, &params); err != nil {
137				sendParseError(ctx, log, r, err)
138				return
139			}
140			if err := server.WillSave(ctx, &params); 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, &params); err != nil {
146				sendParseError(ctx, log, r, err)
147				return
148			}
149			if err := server.DidChangeWatchedFiles(ctx, &params); err != nil {
150				log.Errorf(ctx, "%v", err)
151			}
152		case "$/setTraceNotification": // notif
153			var params SetTraceParams
154			if err := json.Unmarshal(*r.Params, &params); err != nil {
155				sendParseError(ctx, log, r, err)
156				return
157			}
158			if err := server.SetTraceNotification(ctx, &params); err != nil {
159				log.Errorf(ctx, "%v", err)
160			}
161		case "$/logTraceNotification": // notif
162			var params LogTraceParams
163			if err := json.Unmarshal(*r.Params, &params); err != nil {
164				sendParseError(ctx, log, r, err)
165				return
166			}
167			if err := server.LogTraceNotification(ctx, &params); 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, &params); err != nil {
173				sendParseError(ctx, log, r, err)
174				return
175			}
176			resp, err := server.Implementation(ctx, &params)
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, &params); err != nil {
183				sendParseError(ctx, log, r, err)
184				return
185			}
186			resp, err := server.TypeDefinition(ctx, &params)
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, &params); err != nil {
193				sendParseError(ctx, log, r, err)
194				return
195			}
196			resp, err := server.DocumentColor(ctx, &params)
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, &params); err != nil {
203				sendParseError(ctx, log, r, err)
204				return
205			}
206			resp, err := server.ColorPresentation(ctx, &params)
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, &params); err != nil {
213				sendParseError(ctx, log, r, err)
214				return
215			}
216			resp, err := server.FoldingRange(ctx, &params)
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, &params); err != nil {
223				sendParseError(ctx, log, r, err)
224				return
225			}
226			resp, err := server.Declaration(ctx, &params)
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, &params); err != nil {
233				sendParseError(ctx, log, r, err)
234				return
235			}
236			resp, err := server.Initialize(ctx, &params)
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, &params); err != nil {
252				sendParseError(ctx, log, r, err)
253				return
254			}
255			resp, err := server.WillSaveWaitUntil(ctx, &params)
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, &params); err != nil {
262				sendParseError(ctx, log, r, err)
263				return
264			}
265			resp, err := server.Completion(ctx, &params)
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, &params); err != nil {
272				sendParseError(ctx, log, r, err)
273				return
274			}
275			resp, err := server.Resolve(ctx, &params)
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, &params); err != nil {
282				sendParseError(ctx, log, r, err)
283				return
284			}
285			resp, err := server.Hover(ctx, &params)
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, &params); err != nil {
292				sendParseError(ctx, log, r, err)
293				return
294			}
295			resp, err := server.SignatureHelp(ctx, &params)
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, &params); err != nil {
302				sendParseError(ctx, log, r, err)
303				return
304			}
305			resp, err := server.Definition(ctx, &params)
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, &params); err != nil {
312				sendParseError(ctx, log, r, err)
313				return
314			}
315			resp, err := server.References(ctx, &params)
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, &params); err != nil {
322				sendParseError(ctx, log, r, err)
323				return
324			}
325			resp, err := server.DocumentHighlight(ctx, &params)
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, &params); err != nil {
332				sendParseError(ctx, log, r, err)
333				return
334			}
335			resp, err := server.DocumentSymbol(ctx, &params)
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, &params); err != nil {
342				sendParseError(ctx, log, r, err)
343				return
344			}
345			resp, err := server.Symbol(ctx, &params)
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, &params); err != nil {
352				sendParseError(ctx, log, r, err)
353				return
354			}
355			resp, err := server.CodeAction(ctx, &params)
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, &params); err != nil {
362				sendParseError(ctx, log, r, err)
363				return
364			}
365			resp, err := server.CodeLens(ctx, &params)
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, &params); err != nil {
372				sendParseError(ctx, log, r, err)
373				return
374			}
375			resp, err := server.ResolveCodeLens(ctx, &params)
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, &params); err != nil {
382				sendParseError(ctx, log, r, err)
383				return
384			}
385			resp, err := server.Formatting(ctx, &params)
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, &params); err != nil {
392				sendParseError(ctx, log, r, err)
393				return
394			}
395			resp, err := server.RangeFormatting(ctx, &params)
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, &params); err != nil {
402				sendParseError(ctx, log, r, err)
403				return
404			}
405			resp, err := server.OnTypeFormatting(ctx, &params)
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, &params); err != nil {
412				sendParseError(ctx, log, r, err)
413				return
414			}
415			resp, err := server.Rename(ctx, &params)
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, &params); err != nil {
422				sendParseError(ctx, log, r, err)
423				return
424			}
425			resp, err := server.PrepareRename(ctx, &params)
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, &params); err != nil {
432				sendParseError(ctx, log, r, err)
433				return
434			}
435			resp, err := server.DocumentLink(ctx, &params)
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, &params); err != nil {
442				sendParseError(ctx, log, r, err)
443				return
444			}
445			resp, err := server.ResolveDocumentLink(ctx, &params)
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, &params); err != nil {
452				sendParseError(ctx, log, r, err)
453				return
454			}
455			resp, err := server.ExecuteCommand(ctx, &params)
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