.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / internal / lsp / protocol / tsclient.go
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: dae62de921d25964e8732411ca09e532dde992f5
10 // last fetched Thu Feb 04 2021 11:11:02 GMT-0500 (Eastern Standard Time)
11
12 // Code generated (see typescript/README.md) DO NOT EDIT.
13
14 import (
15         "context"
16         "encoding/json"
17
18         "golang.org/x/tools/internal/jsonrpc2"
19         errors "golang.org/x/xerrors"
20 )
21
22 type Client interface {
23         ShowMessage(context.Context, *ShowMessageParams) error
24         LogMessage(context.Context, *LogMessageParams) error
25         Event(context.Context, *interface{}) error
26         PublishDiagnostics(context.Context, *PublishDiagnosticsParams) error
27         Progress(context.Context, *ProgressParams) error
28         WorkspaceFolders(context.Context) ([]WorkspaceFolder /*WorkspaceFolder[] | null*/, error)
29         Configuration(context.Context, *ParamConfiguration) ([]interface{}, error)
30         WorkDoneProgressCreate(context.Context, *WorkDoneProgressCreateParams) error
31         RegisterCapability(context.Context, *RegistrationParams) error
32         UnregisterCapability(context.Context, *UnregistrationParams) error
33         ShowMessageRequest(context.Context, *ShowMessageRequestParams) (*MessageActionItem /*MessageActionItem | null*/, error)
34         ApplyEdit(context.Context, *ApplyWorkspaceEditParams) (*ApplyWorkspaceEditResponse, error)
35 }
36
37 func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, r jsonrpc2.Request) (bool, error) {
38         switch r.Method() {
39         case "window/showMessage": // notif
40                 var params ShowMessageParams
41                 if err := json.Unmarshal(r.Params(), &params); err != nil {
42                         return true, sendParseError(ctx, reply, err)
43                 }
44                 err := client.ShowMessage(ctx, &params)
45                 return true, reply(ctx, nil, err)
46         case "window/logMessage": // notif
47                 var params LogMessageParams
48                 if err := json.Unmarshal(r.Params(), &params); err != nil {
49                         return true, sendParseError(ctx, reply, err)
50                 }
51                 err := client.LogMessage(ctx, &params)
52                 return true, reply(ctx, nil, err)
53         case "telemetry/event": // notif
54                 var params interface{}
55                 if err := json.Unmarshal(r.Params(), &params); err != nil {
56                         return true, sendParseError(ctx, reply, err)
57                 }
58                 err := client.Event(ctx, &params)
59                 return true, reply(ctx, nil, err)
60         case "textDocument/publishDiagnostics": // notif
61                 var params PublishDiagnosticsParams
62                 if err := json.Unmarshal(r.Params(), &params); err != nil {
63                         return true, sendParseError(ctx, reply, err)
64                 }
65                 err := client.PublishDiagnostics(ctx, &params)
66                 return true, reply(ctx, nil, err)
67         case "$/progress": // notif
68                 var params ProgressParams
69                 if err := json.Unmarshal(r.Params(), &params); err != nil {
70                         return true, sendParseError(ctx, reply, err)
71                 }
72                 err := client.Progress(ctx, &params)
73                 return true, reply(ctx, nil, err)
74         case "workspace/workspaceFolders": // req
75                 if len(r.Params()) > 0 {
76                         return true, reply(ctx, nil, errors.Errorf("%w: expected no params", jsonrpc2.ErrInvalidParams))
77                 }
78                 resp, err := client.WorkspaceFolders(ctx)
79                 return true, reply(ctx, resp, err)
80         case "workspace/configuration": // req
81                 var params ParamConfiguration
82                 if err := json.Unmarshal(r.Params(), &params); err != nil {
83                         return true, sendParseError(ctx, reply, err)
84                 }
85                 resp, err := client.Configuration(ctx, &params)
86                 return true, reply(ctx, resp, err)
87         case "window/workDoneProgress/create": // req
88                 var params WorkDoneProgressCreateParams
89                 if err := json.Unmarshal(r.Params(), &params); err != nil {
90                         return true, sendParseError(ctx, reply, err)
91                 }
92                 err := client.WorkDoneProgressCreate(ctx, &params)
93                 return true, reply(ctx, nil, err)
94         case "client/registerCapability": // req
95                 var params RegistrationParams
96                 if err := json.Unmarshal(r.Params(), &params); err != nil {
97                         return true, sendParseError(ctx, reply, err)
98                 }
99                 err := client.RegisterCapability(ctx, &params)
100                 return true, reply(ctx, nil, err)
101         case "client/unregisterCapability": // req
102                 var params UnregistrationParams
103                 if err := json.Unmarshal(r.Params(), &params); err != nil {
104                         return true, sendParseError(ctx, reply, err)
105                 }
106                 err := client.UnregisterCapability(ctx, &params)
107                 return true, reply(ctx, nil, err)
108         case "window/showMessageRequest": // req
109                 var params ShowMessageRequestParams
110                 if err := json.Unmarshal(r.Params(), &params); err != nil {
111                         return true, sendParseError(ctx, reply, err)
112                 }
113                 resp, err := client.ShowMessageRequest(ctx, &params)
114                 return true, reply(ctx, resp, err)
115         case "workspace/applyEdit": // req
116                 var params ApplyWorkspaceEditParams
117                 if err := json.Unmarshal(r.Params(), &params); err != nil {
118                         return true, sendParseError(ctx, reply, err)
119                 }
120                 resp, err := client.ApplyEdit(ctx, &params)
121                 return true, reply(ctx, resp, err)
122
123         default:
124                 return false, nil
125         }
126 }
127
128 func (s *clientDispatcher) ShowMessage(ctx context.Context, params *ShowMessageParams) error {
129         return s.Conn.Notify(ctx, "window/showMessage", params)
130 }
131
132 func (s *clientDispatcher) LogMessage(ctx context.Context, params *LogMessageParams) error {
133         return s.Conn.Notify(ctx, "window/logMessage", params)
134 }
135
136 func (s *clientDispatcher) Event(ctx context.Context, params *interface{}) error {
137         return s.Conn.Notify(ctx, "telemetry/event", params)
138 }
139
140 func (s *clientDispatcher) PublishDiagnostics(ctx context.Context, params *PublishDiagnosticsParams) error {
141         return s.Conn.Notify(ctx, "textDocument/publishDiagnostics", params)
142 }
143
144 func (s *clientDispatcher) Progress(ctx context.Context, params *ProgressParams) error {
145         return s.Conn.Notify(ctx, "$/progress", params)
146 }
147 func (s *clientDispatcher) WorkspaceFolders(ctx context.Context) ([]WorkspaceFolder /*WorkspaceFolder[] | null*/, error) {
148         var result []WorkspaceFolder /*WorkspaceFolder[] | null*/
149         if err := Call(ctx, s.Conn, "workspace/workspaceFolders", nil, &result); err != nil {
150                 return nil, err
151         }
152         return result, nil
153 }
154
155 func (s *clientDispatcher) Configuration(ctx context.Context, params *ParamConfiguration) ([]interface{}, error) {
156         var result []interface{}
157         if err := Call(ctx, s.Conn, "workspace/configuration", params, &result); err != nil {
158                 return nil, err
159         }
160         return result, nil
161 }
162
163 func (s *clientDispatcher) WorkDoneProgressCreate(ctx context.Context, params *WorkDoneProgressCreateParams) error {
164         return Call(ctx, s.Conn, "window/workDoneProgress/create", params, nil) // Call, not Notify
165 }
166
167 func (s *clientDispatcher) RegisterCapability(ctx context.Context, params *RegistrationParams) error {
168         return Call(ctx, s.Conn, "client/registerCapability", params, nil) // Call, not Notify
169 }
170
171 func (s *clientDispatcher) UnregisterCapability(ctx context.Context, params *UnregistrationParams) error {
172         return Call(ctx, s.Conn, "client/unregisterCapability", params, nil) // Call, not Notify
173 }
174
175 func (s *clientDispatcher) ShowMessageRequest(ctx context.Context, params *ShowMessageRequestParams) (*MessageActionItem /*MessageActionItem | null*/, error) {
176         var result *MessageActionItem /*MessageActionItem | null*/
177         if err := Call(ctx, s.Conn, "window/showMessageRequest", params, &result); err != nil {
178                 return nil, err
179         }
180         return result, nil
181 }
182
183 func (s *clientDispatcher) ApplyEdit(ctx context.Context, params *ApplyWorkspaceEditParams) (*ApplyWorkspaceEditResponse, error) {
184         var result *ApplyWorkspaceEditResponse
185         if err := Call(ctx, s.Conn, "workspace/applyEdit", params, &result); err != nil {
186                 return nil, err
187         }
188         return result, nil
189 }