From 8d260a18d239e4cf86b89f80ba9fe7b0c10a89da Mon Sep 17 00:00:00 2001 From: Edward McFarlane Date: Tue, 21 Oct 2025 14:12:57 +0100 Subject: [PATCH 1/2] Replace zap with slog --- client.go | 52 +++++------ context.go | 16 ++-- go.mod | 2 - go.sum | 14 --- protocol.go | 11 ++- server.go | 242 ++++++++++++++++++++++++++-------------------------- 6 files changed, 160 insertions(+), 177 deletions(-) diff --git a/client.go b/client.go index e3df68e2..5fb128cc 100644 --- a/client.go +++ b/client.go @@ -7,9 +7,9 @@ import ( "bytes" "context" "fmt" + "log/slog" "github.com/segmentio/encoding/json" - "go.uber.org/zap" "go.lsp.dev/jsonrpc2" "go.lsp.dev/pkg/xcontext" @@ -17,7 +17,7 @@ import ( // ClientDispatcher returns a Client that dispatches LSP requests across the // given jsonrpc2 connection. -func ClientDispatcher(conn jsonrpc2.Conn, logger *zap.Logger) Client { +func ClientDispatcher(conn jsonrpc2.Conn, logger *slog.Logger) Client { return &client{ Conn: conn, logger: logger, @@ -57,7 +57,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, switch req.Method() { case MethodProgress: // notification - defer logger.Debug(MethodProgress, zap.Error(err)) + defer logger.Debug(MethodProgress, "error", err) var params ProgressParams if err := dec.Decode(¶ms); err != nil { @@ -69,7 +69,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkDoneProgressCreate: // request - defer logger.Debug(MethodWorkDoneProgressCreate, zap.Error(err)) + defer logger.Debug(MethodWorkDoneProgressCreate, "error", err) var params WorkDoneProgressCreateParams if err := dec.Decode(¶ms); err != nil { @@ -81,7 +81,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWindowLogMessage: // notification - defer logger.Debug(MethodWindowLogMessage, zap.Error(err)) + defer logger.Debug(MethodWindowLogMessage, "error", err) var params LogMessageParams if err := dec.Decode(¶ms); err != nil { @@ -93,7 +93,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentPublishDiagnostics: // notification - defer logger.Debug(MethodTextDocumentPublishDiagnostics, zap.Error(err)) + defer logger.Debug(MethodTextDocumentPublishDiagnostics, "error", err) var params PublishDiagnosticsParams if err := dec.Decode(¶ms); err != nil { @@ -105,7 +105,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWindowShowMessage: // notification - defer logger.Debug(MethodWindowShowMessage, zap.Error(err)) + defer logger.Debug(MethodWindowShowMessage, "error", err) var params ShowMessageParams if err := dec.Decode(¶ms); err != nil { @@ -117,7 +117,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWindowShowMessageRequest: // request - defer logger.Debug(MethodWindowShowMessageRequest, zap.Error(err)) + defer logger.Debug(MethodWindowShowMessageRequest, "error", err) var params ShowMessageRequestParams if err := dec.Decode(¶ms); err != nil { @@ -129,7 +129,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTelemetryEvent: // notification - defer logger.Debug(MethodTelemetryEvent, zap.Error(err)) + defer logger.Debug(MethodTelemetryEvent, "error", err) var params interface{} if err := dec.Decode(¶ms); err != nil { @@ -141,7 +141,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodClientRegisterCapability: // request - defer logger.Debug(MethodClientRegisterCapability, zap.Error(err)) + defer logger.Debug(MethodClientRegisterCapability, "error", err) var params RegistrationParams if err := dec.Decode(¶ms); err != nil { @@ -153,7 +153,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodClientUnregisterCapability: // request - defer logger.Debug(MethodClientUnregisterCapability, zap.Error(err)) + defer logger.Debug(MethodClientUnregisterCapability, "error", err) var params UnregistrationParams if err := dec.Decode(¶ms); err != nil { @@ -165,7 +165,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkspaceApplyEdit: // request - defer logger.Debug(MethodWorkspaceApplyEdit, zap.Error(err)) + defer logger.Debug(MethodWorkspaceApplyEdit, "error", err) var params ApplyWorkspaceEditParams if err := dec.Decode(¶ms); err != nil { @@ -177,7 +177,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodWorkspaceConfiguration: // request - defer logger.Debug(MethodWorkspaceConfiguration, zap.Error(err)) + defer logger.Debug(MethodWorkspaceConfiguration, "error", err) var params ConfigurationParams if err := dec.Decode(¶ms); err != nil { @@ -189,7 +189,7 @@ func clientDispatch(ctx context.Context, client Client, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodWorkspaceWorkspaceFolders: // request - defer logger.Debug(MethodWorkspaceWorkspaceFolders, zap.Error(err)) + defer logger.Debug(MethodWorkspaceWorkspaceFolders, "error", err) if len(req.Params()) > 0 { return true, reply(ctx, nil, fmt.Errorf("expected no params: %w", jsonrpc2.ErrInvalidParams)) @@ -263,7 +263,7 @@ const ( type client struct { jsonrpc2.Conn - logger *zap.Logger + logger *slog.Logger } // compiler time check whether the Client implements ClientInterface interface. @@ -277,7 +277,7 @@ var _ Client = (*client)(nil) // @since 3.16.0. func (c *client) Progress(ctx context.Context, params *ProgressParams) (err error) { c.logger.Debug("call " + MethodProgress) - defer c.logger.Debug("end "+MethodProgress, zap.Error(err)) + defer c.logger.Debug("end "+MethodProgress, "error", err) return c.Conn.Notify(ctx, MethodProgress, params) } @@ -287,7 +287,7 @@ func (c *client) Progress(ctx context.Context, params *ProgressParams) (err erro // @since 3.16.0. func (c *client) WorkDoneProgressCreate(ctx context.Context, params *WorkDoneProgressCreateParams) (err error) { c.logger.Debug("call " + MethodWorkDoneProgressCreate) - defer c.logger.Debug("end "+MethodWorkDoneProgressCreate, zap.Error(err)) + defer c.logger.Debug("end "+MethodWorkDoneProgressCreate, "error", err) return Call(ctx, c.Conn, MethodWorkDoneProgressCreate, params, nil) } @@ -295,7 +295,7 @@ func (c *client) WorkDoneProgressCreate(ctx context.Context, params *WorkDonePro // LogMessage sends the notification from the server to the client to ask the client to log a particular message. func (c *client) LogMessage(ctx context.Context, params *LogMessageParams) (err error) { c.logger.Debug("call " + MethodWindowLogMessage) - defer c.logger.Debug("end "+MethodWindowLogMessage, zap.Error(err)) + defer c.logger.Debug("end "+MethodWindowLogMessage, "error", err) return c.Conn.Notify(ctx, MethodWindowLogMessage, params) } @@ -312,7 +312,7 @@ func (c *client) LogMessage(ctx context.Context, params *LogMessageParams) (err // Newly pushed diagnostics always replace previously pushed diagnostics. There is no merging that happens on the client side. func (c *client) PublishDiagnostics(ctx context.Context, params *PublishDiagnosticsParams) (err error) { c.logger.Debug("call " + MethodTextDocumentPublishDiagnostics) - defer c.logger.Debug("end "+MethodTextDocumentPublishDiagnostics, zap.Error(err)) + defer c.logger.Debug("end "+MethodTextDocumentPublishDiagnostics, "error", err) return c.Conn.Notify(ctx, MethodTextDocumentPublishDiagnostics, params) } @@ -328,7 +328,7 @@ func (c *client) ShowMessage(ctx context.Context, params *ShowMessageParams) (er // In addition to the show message notification the request allows to pass actions and to wait for an answer from the client. func (c *client) ShowMessageRequest(ctx context.Context, params *ShowMessageRequestParams) (_ *MessageActionItem, err error) { c.logger.Debug("call " + MethodWindowShowMessageRequest) - defer c.logger.Debug("end "+MethodWindowShowMessageRequest, zap.Error(err)) + defer c.logger.Debug("end "+MethodWindowShowMessageRequest, "error", err) var result *MessageActionItem if err := Call(ctx, c.Conn, MethodWindowShowMessageRequest, params, &result); err != nil { @@ -341,7 +341,7 @@ func (c *client) ShowMessageRequest(ctx context.Context, params *ShowMessageRequ // Telemetry sends the notification from the server to the client to ask the client to log a telemetry event. func (c *client) Telemetry(ctx context.Context, params interface{}) (err error) { c.logger.Debug("call " + MethodTelemetryEvent) - defer c.logger.Debug("end "+MethodTelemetryEvent, zap.Error(err)) + defer c.logger.Debug("end "+MethodTelemetryEvent, "error", err) return c.Conn.Notify(ctx, MethodTelemetryEvent, params) } @@ -354,7 +354,7 @@ func (c *client) Telemetry(ctx context.Context, params interface{}) (err error) // A client can even provide dynamic registration for capability A but not for capability B (see TextDocumentClientCapabilities as an example). func (c *client) RegisterCapability(ctx context.Context, params *RegistrationParams) (err error) { c.logger.Debug("call " + MethodClientRegisterCapability) - defer c.logger.Debug("end "+MethodClientRegisterCapability, zap.Error(err)) + defer c.logger.Debug("end "+MethodClientRegisterCapability, "error", err) return Call(ctx, c.Conn, MethodClientRegisterCapability, params, nil) } @@ -362,7 +362,7 @@ func (c *client) RegisterCapability(ctx context.Context, params *RegistrationPar // UnregisterCapability sends the request from the server to the client to unregister a previously registered capability. func (c *client) UnregisterCapability(ctx context.Context, params *UnregistrationParams) (err error) { c.logger.Debug("call " + MethodClientUnregisterCapability) - defer c.logger.Debug("end "+MethodClientUnregisterCapability, zap.Error(err)) + defer c.logger.Debug("end "+MethodClientUnregisterCapability, "error", err) return Call(ctx, c.Conn, MethodClientUnregisterCapability, params, nil) } @@ -370,7 +370,7 @@ func (c *client) UnregisterCapability(ctx context.Context, params *Unregistratio // ApplyEdit sends the request from the server to the client to modify resource on the client side. func (c *client) ApplyEdit(ctx context.Context, params *ApplyWorkspaceEditParams) (result *ApplyWorkspaceEditResponse, err error) { c.logger.Debug("call " + MethodWorkspaceApplyEdit) - defer c.logger.Debug("end "+MethodWorkspaceApplyEdit, zap.Error(err)) + defer c.logger.Debug("end "+MethodWorkspaceApplyEdit, "error", err) if err := Call(ctx, c.Conn, MethodWorkspaceApplyEdit, params, &result); err != nil { return nil, err @@ -386,7 +386,7 @@ func (c *client) ApplyEdit(ctx context.Context, params *ApplyWorkspaceEditParams // passed ConfigurationItems (e.g. the first item in the response is the result for the first configuration item in the params). func (c *client) Configuration(ctx context.Context, params *ConfigurationParams) (_ []interface{}, err error) { c.logger.Debug("call " + MethodWorkspaceConfiguration) - defer c.logger.Debug("end "+MethodWorkspaceConfiguration, zap.Error(err)) + defer c.logger.Debug("end "+MethodWorkspaceConfiguration, "error", err) var result []interface{} if err := Call(ctx, c.Conn, MethodWorkspaceConfiguration, params, &result); err != nil { @@ -403,7 +403,7 @@ func (c *client) Configuration(ctx context.Context, params *ConfigurationParams) // @since 3.6.0. func (c *client) WorkspaceFolders(ctx context.Context) (result []WorkspaceFolder, err error) { c.logger.Debug("call " + MethodWorkspaceWorkspaceFolders) - defer c.logger.Debug("end "+MethodWorkspaceWorkspaceFolders, zap.Error(err)) + defer c.logger.Debug("end "+MethodWorkspaceWorkspaceFolders, "error", err) if err := Call(ctx, c.Conn, MethodWorkspaceWorkspaceFolders, nil, &result); err != nil { return nil, err diff --git a/context.go b/context.go index 81ccb888..2edcc4d8 100644 --- a/context.go +++ b/context.go @@ -5,8 +5,8 @@ package protocol import ( "context" - - "go.uber.org/zap" + "io" + "log/slog" ) type ( @@ -14,16 +14,16 @@ type ( ctxClient struct{} ) -// WithLogger returns the context with zap.Logger value. -func WithLogger(ctx context.Context, logger *zap.Logger) context.Context { +// WithLogger returns the context with slog.Logger value. +func WithLogger(ctx context.Context, logger *slog.Logger) context.Context { return context.WithValue(ctx, ctxLogger{}, logger) } -// LoggerFromContext extracts zap.Logger from context. -func LoggerFromContext(ctx context.Context) *zap.Logger { - logger, ok := ctx.Value(ctxLogger{}).(*zap.Logger) +// LoggerFromContext extracts slog.Logger from context. +func LoggerFromContext(ctx context.Context) *slog.Logger { + logger, ok := ctx.Value(ctxLogger{}).(*slog.Logger) if !ok { - return zap.NewNop() + return slog.New(slog.NewTextHandler(io.Discard, nil)) } return logger diff --git a/go.mod b/go.mod index 68663a43..42720ca7 100644 --- a/go.mod +++ b/go.mod @@ -8,11 +8,9 @@ require ( go.lsp.dev/jsonrpc2 v0.10.0 go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2 go.lsp.dev/uri v0.3.0 - go.uber.org/zap v1.27.0 ) require ( github.com/segmentio/asm v1.1.3 // indirect - go.uber.org/multierr v1.10.0 // indirect golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 // indirect ) diff --git a/go.sum b/go.sum index b092fc5d..1f29b578 100644 --- a/go.sum +++ b/go.sum @@ -1,30 +1,16 @@ -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= github.com/segmentio/encoding v0.4.0 h1:MEBYvRqiUB2nfR2criEXWqwdY6HJOUrCn5hboVOVmy8= github.com/segmentio/encoding v0.4.0/go.mod h1:/d03Cd8PoaDeceuhUUUQWjU0KhWjrmYrWPgtJHYZSnI= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= go.lsp.dev/jsonrpc2 v0.10.0 h1:Pr/YcXJoEOTMc/b6OTmcR1DPJ3mSWl/SWiU1Cct6VmI= go.lsp.dev/jsonrpc2 v0.10.0/go.mod h1:fmEzIdXPi/rf6d4uFcayi8HpFP1nBF99ERP1htC72Ac= go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2 h1:hCzQgh6UcwbKgNSRurYWSqh8MufqRRPODRBblutn4TE= go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2/go.mod h1:gtSHRuYfbCT0qnbLnovpie/WEmqyJ7T4n6VXiFMBtcw= go.lsp.dev/uri v0.3.0 h1:KcZJmh6nFIBeJzTugn5JTU6OOyG0lDOo3R9KwTxTYbo= go.lsp.dev/uri v0.3.0/go.mod h1:P5sbO1IQR+qySTWOCnhnK7phBx+W3zbLqSMDJNTw88I= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ= -go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 h1:OH54vjqzRWmbJ62fjuhxy7AxFFgoHN0/DPc/UrL8cAs= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/protocol.go b/protocol.go index 7d90b255..371ee4c6 100644 --- a/protocol.go +++ b/protocol.go @@ -5,16 +5,15 @@ package protocol import ( "context" - - "go.uber.org/zap" + "log/slog" "go.lsp.dev/jsonrpc2" ) // NewServer returns the context in which client is embedded, jsonrpc2.Conn, and the Client. -func NewServer(ctx context.Context, server Server, stream jsonrpc2.Stream, logger *zap.Logger) (context.Context, jsonrpc2.Conn, Client) { +func NewServer(ctx context.Context, server Server, stream jsonrpc2.Stream, logger *slog.Logger) (context.Context, jsonrpc2.Conn, Client) { conn := jsonrpc2.NewConn(stream) - cliint := ClientDispatcher(conn, logger.Named("client")) + cliint := ClientDispatcher(conn, logger.With("component", "client")) ctx = WithClient(ctx, cliint) conn.Go(ctx, @@ -27,7 +26,7 @@ func NewServer(ctx context.Context, server Server, stream jsonrpc2.Stream, logge } // NewClient returns the context in which Client is embedded, jsonrpc2.Conn, and the Server. -func NewClient(ctx context.Context, client Client, stream jsonrpc2.Stream, logger *zap.Logger) (context.Context, jsonrpc2.Conn, Server) { +func NewClient(ctx context.Context, client Client, stream jsonrpc2.Stream, logger *slog.Logger) (context.Context, jsonrpc2.Conn, Server) { ctx = WithClient(ctx, client) conn := jsonrpc2.NewConn(stream) @@ -36,7 +35,7 @@ func NewClient(ctx context.Context, client Client, stream jsonrpc2.Stream, logge ClientHandler(client, jsonrpc2.MethodNotFoundHandler), ), ) - server := ServerDispatcher(conn, logger.Named("server")) + server := ServerDispatcher(conn, logger.With("component", "server")) return ctx, conn, server } diff --git a/server.go b/server.go index a7ce1717..e376a7fd 100644 --- a/server.go +++ b/server.go @@ -7,9 +7,9 @@ import ( "bytes" "context" "fmt" + "log/slog" "github.com/segmentio/encoding/json" - "go.uber.org/zap" "go.lsp.dev/jsonrpc2" "go.lsp.dev/pkg/xcontext" @@ -17,7 +17,7 @@ import ( // ServerDispatcher returns a Server that dispatches LSP requests across the // given jsonrpc2 connection. -func ServerDispatcher(conn jsonrpc2.Conn, logger *zap.Logger) Server { +func ServerDispatcher(conn jsonrpc2.Conn, logger *slog.Logger) Server { return &server{ Conn: conn, logger: logger, @@ -68,7 +68,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, switch req.Method() { case MethodInitialize: // request - defer logger.Debug(MethodInitialize, zap.Error(err)) + defer logger.Debug(MethodInitialize, "error", err) var params InitializeParams if err := dec.Decode(¶ms); err != nil { @@ -80,7 +80,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodInitialized: // notification - defer logger.Debug(MethodInitialized, zap.Error(err)) + defer logger.Debug(MethodInitialized, "error", err) var params InitializedParams if err := dec.Decode(¶ms); err != nil { @@ -92,7 +92,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodShutdown: // request - defer logger.Debug(MethodShutdown, zap.Error(err)) + defer logger.Debug(MethodShutdown, "error", err) if len(req.Params()) > 0 { return true, reply(ctx, nil, fmt.Errorf("expected no params: %w", jsonrpc2.ErrInvalidParams)) @@ -103,7 +103,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodExit: // notification - defer logger.Debug(MethodExit, zap.Error(err)) + defer logger.Debug(MethodExit, "error", err) if len(req.Params()) > 0 { return true, reply(ctx, nil, fmt.Errorf("expected no params: %w", jsonrpc2.ErrInvalidParams)) @@ -114,7 +114,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkDoneProgressCancel: // notification - defer logger.Debug(MethodWorkDoneProgressCancel, zap.Error(err)) + defer logger.Debug(MethodWorkDoneProgressCancel, "error", err) var params WorkDoneProgressCancelParams if err := dec.Decode(¶ms); err != nil { @@ -126,7 +126,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodLogTrace: // notification - defer logger.Debug(MethodLogTrace, zap.Error(err)) + defer logger.Debug(MethodLogTrace, "error", err) var params LogTraceParams if err := dec.Decode(¶ms); err != nil { @@ -138,7 +138,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodSetTrace: // notification - defer logger.Debug(MethodSetTrace, zap.Error(err)) + defer logger.Debug(MethodSetTrace, "error", err) var params SetTraceParams if err := dec.Decode(¶ms); err != nil { @@ -150,7 +150,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentCodeAction: // request - defer logger.Debug(MethodTextDocumentCodeAction, zap.Error(err)) + defer logger.Debug(MethodTextDocumentCodeAction, "error", err) var params CodeActionParams if err := dec.Decode(¶ms); err != nil { @@ -162,7 +162,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentCodeLens: // request - defer logger.Debug(MethodTextDocumentCodeLens, zap.Error(err)) + defer logger.Debug(MethodTextDocumentCodeLens, "error", err) var params CodeLensParams if err := dec.Decode(¶ms); err != nil { @@ -174,7 +174,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodCodeLensResolve: // request - defer logger.Debug(MethodCodeLensResolve, zap.Error(err)) + defer logger.Debug(MethodCodeLensResolve, "error", err) var params CodeLens if err := dec.Decode(¶ms); err != nil { @@ -186,7 +186,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentColorPresentation: // request - defer logger.Debug(MethodTextDocumentColorPresentation, zap.Error(err)) + defer logger.Debug(MethodTextDocumentColorPresentation, "error", err) var params ColorPresentationParams if err := dec.Decode(¶ms); err != nil { @@ -198,7 +198,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentCompletion: // request - defer logger.Debug(MethodTextDocumentCompletion, zap.Error(err)) + defer logger.Debug(MethodTextDocumentCompletion, "error", err) var params CompletionParams if err := dec.Decode(¶ms); err != nil { @@ -210,7 +210,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodCompletionItemResolve: // request - defer logger.Debug(MethodCompletionItemResolve, zap.Error(err)) + defer logger.Debug(MethodCompletionItemResolve, "error", err) var params CompletionItem if err := dec.Decode(¶ms); err != nil { @@ -222,7 +222,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDeclaration: // request - defer logger.Debug(MethodTextDocumentDeclaration, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDeclaration, "error", err) var params DeclarationParams if err := dec.Decode(¶ms); err != nil { @@ -234,7 +234,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDefinition: // request - defer logger.Debug(MethodTextDocumentDefinition, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDefinition, "error", err) var params DefinitionParams if err := dec.Decode(¶ms); err != nil { @@ -246,7 +246,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDidChange: // notification - defer logger.Debug(MethodTextDocumentDidChange, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDidChange, "error", err) var params DidChangeTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -258,7 +258,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkspaceDidChangeConfiguration: // notification - defer logger.Debug(MethodWorkspaceDidChangeConfiguration, zap.Error(err)) + defer logger.Debug(MethodWorkspaceDidChangeConfiguration, "error", err) var params DidChangeConfigurationParams if err := dec.Decode(¶ms); err != nil { @@ -270,7 +270,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkspaceDidChangeWatchedFiles: // notification - defer logger.Debug(MethodWorkspaceDidChangeWatchedFiles, zap.Error(err)) + defer logger.Debug(MethodWorkspaceDidChangeWatchedFiles, "error", err) var params DidChangeWatchedFilesParams if err := dec.Decode(¶ms); err != nil { @@ -282,7 +282,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWorkspaceDidChangeWorkspaceFolders: // notification - defer logger.Debug(MethodWorkspaceDidChangeWorkspaceFolders, zap.Error(err)) + defer logger.Debug(MethodWorkspaceDidChangeWorkspaceFolders, "error", err) var params DidChangeWorkspaceFoldersParams if err := dec.Decode(¶ms); err != nil { @@ -294,7 +294,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentDidClose: // notification - defer logger.Debug(MethodTextDocumentDidClose, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDidClose, "error", err) var params DidCloseTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -306,7 +306,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentDidOpen: // notification - defer logger.Debug(MethodTextDocumentDidOpen, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDidOpen, "error", err) var params DidOpenTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -318,7 +318,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentDidSave: // notification - defer logger.Debug(MethodTextDocumentDidSave, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDidSave, "error", err) var params DidSaveTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -330,7 +330,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentDocumentColor: // request - defer logger.Debug(MethodTextDocumentDocumentColor, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDocumentColor, "error", err) var params DocumentColorParams if err := dec.Decode(¶ms); err != nil { @@ -342,7 +342,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDocumentHighlight: // request - defer logger.Debug(MethodTextDocumentDocumentHighlight, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDocumentHighlight, "error", err) var params DocumentHighlightParams if err := dec.Decode(¶ms); err != nil { @@ -354,7 +354,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDocumentLink: // request - defer logger.Debug(MethodTextDocumentDocumentLink, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDocumentLink, "error", err) var params DocumentLinkParams if err := dec.Decode(¶ms); err != nil { @@ -366,7 +366,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodDocumentLinkResolve: // request - defer logger.Debug(MethodDocumentLinkResolve, zap.Error(err)) + defer logger.Debug(MethodDocumentLinkResolve, "error", err) var params DocumentLink if err := dec.Decode(¶ms); err != nil { @@ -378,7 +378,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentDocumentSymbol: // request - defer logger.Debug(MethodTextDocumentDocumentSymbol, zap.Error(err)) + defer logger.Debug(MethodTextDocumentDocumentSymbol, "error", err) var params DocumentSymbolParams if err := dec.Decode(¶ms); err != nil { @@ -390,7 +390,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodWorkspaceExecuteCommand: // request - defer logger.Debug(MethodWorkspaceExecuteCommand, zap.Error(err)) + defer logger.Debug(MethodWorkspaceExecuteCommand, "error", err) var params ExecuteCommandParams if err := dec.Decode(¶ms); err != nil { @@ -402,7 +402,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentFoldingRange: // request - defer logger.Debug(MethodTextDocumentFoldingRange, zap.Error(err)) + defer logger.Debug(MethodTextDocumentFoldingRange, "error", err) var params FoldingRangeParams if err := dec.Decode(¶ms); err != nil { @@ -414,7 +414,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentFormatting: // request - defer logger.Debug(MethodTextDocumentFormatting, zap.Error(err)) + defer logger.Debug(MethodTextDocumentFormatting, "error", err) var params DocumentFormattingParams if err := dec.Decode(¶ms); err != nil { @@ -426,7 +426,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentHover: // request - defer logger.Debug(MethodTextDocumentHover, zap.Error(err)) + defer logger.Debug(MethodTextDocumentHover, "error", err) var params HoverParams if err := dec.Decode(¶ms); err != nil { @@ -438,7 +438,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentImplementation: // request - defer logger.Debug(MethodTextDocumentImplementation, zap.Error(err)) + defer logger.Debug(MethodTextDocumentImplementation, "error", err) var params ImplementationParams if err := dec.Decode(¶ms); err != nil { @@ -450,7 +450,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentOnTypeFormatting: // request - defer logger.Debug(MethodTextDocumentOnTypeFormatting, zap.Error(err)) + defer logger.Debug(MethodTextDocumentOnTypeFormatting, "error", err) var params DocumentOnTypeFormattingParams if err := dec.Decode(¶ms); err != nil { @@ -462,7 +462,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentPrepareRename: // request - defer logger.Debug(MethodTextDocumentPrepareRename, zap.Error(err)) + defer logger.Debug(MethodTextDocumentPrepareRename, "error", err) var params PrepareRenameParams if err := dec.Decode(¶ms); err != nil { @@ -474,7 +474,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentRangeFormatting: // request - defer logger.Debug(MethodTextDocumentRangeFormatting, zap.Error(err)) + defer logger.Debug(MethodTextDocumentRangeFormatting, "error", err) var params DocumentRangeFormattingParams if err := dec.Decode(¶ms); err != nil { @@ -486,7 +486,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentReferences: // request - defer logger.Debug(MethodTextDocumentReferences, zap.Error(err)) + defer logger.Debug(MethodTextDocumentReferences, "error", err) var params ReferenceParams if err := dec.Decode(¶ms); err != nil { @@ -498,7 +498,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentRename: // request - defer logger.Debug(MethodTextDocumentRename, zap.Error(err)) + defer logger.Debug(MethodTextDocumentRename, "error", err) var params RenameParams if err := dec.Decode(¶ms); err != nil { @@ -510,7 +510,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentSignatureHelp: // request - defer logger.Debug(MethodTextDocumentSignatureHelp, zap.Error(err)) + defer logger.Debug(MethodTextDocumentSignatureHelp, "error", err) var params SignatureHelpParams if err := dec.Decode(¶ms); err != nil { @@ -522,7 +522,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodWorkspaceSymbol: // request - defer logger.Debug(MethodWorkspaceSymbol, zap.Error(err)) + defer logger.Debug(MethodWorkspaceSymbol, "error", err) var params WorkspaceSymbolParams if err := dec.Decode(¶ms); err != nil { @@ -534,7 +534,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentTypeDefinition: // request - defer logger.Debug(MethodTextDocumentTypeDefinition, zap.Error(err)) + defer logger.Debug(MethodTextDocumentTypeDefinition, "error", err) var params TypeDefinitionParams if err := dec.Decode(¶ms); err != nil { @@ -546,7 +546,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodTextDocumentWillSave: // notification - defer logger.Debug(MethodTextDocumentWillSave, zap.Error(err)) + defer logger.Debug(MethodTextDocumentWillSave, "error", err) var params WillSaveTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -558,7 +558,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentWillSaveWaitUntil: // request - defer logger.Debug(MethodTextDocumentWillSaveWaitUntil, zap.Error(err)) + defer logger.Debug(MethodTextDocumentWillSaveWaitUntil, "error", err) var params WillSaveTextDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -570,7 +570,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodShowDocument: // request - defer logger.Debug(MethodShowDocument, zap.Error(err)) + defer logger.Debug(MethodShowDocument, "error", err) var params ShowDocumentParams if err := dec.Decode(¶ms); err != nil { @@ -582,7 +582,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodWillCreateFiles: // request - defer logger.Debug(MethodWillCreateFiles, zap.Error(err)) + defer logger.Debug(MethodWillCreateFiles, "error", err) var params CreateFilesParams if err := dec.Decode(¶ms); err != nil { @@ -594,7 +594,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodDidCreateFiles: // notification - defer logger.Debug(MethodDidCreateFiles, zap.Error(err)) + defer logger.Debug(MethodDidCreateFiles, "error", err) var params CreateFilesParams if err := dec.Decode(¶ms); err != nil { @@ -606,7 +606,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWillRenameFiles: // request - defer logger.Debug(MethodWillRenameFiles, zap.Error(err)) + defer logger.Debug(MethodWillRenameFiles, "error", err) var params RenameFilesParams if err := dec.Decode(¶ms); err != nil { @@ -618,7 +618,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodDidRenameFiles: // notification - defer logger.Debug(MethodDidRenameFiles, zap.Error(err)) + defer logger.Debug(MethodDidRenameFiles, "error", err) var params RenameFilesParams if err := dec.Decode(¶ms); err != nil { @@ -630,7 +630,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodWillDeleteFiles: // request - defer logger.Debug(MethodWillDeleteFiles, zap.Error(err)) + defer logger.Debug(MethodWillDeleteFiles, "error", err) var params DeleteFilesParams if err := dec.Decode(¶ms); err != nil { @@ -642,7 +642,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodDidDeleteFiles: // notification - defer logger.Debug(MethodDidDeleteFiles, zap.Error(err)) + defer logger.Debug(MethodDidDeleteFiles, "error", err) var params DeleteFilesParams if err := dec.Decode(¶ms); err != nil { @@ -654,7 +654,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodCodeLensRefresh: // request - defer logger.Debug(MethodCodeLensRefresh, zap.Error(err)) + defer logger.Debug(MethodCodeLensRefresh, "error", err) if len(req.Params()) > 0 { return true, reply(ctx, nil, fmt.Errorf("expected no params: %w", jsonrpc2.ErrInvalidParams)) @@ -665,7 +665,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodTextDocumentPrepareCallHierarchy: // request - defer logger.Debug(MethodTextDocumentPrepareCallHierarchy, zap.Error(err)) + defer logger.Debug(MethodTextDocumentPrepareCallHierarchy, "error", err) var params CallHierarchyPrepareParams if err := dec.Decode(¶ms); err != nil { @@ -677,7 +677,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodCallHierarchyIncomingCalls: // request - defer logger.Debug(MethodCallHierarchyIncomingCalls, zap.Error(err)) + defer logger.Debug(MethodCallHierarchyIncomingCalls, "error", err) var params CallHierarchyIncomingCallsParams if err := dec.Decode(¶ms); err != nil { @@ -689,7 +689,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodCallHierarchyOutgoingCalls: // request - defer logger.Debug(MethodCallHierarchyOutgoingCalls, zap.Error(err)) + defer logger.Debug(MethodCallHierarchyOutgoingCalls, "error", err) var params CallHierarchyOutgoingCallsParams if err := dec.Decode(¶ms); err != nil { @@ -701,7 +701,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodSemanticTokensFull: // request - defer logger.Debug(MethodSemanticTokensFull, zap.Error(err)) + defer logger.Debug(MethodSemanticTokensFull, "error", err) var params SemanticTokensParams if err := dec.Decode(¶ms); err != nil { @@ -713,7 +713,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodSemanticTokensFullDelta: // request - defer logger.Debug(MethodSemanticTokensFullDelta, zap.Error(err)) + defer logger.Debug(MethodSemanticTokensFullDelta, "error", err) var params SemanticTokensDeltaParams if err := dec.Decode(¶ms); err != nil { @@ -725,7 +725,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodSemanticTokensRange: // request - defer logger.Debug(MethodSemanticTokensRange, zap.Error(err)) + defer logger.Debug(MethodSemanticTokensRange, "error", err) var params SemanticTokensRangeParams if err := dec.Decode(¶ms); err != nil { @@ -737,7 +737,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodSemanticTokensRefresh: // request - defer logger.Debug(MethodSemanticTokensRefresh, zap.Error(err)) + defer logger.Debug(MethodSemanticTokensRefresh, "error", err) if len(req.Params()) > 0 { return true, reply(ctx, nil, fmt.Errorf("expected no params: %w", jsonrpc2.ErrInvalidParams)) @@ -748,7 +748,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, nil, err) case MethodLinkedEditingRange: // request - defer logger.Debug(MethodLinkedEditingRange, zap.Error(err)) + defer logger.Debug(MethodLinkedEditingRange, "error", err) var params LinkedEditingRangeParams if err := dec.Decode(¶ms); err != nil { @@ -760,7 +760,7 @@ func serverDispatch(ctx context.Context, server Server, reply jsonrpc2.Replier, return true, reply(ctx, resp, err) case MethodMoniker: // request - defer logger.Debug(MethodMoniker, zap.Error(err)) + defer logger.Debug(MethodMoniker, "error", err) var params MonikerParams if err := dec.Decode(¶ms); err != nil { @@ -1027,7 +1027,7 @@ const ( type server struct { jsonrpc2.Conn - logger *zap.Logger + logger *slog.Logger } var _ Server = (*server)(nil) @@ -1047,7 +1047,7 @@ var _ Server = (*server)(nil) // as well as the window/showMessageRequest request to the client. func (s *server) Initialize(ctx context.Context, params *InitializeParams) (_ *InitializeResult, err error) { s.logger.Debug("call " + MethodInitialize) - defer s.logger.Debug("end "+MethodInitialize, zap.Error(err)) + defer s.logger.Debug("end "+MethodInitialize, "error", err) var result *InitializeResult if err := Call(ctx, s.Conn, MethodInitialize, params, &result); err != nil { @@ -1064,7 +1064,7 @@ func (s *server) Initialize(ctx context.Context, params *InitializeParams) (_ *I // The initialized notification may only be sent once. func (s *server) Initialized(ctx context.Context, params *InitializedParams) (err error) { s.logger.Debug("notify " + MethodInitialized) - defer s.logger.Debug("end "+MethodInitialized, zap.Error(err)) + defer s.logger.Debug("end "+MethodInitialized, "error", err) return s.Conn.Notify(ctx, MethodInitialized, params) } @@ -1078,7 +1078,7 @@ func (s *server) Initialized(ctx context.Context, params *InitializedParams) (er // If a server receives requests after a shutdown request those requests should be errored with `InvalidRequest`. func (s *server) Shutdown(ctx context.Context) (err error) { s.logger.Debug("call " + MethodShutdown) - defer s.logger.Debug("end "+MethodShutdown, zap.Error(err)) + defer s.logger.Debug("end "+MethodShutdown, "error", err) return Call(ctx, s.Conn, MethodShutdown, nil, nil) } @@ -1088,7 +1088,7 @@ func (s *server) Shutdown(ctx context.Context) (err error) { // The server should exit with success code 0 if the shutdown request has been received before; otherwise with error code 1. func (s *server) Exit(ctx context.Context) (err error) { s.logger.Debug("notify " + MethodExit) - defer s.logger.Debug("end "+MethodExit, zap.Error(err)) + defer s.logger.Debug("end "+MethodExit, "error", err) return s.Conn.Notify(ctx, MethodExit, nil) } @@ -1103,7 +1103,7 @@ func (s *server) Exit(ctx context.Context) (err error) { // @since 3.16.0. func (s *server) LogTrace(ctx context.Context, params *LogTraceParams) (err error) { s.logger.Debug("notify " + MethodLogTrace) - defer s.logger.Debug("end "+MethodLogTrace, zap.Error(err)) + defer s.logger.Debug("end "+MethodLogTrace, "error", err) return s.Conn.Notify(ctx, MethodLogTrace, params) } @@ -1113,7 +1113,7 @@ func (s *server) LogTrace(ctx context.Context, params *LogTraceParams) (err erro // @since 3.16.0. func (s *server) SetTrace(ctx context.Context, params *SetTraceParams) (err error) { s.logger.Debug("notify " + MethodSetTrace) - defer s.logger.Debug("end "+MethodSetTrace, zap.Error(err)) + defer s.logger.Debug("end "+MethodSetTrace, "error", err) return s.Conn.Notify(ctx, MethodSetTrace, params) } @@ -1122,7 +1122,7 @@ func (s *server) SetTrace(ctx context.Context, params *SetTraceParams) (err erro // server side using the "window/workDoneProgress/create". func (s *server) WorkDoneProgressCancel(ctx context.Context, params *WorkDoneProgressCancelParams) (err error) { s.logger.Debug("call " + MethodWorkDoneProgressCancel) - defer s.logger.Debug("end "+MethodWorkDoneProgressCancel, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkDoneProgressCancel, "error", err) return s.Conn.Notify(ctx, MethodWorkDoneProgressCancel, params) } @@ -1137,7 +1137,7 @@ func (s *server) WorkDoneProgressCancel(ctx context.Context, params *WorkDonePro // If the client supports providing edits with a code action then the mode should be used. func (s *server) CodeAction(ctx context.Context, params *CodeActionParams) (result []CodeAction, err error) { s.logger.Debug("call " + MethodTextDocumentCodeAction) - defer s.logger.Debug("end "+MethodTextDocumentCodeAction, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentCodeAction, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentCodeAction, params, &result); err != nil { return nil, err @@ -1149,7 +1149,7 @@ func (s *server) CodeAction(ctx context.Context, params *CodeActionParams) (resu // CodeLens sends the request from the client to the server to compute code lenses for a given text document. func (s *server) CodeLens(ctx context.Context, params *CodeLensParams) (result []CodeLens, err error) { s.logger.Debug("call " + MethodTextDocumentCodeLens) - defer s.logger.Debug("end "+MethodTextDocumentCodeLens, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentCodeLens, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentCodeLens, params, &result); err != nil { return nil, err @@ -1161,7 +1161,7 @@ func (s *server) CodeLens(ctx context.Context, params *CodeLensParams) (result [ // CodeLensResolve sends the request from the client to the server to resolve the command for a given code lens item. func (s *server) CodeLensResolve(ctx context.Context, params *CodeLens) (_ *CodeLens, err error) { s.logger.Debug("call " + MethodCodeLensResolve) - defer s.logger.Debug("end "+MethodCodeLensResolve, zap.Error(err)) + defer s.logger.Debug("end "+MethodCodeLensResolve, "error", err) var result *CodeLens if err := Call(ctx, s.Conn, MethodCodeLensResolve, params, &result); err != nil { @@ -1179,7 +1179,7 @@ func (s *server) CodeLensResolve(ctx context.Context, params *CodeLens) (_ *Code // - show in a color picker and let users pick one of the presentations. func (s *server) ColorPresentation(ctx context.Context, params *ColorPresentationParams) (result []ColorPresentation, err error) { s.logger.Debug("call " + MethodTextDocumentColorPresentation) - defer s.logger.Debug("end "+MethodTextDocumentColorPresentation, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentColorPresentation, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentColorPresentation, params, &result); err != nil { return nil, err @@ -1203,7 +1203,7 @@ func (s *server) ColorPresentation(ctx context.Context, params *ColorPresentatio // like `sortText`, `filterText`, `insertText`, and `textEdit` must be provided in the `textDocument/completion` response and must not be changed during resolve. func (s *server) Completion(ctx context.Context, params *CompletionParams) (_ *CompletionList, err error) { s.logger.Debug("call " + MethodTextDocumentCompletion) - defer s.logger.Debug("end "+MethodTextDocumentCompletion, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentCompletion, "error", err) var result *CompletionList if err := Call(ctx, s.Conn, MethodTextDocumentCompletion, params, &result); err != nil { @@ -1216,7 +1216,7 @@ func (s *server) Completion(ctx context.Context, params *CompletionParams) (_ *C // CompletionResolve sends the request from the client to the server to resolve additional information for a given completion item. func (s *server) CompletionResolve(ctx context.Context, params *CompletionItem) (_ *CompletionItem, err error) { s.logger.Debug("call " + MethodCompletionItemResolve) - defer s.logger.Debug("end "+MethodCompletionItemResolve, zap.Error(err)) + defer s.logger.Debug("end "+MethodCompletionItemResolve, "error", err) var result *CompletionItem if err := Call(ctx, s.Conn, MethodCompletionItemResolve, params, &result); err != nil { @@ -1233,7 +1233,7 @@ func (s *server) CompletionResolve(ctx context.Context, params *CompletionItem) // @since 3.14.0. func (s *server) Declaration(ctx context.Context, params *DeclarationParams) (result []Location, err error) { s.logger.Debug("call " + MethodTextDocumentDeclaration) - defer s.logger.Debug("end "+MethodTextDocumentDeclaration, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDeclaration, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDeclaration, params, &result); err != nil { return nil, err @@ -1249,7 +1249,7 @@ func (s *server) Declaration(ctx context.Context, params *DeclarationParams) (re // @since 3.14.0. func (s *server) Definition(ctx context.Context, params *DefinitionParams) (result []Location, err error) { s.logger.Debug("call " + MethodTextDocumentDefinition) - defer s.logger.Debug("end "+MethodTextDocumentDefinition, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDefinition, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDefinition, params, &result); err != nil { return nil, err @@ -1263,7 +1263,7 @@ func (s *server) Definition(ctx context.Context, params *DefinitionParams) (resu // In 2.0 the shape of the params has changed to include proper version numbers and language ids. func (s *server) DidChange(ctx context.Context, params *DidChangeTextDocumentParams) (err error) { s.logger.Debug("notify " + MethodTextDocumentDidChange) - defer s.logger.Debug("end "+MethodTextDocumentDidChange, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDidChange, "error", err) return s.Conn.Notify(ctx, MethodTextDocumentDidChange, params) } @@ -1271,7 +1271,7 @@ func (s *server) DidChange(ctx context.Context, params *DidChangeTextDocumentPar // DidChangeConfiguration sends the notification from the client to the server to signal the change of configuration settings. func (s *server) DidChangeConfiguration(ctx context.Context, params *DidChangeConfigurationParams) (err error) { s.logger.Debug("call " + MethodWorkspaceDidChangeConfiguration) - defer s.logger.Debug("end "+MethodWorkspaceDidChangeConfiguration, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkspaceDidChangeConfiguration, "error", err) return s.Conn.Notify(ctx, MethodWorkspaceDidChangeConfiguration, params) } @@ -1282,7 +1282,7 @@ func (s *server) DidChangeConfiguration(ctx context.Context, params *DidChangeCo // In former implementations clients pushed file events without the server actively asking for it. func (s *server) DidChangeWatchedFiles(ctx context.Context, params *DidChangeWatchedFilesParams) (err error) { s.logger.Debug("call " + MethodWorkspaceDidChangeWatchedFiles) - defer s.logger.Debug("end "+MethodWorkspaceDidChangeWatchedFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkspaceDidChangeWatchedFiles, "error", err) return s.Conn.Notify(ctx, MethodWorkspaceDidChangeWatchedFiles, params) } @@ -1296,7 +1296,7 @@ func (s *server) DidChangeWatchedFiles(ctx context.Context, params *DidChangeWat // The registration parameter must have a registrations item of the following form, where id is a unique id used to unregister the capability (the example uses a UUID). func (s *server) DidChangeWorkspaceFolders(ctx context.Context, params *DidChangeWorkspaceFoldersParams) (err error) { s.logger.Debug("call " + MethodWorkspaceDidChangeWorkspaceFolders) - defer s.logger.Debug("end "+MethodWorkspaceDidChangeWorkspaceFolders, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkspaceDidChangeWorkspaceFolders, "error", err) return s.Conn.Notify(ctx, MethodWorkspaceDidChangeWorkspaceFolders, params) } @@ -1311,7 +1311,7 @@ func (s *server) DidChangeWorkspaceFolders(ctx context.Context, params *DidChang // Note that a server’s ability to fulfill requests is independent of whether a text document is open or closed. func (s *server) DidClose(ctx context.Context, params *DidCloseTextDocumentParams) (err error) { s.logger.Debug("call " + MethodTextDocumentDidClose) - defer s.logger.Debug("end "+MethodTextDocumentDidClose, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDidClose, "error", err) return s.Conn.Notify(ctx, MethodTextDocumentDidClose, params) } @@ -1326,7 +1326,7 @@ func (s *server) DidClose(ctx context.Context, params *DidCloseTextDocumentParam // Note that a server’s ability to fulfill requests is independent of whether a text document is open or closed. func (s *server) DidOpen(ctx context.Context, params *DidOpenTextDocumentParams) (err error) { s.logger.Debug("call " + MethodTextDocumentDidOpen) - defer s.logger.Debug("end "+MethodTextDocumentDidOpen, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDidOpen, "error", err) return s.Conn.Notify(ctx, MethodTextDocumentDidOpen, params) } @@ -1334,7 +1334,7 @@ func (s *server) DidOpen(ctx context.Context, params *DidOpenTextDocumentParams) // DidSave sends the notification from the client to the server when the document was saved in the client. func (s *server) DidSave(ctx context.Context, params *DidSaveTextDocumentParams) (err error) { s.logger.Debug("call " + MethodTextDocumentDidSave) - defer s.logger.Debug("end "+MethodTextDocumentDidSave, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDidSave, "error", err) return s.Conn.Notify(ctx, MethodTextDocumentDidSave, params) } @@ -1350,7 +1350,7 @@ func (s *server) DidSave(ctx context.Context, params *DidSaveTextDocumentParams) // - Show a color picker when a color reference is edited. func (s *server) DocumentColor(ctx context.Context, params *DocumentColorParams) (result []ColorInformation, err error) { s.logger.Debug("call " + MethodTextDocumentDocumentColor) - defer s.logger.Debug("end "+MethodTextDocumentDocumentColor, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDocumentColor, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDocumentColor, params, &result); err != nil { return nil, err @@ -1367,7 +1367,7 @@ func (s *server) DocumentColor(ctx context.Context, params *DocumentColorParams) // Symbol matches usually have a `DocumentHighlightKind` of `Read` or `Write` whereas fuzzy or textual matches use `Text` as the kind. func (s *server) DocumentHighlight(ctx context.Context, params *DocumentHighlightParams) (result []DocumentHighlight, err error) { s.logger.Debug("call " + MethodTextDocumentDocumentHighlight) - defer s.logger.Debug("end "+MethodTextDocumentDocumentHighlight, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDocumentHighlight, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDocumentHighlight, params, &result); err != nil { return nil, err @@ -1379,7 +1379,7 @@ func (s *server) DocumentHighlight(ctx context.Context, params *DocumentHighligh // DocumentLink sends the request from the client to the server to request the location of links in a document. func (s *server) DocumentLink(ctx context.Context, params *DocumentLinkParams) (result []DocumentLink, err error) { s.logger.Debug("call " + MethodTextDocumentDocumentLink) - defer s.logger.Debug("end "+MethodTextDocumentDocumentLink, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDocumentLink, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDocumentLink, params, &result); err != nil { return nil, err @@ -1391,7 +1391,7 @@ func (s *server) DocumentLink(ctx context.Context, params *DocumentLinkParams) ( // DocumentLinkResolve sends the request from the client to the server to resolve the target of a given document link. func (s *server) DocumentLinkResolve(ctx context.Context, params *DocumentLink) (_ *DocumentLink, err error) { s.logger.Debug("call " + MethodDocumentLinkResolve) - defer s.logger.Debug("end "+MethodDocumentLinkResolve, zap.Error(err)) + defer s.logger.Debug("end "+MethodDocumentLinkResolve, "error", err) var result *DocumentLink if err := Call(ctx, s.Conn, MethodDocumentLinkResolve, params, &result); err != nil { @@ -1406,7 +1406,7 @@ func (s *server) DocumentLinkResolve(ctx context.Context, params *DocumentLink) // Neither the symbol’s location range nor the symbol’s container name should be used to infer a hierarchy. func (s *server) DocumentSymbol(ctx context.Context, params *DocumentSymbolParams) (result []interface{}, err error) { s.logger.Debug("call " + MethodTextDocumentDocumentSymbol) - defer s.logger.Debug("end "+MethodTextDocumentDocumentSymbol, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentDocumentSymbol, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentDocumentSymbol, params, &result); err != nil { return nil, err @@ -1421,7 +1421,7 @@ func (s *server) DocumentSymbol(ctx context.Context, params *DocumentSymbolParam // request `workspace/applyEdit` which is sent from the server to the client. func (s *server) ExecuteCommand(ctx context.Context, params *ExecuteCommandParams) (result interface{}, err error) { s.logger.Debug("call " + MethodWorkspaceExecuteCommand) - defer s.logger.Debug("end "+MethodWorkspaceExecuteCommand, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkspaceExecuteCommand, "error", err) if err := Call(ctx, s.Conn, MethodWorkspaceExecuteCommand, params, &result); err != nil { return nil, err @@ -1435,7 +1435,7 @@ func (s *server) ExecuteCommand(ctx context.Context, params *ExecuteCommandParam // @since version 3.10.0. func (s *server) FoldingRanges(ctx context.Context, params *FoldingRangeParams) (result []FoldingRange, err error) { s.logger.Debug("call " + MethodTextDocumentFoldingRange) - defer s.logger.Debug("end "+MethodTextDocumentFoldingRange, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentFoldingRange, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentFoldingRange, params, &result); err != nil { return nil, err @@ -1447,7 +1447,7 @@ func (s *server) FoldingRanges(ctx context.Context, params *FoldingRangeParams) // Formatting sends the request from the client to the server to format a whole document. func (s *server) Formatting(ctx context.Context, params *DocumentFormattingParams) (result []TextEdit, err error) { s.logger.Debug("call " + MethodTextDocumentFormatting) - defer s.logger.Debug("end "+MethodTextDocumentFormatting, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentFormatting, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentFormatting, params, &result); err != nil { return nil, err @@ -1459,7 +1459,7 @@ func (s *server) Formatting(ctx context.Context, params *DocumentFormattingParam // Hover sends the request is from the client to the server to request hover information at a given text document position. func (s *server) Hover(ctx context.Context, params *HoverParams) (_ *Hover, err error) { s.logger.Debug("call " + MethodTextDocumentHover) - defer s.logger.Debug("end "+MethodTextDocumentHover, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentHover, "error", err) var result *Hover if err := Call(ctx, s.Conn, MethodTextDocumentHover, params, &result); err != nil { @@ -1474,7 +1474,7 @@ func (s *server) Hover(ctx context.Context, params *HoverParams) (_ *Hover, err // The result type `[]LocationLink` got introduce with version 3.14.0 and depends in the corresponding client capability `clientCapabilities.implementation.typeDefinition.linkSupport`. func (s *server) Implementation(ctx context.Context, params *ImplementationParams) (result []Location, err error) { s.logger.Debug("call " + MethodTextDocumentImplementation) - defer s.logger.Debug("end "+MethodTextDocumentImplementation, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentImplementation, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentImplementation, params, &result); err != nil { return nil, err @@ -1486,7 +1486,7 @@ func (s *server) Implementation(ctx context.Context, params *ImplementationParam // OnTypeFormatting sends the request from the client to the server to format parts of the document during typing. func (s *server) OnTypeFormatting(ctx context.Context, params *DocumentOnTypeFormattingParams) (result []TextEdit, err error) { s.logger.Debug("call " + MethodTextDocumentOnTypeFormatting) - defer s.logger.Debug("end "+MethodTextDocumentOnTypeFormatting, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentOnTypeFormatting, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentOnTypeFormatting, params, &result); err != nil { return nil, err @@ -1500,7 +1500,7 @@ func (s *server) OnTypeFormatting(ctx context.Context, params *DocumentOnTypeFor // @since version 3.12.0. func (s *server) PrepareRename(ctx context.Context, params *PrepareRenameParams) (result *Range, err error) { s.logger.Debug("call " + MethodTextDocumentPrepareRename) - defer s.logger.Debug("end "+MethodTextDocumentPrepareRename, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentPrepareRename, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentPrepareRename, params, &result); err != nil { return nil, err @@ -1512,7 +1512,7 @@ func (s *server) PrepareRename(ctx context.Context, params *PrepareRenameParams) // RangeFormatting sends the request from the client to the server to format a given range in a document. func (s *server) RangeFormatting(ctx context.Context, params *DocumentRangeFormattingParams) (result []TextEdit, err error) { s.logger.Debug("call " + MethodTextDocumentRangeFormatting) - defer s.logger.Debug("end "+MethodTextDocumentRangeFormatting, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentRangeFormatting, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentRangeFormatting, params, &result); err != nil { return nil, err @@ -1524,7 +1524,7 @@ func (s *server) RangeFormatting(ctx context.Context, params *DocumentRangeForma // References sends the request from the client to the server to resolve project-wide references for the symbol denoted by the given text document position. func (s *server) References(ctx context.Context, params *ReferenceParams) (result []Location, err error) { s.logger.Debug("call " + MethodTextDocumentReferences) - defer s.logger.Debug("end "+MethodTextDocumentReferences, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentReferences, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentReferences, params, &result); err != nil { return nil, err @@ -1536,7 +1536,7 @@ func (s *server) References(ctx context.Context, params *ReferenceParams) (resul // Rename sends the request from the client to the server to perform a workspace-wide rename of a symbol. func (s *server) Rename(ctx context.Context, params *RenameParams) (result *WorkspaceEdit, err error) { s.logger.Debug("call " + MethodTextDocumentRename) - defer s.logger.Debug("end "+MethodTextDocumentRename, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentRename, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentRename, params, &result); err != nil { return nil, err @@ -1548,7 +1548,7 @@ func (s *server) Rename(ctx context.Context, params *RenameParams) (result *Work // SignatureHelp sends the request from the client to the server to request signature information at a given cursor position. func (s *server) SignatureHelp(ctx context.Context, params *SignatureHelpParams) (_ *SignatureHelp, err error) { s.logger.Debug("call " + MethodTextDocumentSignatureHelp) - defer s.logger.Debug("end "+MethodTextDocumentSignatureHelp, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentSignatureHelp, "error", err) var result *SignatureHelp if err := Call(ctx, s.Conn, MethodTextDocumentSignatureHelp, params, &result); err != nil { @@ -1561,7 +1561,7 @@ func (s *server) SignatureHelp(ctx context.Context, params *SignatureHelpParams) // Symbols sends the request from the client to the server to list project-wide symbols matching the query string. func (s *server) Symbols(ctx context.Context, params *WorkspaceSymbolParams) (result []SymbolInformation, err error) { s.logger.Debug("call " + MethodWorkspaceSymbol) - defer s.logger.Debug("end "+MethodWorkspaceSymbol, zap.Error(err)) + defer s.logger.Debug("end "+MethodWorkspaceSymbol, "error", err) if err := Call(ctx, s.Conn, MethodWorkspaceSymbol, params, &result); err != nil { return nil, err @@ -1577,7 +1577,7 @@ func (s *server) Symbols(ctx context.Context, params *WorkspaceSymbolParams) (re // @since version 3.6.0. func (s *server) TypeDefinition(ctx context.Context, params *TypeDefinitionParams) (result []Location, err error) { s.logger.Debug("call " + MethodTextDocumentTypeDefinition) - defer s.logger.Debug("end "+MethodTextDocumentTypeDefinition, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentTypeDefinition, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentTypeDefinition, params, &result); err != nil { return nil, err @@ -1589,7 +1589,7 @@ func (s *server) TypeDefinition(ctx context.Context, params *TypeDefinitionParam // WillSave sends the notification from the client to the server before the document is actually saved. func (s *server) WillSave(ctx context.Context, params *WillSaveTextDocumentParams) (err error) { s.logger.Debug("call " + MethodTextDocumentWillSave) - defer s.logger.Debug("end "+MethodTextDocumentWillSave, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentWillSave, "error", err) return s.Conn.Notify(ctx, MethodTextDocumentWillSave, params) } @@ -1601,7 +1601,7 @@ func (s *server) WillSave(ctx context.Context, params *WillSaveTextDocumentParam // This is done to keep the save fast and reliable. func (s *server) WillSaveWaitUntil(ctx context.Context, params *WillSaveTextDocumentParams) (result []TextEdit, err error) { s.logger.Debug("call " + MethodTextDocumentWillSaveWaitUntil) - defer s.logger.Debug("end "+MethodTextDocumentWillSaveWaitUntil, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentWillSaveWaitUntil, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentWillSaveWaitUntil, params, &result); err != nil { return nil, err @@ -1615,7 +1615,7 @@ func (s *server) WillSaveWaitUntil(ctx context.Context, params *WillSaveTextDocu // @since 3.16.0. func (s *server) ShowDocument(ctx context.Context, params *ShowDocumentParams) (result *ShowDocumentResult, err error) { s.logger.Debug("call " + MethodShowDocument) - defer s.logger.Debug("end "+MethodShowDocument, zap.Error(err)) + defer s.logger.Debug("end "+MethodShowDocument, "error", err) if err := Call(ctx, s.Conn, MethodShowDocument, params, &result); err != nil { return nil, err @@ -1633,7 +1633,7 @@ func (s *server) ShowDocument(ctx context.Context, params *ShowDocumentParams) ( // @since 3.16.0. func (s *server) WillCreateFiles(ctx context.Context, params *CreateFilesParams) (result *WorkspaceEdit, err error) { s.logger.Debug("call " + MethodWillCreateFiles) - defer s.logger.Debug("end "+MethodWillCreateFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodWillCreateFiles, "error", err) if err := Call(ctx, s.Conn, MethodWillCreateFiles, params, &result); err != nil { return nil, err @@ -1647,7 +1647,7 @@ func (s *server) WillCreateFiles(ctx context.Context, params *CreateFilesParams) // @since 3.16.0. func (s *server) DidCreateFiles(ctx context.Context, params *CreateFilesParams) (err error) { s.logger.Debug("call " + MethodDidCreateFiles) - defer s.logger.Debug("end "+MethodDidCreateFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodDidCreateFiles, "error", err) return s.Conn.Notify(ctx, MethodDidCreateFiles, params) } @@ -1661,7 +1661,7 @@ func (s *server) DidCreateFiles(ctx context.Context, params *CreateFilesParams) // @since 3.16.0. func (s *server) WillRenameFiles(ctx context.Context, params *RenameFilesParams) (result *WorkspaceEdit, err error) { s.logger.Debug("call " + MethodWillRenameFiles) - defer s.logger.Debug("end "+MethodWillRenameFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodWillRenameFiles, "error", err) if err := Call(ctx, s.Conn, MethodWillRenameFiles, params, &result); err != nil { return nil, err @@ -1675,7 +1675,7 @@ func (s *server) WillRenameFiles(ctx context.Context, params *RenameFilesParams) // @since 3.16.0. func (s *server) DidRenameFiles(ctx context.Context, params *RenameFilesParams) (err error) { s.logger.Debug("call " + MethodDidRenameFiles) - defer s.logger.Debug("end "+MethodDidRenameFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodDidRenameFiles, "error", err) return s.Conn.Notify(ctx, MethodDidRenameFiles, params) } @@ -1689,7 +1689,7 @@ func (s *server) DidRenameFiles(ctx context.Context, params *RenameFilesParams) // @since 3.16.0. func (s *server) WillDeleteFiles(ctx context.Context, params *DeleteFilesParams) (result *WorkspaceEdit, err error) { s.logger.Debug("call " + MethodWillDeleteFiles) - defer s.logger.Debug("end "+MethodWillDeleteFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodWillDeleteFiles, "error", err) if err := Call(ctx, s.Conn, MethodWillDeleteFiles, params, &result); err != nil { return nil, err @@ -1703,7 +1703,7 @@ func (s *server) WillDeleteFiles(ctx context.Context, params *DeleteFilesParams) // @since 3.16.0. func (s *server) DidDeleteFiles(ctx context.Context, params *DeleteFilesParams) (err error) { s.logger.Debug("call " + MethodDidDeleteFiles) - defer s.logger.Debug("end "+MethodDidDeleteFiles, zap.Error(err)) + defer s.logger.Debug("end "+MethodDidDeleteFiles, "error", err) return s.Conn.Notify(ctx, MethodDidDeleteFiles, params) } @@ -1719,7 +1719,7 @@ func (s *server) DidDeleteFiles(ctx context.Context, params *DeleteFilesParams) // @since 3.16.0. func (s *server) CodeLensRefresh(ctx context.Context) (err error) { s.logger.Debug("call " + MethodCodeLensRefresh) - defer s.logger.Debug("end "+MethodCodeLensRefresh, zap.Error(err)) + defer s.logger.Debug("end "+MethodCodeLensRefresh, "error", err) return Call(ctx, s.Conn, MethodCodeLensRefresh, nil, nil) } @@ -1733,7 +1733,7 @@ func (s *server) CodeLensRefresh(ctx context.Context) (err error) { // @since 3.16.0. func (s *server) PrepareCallHierarchy(ctx context.Context, params *CallHierarchyPrepareParams) (result []CallHierarchyItem, err error) { s.logger.Debug("call " + MethodTextDocumentPrepareCallHierarchy) - defer s.logger.Debug("end "+MethodTextDocumentPrepareCallHierarchy, zap.Error(err)) + defer s.logger.Debug("end "+MethodTextDocumentPrepareCallHierarchy, "error", err) if err := Call(ctx, s.Conn, MethodTextDocumentPrepareCallHierarchy, params, &result); err != nil { return nil, err @@ -1749,7 +1749,7 @@ func (s *server) PrepareCallHierarchy(ctx context.Context, params *CallHierarchy // @since 3.16.0. func (s *server) IncomingCalls(ctx context.Context, params *CallHierarchyIncomingCallsParams) (result []CallHierarchyIncomingCall, err error) { s.logger.Debug("call " + MethodCallHierarchyIncomingCalls) - defer s.logger.Debug("end "+MethodCallHierarchyIncomingCalls, zap.Error(err)) + defer s.logger.Debug("end "+MethodCallHierarchyIncomingCalls, "error", err) if err := Call(ctx, s.Conn, MethodCallHierarchyIncomingCalls, params, &result); err != nil { return nil, err @@ -1765,7 +1765,7 @@ func (s *server) IncomingCalls(ctx context.Context, params *CallHierarchyIncomin // @since 3.16.0. func (s *server) OutgoingCalls(ctx context.Context, params *CallHierarchyOutgoingCallsParams) (result []CallHierarchyOutgoingCall, err error) { s.logger.Debug("call " + MethodCallHierarchyOutgoingCalls) - defer s.logger.Debug("end "+MethodCallHierarchyOutgoingCalls, zap.Error(err)) + defer s.logger.Debug("end "+MethodCallHierarchyOutgoingCalls, "error", err) if err := Call(ctx, s.Conn, MethodCallHierarchyOutgoingCalls, params, &result); err != nil { return nil, err @@ -1783,7 +1783,7 @@ func (s *server) OutgoingCalls(ctx context.Context, params *CallHierarchyOutgoin // @since 3.16.0. func (s *server) SemanticTokensFull(ctx context.Context, params *SemanticTokensParams) (result *SemanticTokens, err error) { s.logger.Debug("call " + MethodSemanticTokensFull) - defer s.logger.Debug("end "+MethodSemanticTokensFull, zap.Error(err)) + defer s.logger.Debug("end "+MethodSemanticTokensFull, "error", err) if err := Call(ctx, s.Conn, MethodSemanticTokensFull, params, &result); err != nil { return nil, err @@ -1801,7 +1801,7 @@ func (s *server) SemanticTokensFull(ctx context.Context, params *SemanticTokensP // @since 3.16.0. func (s *server) SemanticTokensFullDelta(ctx context.Context, params *SemanticTokensDeltaParams) (result interface{}, err error) { s.logger.Debug("call " + MethodSemanticTokensFullDelta) - defer s.logger.Debug("end "+MethodSemanticTokensFullDelta, zap.Error(err)) + defer s.logger.Debug("end "+MethodSemanticTokensFullDelta, "error", err) if err := Call(ctx, s.Conn, MethodSemanticTokensFullDelta, params, &result); err != nil { return nil, err @@ -1820,7 +1820,7 @@ func (s *server) SemanticTokensFullDelta(ctx context.Context, params *SemanticTo // @since 3.16.0. func (s *server) SemanticTokensRange(ctx context.Context, params *SemanticTokensRangeParams) (result *SemanticTokens, err error) { s.logger.Debug("call " + MethodSemanticTokensRange) - defer s.logger.Debug("end "+MethodSemanticTokensRange, zap.Error(err)) + defer s.logger.Debug("end "+MethodSemanticTokensRange, "error", err) if err := Call(ctx, s.Conn, MethodSemanticTokensRange, params, &result); err != nil { return nil, err @@ -1839,7 +1839,7 @@ func (s *server) SemanticTokensRange(ctx context.Context, params *SemanticTokens // @since 3.16.0. func (s *server) SemanticTokensRefresh(ctx context.Context) (err error) { s.logger.Debug("call " + MethodSemanticTokensRefresh) - defer s.logger.Debug("end "+MethodSemanticTokensRefresh, zap.Error(err)) + defer s.logger.Debug("end "+MethodSemanticTokensRefresh, "error", err) return Call(ctx, s.Conn, MethodSemanticTokensRefresh, nil, nil) } @@ -1853,7 +1853,7 @@ func (s *server) SemanticTokensRefresh(ctx context.Context) (err error) { // @since 3.16.0. func (s *server) LinkedEditingRange(ctx context.Context, params *LinkedEditingRangeParams) (result *LinkedEditingRanges, err error) { s.logger.Debug("call " + MethodLinkedEditingRange) - defer s.logger.Debug("end "+MethodLinkedEditingRange, zap.Error(err)) + defer s.logger.Debug("end "+MethodLinkedEditingRange, "error", err) if err := Call(ctx, s.Conn, MethodLinkedEditingRange, params, &result); err != nil { return nil, err @@ -1871,7 +1871,7 @@ func (s *server) LinkedEditingRange(ctx context.Context, params *LinkedEditingRa // @since 3.16.0. func (s *server) Moniker(ctx context.Context, params *MonikerParams) (result []Moniker, err error) { s.logger.Debug("call " + MethodMoniker) - defer s.logger.Debug("end "+MethodMoniker, zap.Error(err)) + defer s.logger.Debug("end "+MethodMoniker, "error", err) if err := Call(ctx, s.Conn, MethodMoniker, params, &result); err != nil { return nil, err From 834c0705695712e17eee865ff1bac36605009110 Mon Sep 17 00:00:00 2001 From: Edward McFarlane Date: Tue, 21 Oct 2025 21:34:16 +0100 Subject: [PATCH 2/2] Bump go mod 1.23 --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 42720ca7..6519a700 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module go.lsp.dev/protocol -go 1.22.2 +go 1.23 require ( github.com/google/go-cmp v0.6.0