@@ -11,27 +11,27 @@ import (
11
11
func readParams (method string , raw * json.RawMessage ) (interface {}, error ) {
12
12
switch method {
13
13
case "textDocument/didOpen" :
14
- params := & lsp.DidOpenTextDocumentParams {}
14
+ params := new ( lsp.DidOpenTextDocumentParams )
15
15
err := json .Unmarshal (* raw , params )
16
16
return params , err
17
17
case "textDocument/didChange" :
18
- params := & lsp.DidChangeTextDocumentParams {}
18
+ params := new ( lsp.DidChangeTextDocumentParams )
19
19
err := json .Unmarshal (* raw , params )
20
20
return params , err
21
21
case "textDocument/didSave" :
22
- params := & lsp.DidSaveTextDocumentParams {}
22
+ params := new ( lsp.DidSaveTextDocumentParams )
23
23
err := json .Unmarshal (* raw , params )
24
24
return params , err
25
25
case "textDocument/didClose" :
26
- params := & lsp.DidCloseTextDocumentParams {}
26
+ params := new ( lsp.DidCloseTextDocumentParams )
27
27
err := json .Unmarshal (* raw , params )
28
28
return params , err
29
29
case "textDocument/completion" :
30
- params := & lsp.CompletionParams {}
30
+ params := new ( lsp.CompletionParams )
31
31
err := json .Unmarshal (* raw , params )
32
32
return params , err
33
33
case "textDocument/codeAction" :
34
- params := & lsp.CodeActionParams {}
34
+ params := new ( lsp.CodeActionParams )
35
35
err := json .Unmarshal (* raw , params )
36
36
return params , err
37
37
case "textDocument/hover" :
@@ -43,11 +43,15 @@ func readParams(method string, raw *json.RawMessage) (interface{}, error) {
43
43
case "textDocument/implementation" :
44
44
fallthrough
45
45
case "textDocument/documentHighlight" :
46
- params := & lsp.TextDocumentPositionParams {}
46
+ params := new (lsp.TextDocumentPositionParams )
47
+ err := json .Unmarshal (* raw , params )
48
+ return params , err
49
+ case "textDocument/references" :
50
+ params := new (lsp.ReferenceParams )
47
51
err := json .Unmarshal (* raw , params )
48
52
return params , err
49
53
case "textDocument/publishDiagnostics" :
50
- params := & lsp.PublishDiagnosticsParams {}
54
+ params := new ( lsp.PublishDiagnosticsParams )
51
55
err := json .Unmarshal (* raw , params )
52
56
return params , err
53
57
}
@@ -57,35 +61,37 @@ func readParams(method string, raw *json.RawMessage) (interface{}, error) {
57
61
func sendRequest (ctx context.Context , conn * jsonrpc2.Conn , method string , params interface {}) (interface {}, error ) {
58
62
switch method {
59
63
case "initialize" :
60
- result := & lsp.InitializeResult {}
64
+ result := new ( lsp.InitializeResult )
61
65
err := conn .Call (ctx , method , params , result )
62
66
return result , err
63
67
case "textDocument/completion" :
64
- result := & lsp.CompletionList {}
68
+ result := new ( lsp.CompletionList )
65
69
err := conn .Call (ctx , method , params , result )
66
70
return result , err
67
71
case "completionItem/resolve" :
68
- result := & lsp.CompletionItem {}
72
+ result := new ( lsp.CompletionItem )
69
73
err := conn .Call (ctx , method , params , result )
70
74
return result , err
71
75
case "textDocument/hover" :
72
- result := & Hover {}
76
+ result := new ( Hover )
73
77
err := conn .Call (ctx , method , params , result )
74
78
return result , err
75
79
case "textDocument/definition" :
76
80
fallthrough
77
81
case "textDocument/typeDefinition" :
78
82
fallthrough
79
83
case "textDocument/implementation" :
80
- result := & []lsp.Location {}
84
+ fallthrough
85
+ case "textDocument/references" :
86
+ result := new ([]lsp.Location )
81
87
err := conn .Call (ctx , method , params , result )
82
88
return result , err
83
89
case "textDocument/documentHighlight" :
84
- result := & []lsp.DocumentHighlight {}
90
+ result := new ( []lsp.DocumentHighlight )
85
91
err := conn .Call (ctx , method , params , result )
86
92
return result , err
87
93
case "window/showMessageRequest" :
88
- result := & lsp.MessageActionItem {}
94
+ result := new ( lsp.MessageActionItem )
89
95
err := conn .Call (ctx , method , params , result )
90
96
return result , err
91
97
}
0 commit comments