diff options
Diffstat (limited to 'internal/lsp/handlers_execute.go')
| -rw-r--r-- | internal/lsp/handlers_execute.go | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/internal/lsp/handlers_execute.go b/internal/lsp/handlers_execute.go index 2e3ec52..d0bc8fc 100644 --- a/internal/lsp/handlers_execute.go +++ b/internal/lsp/handlers_execute.go @@ -2,34 +2,33 @@ package lsp import ( - "encoding/json" + "encoding/json" ) func (s *Server) handleExecuteCommand(req Request) { - var p ExecuteCommandParams - if err := json.Unmarshal(req.Params, &p); err != nil { - s.reply(req.ID, nil, nil) - return - } - switch p.Command { - case "hexai.showDocument": - if len(p.Arguments) >= 2 { - uri, _ := p.Arguments[0].(string) - var r Range - // Convert second arg to Range via re-marshal to be robust across clients - if b, err := json.Marshal(p.Arguments[1]); err == nil { - _ = json.Unmarshal(b, &r) - } - if uri != "" { - s.clientShowDocument(uri, &r) - } - } - s.reply(req.ID, nil, nil) - return - default: - // Unknown command; no-op - s.reply(req.ID, nil, nil) - return - } + var p ExecuteCommandParams + if err := json.Unmarshal(req.Params, &p); err != nil { + s.reply(req.ID, nil, nil) + return + } + switch p.Command { + case "hexai.showDocument": + if len(p.Arguments) >= 2 { + uri, _ := p.Arguments[0].(string) + var r Range + // Convert second arg to Range via re-marshal to be robust across clients + if b, err := json.Marshal(p.Arguments[1]); err == nil { + _ = json.Unmarshal(b, &r) + } + if uri != "" { + s.clientShowDocument(uri, &r) + } + } + s.reply(req.ID, nil, nil) + return + default: + // Unknown command; no-op + s.reply(req.ID, nil, nil) + return + } } - |
