@@ -12,6 +12,7 @@ import (
1212type LSPLogger struct {
1313 IncomingPrefix , OutgoingPrefix string
1414 HiColor , LoColor func (format string , a ... interface {}) string
15+ ErrorColor func (format string , a ... interface {}) string
1516}
1617
1718func (l * LSPLogger ) LogOutgoingRequest (id string , method string , params json.RawMessage ) {
@@ -21,7 +22,11 @@ func (l *LSPLogger) LogOutgoingCancelRequest(id string) {
2122 log .Print (l .LoColor ("%s CANCEL %s" , l .OutgoingPrefix , id ))
2223}
2324func (l * LSPLogger ) LogIncomingResponse (id string , method string , resp json.RawMessage , respErr * jsonrpc.ResponseError ) {
24- log .Print (l .LoColor ("%s RESP %s %s" , l .IncomingPrefix , method , id ))
25+ e := ""
26+ if respErr != nil {
27+ e = l .ErrorColor (" ERROR: %s" , respErr .AsError ())
28+ }
29+ log .Print (l .LoColor ("%s RESP %s %s%s" , l .IncomingPrefix , method , id , e ))
2530}
2631func (l * LSPLogger ) LogOutgoingNotification (method string , params json.RawMessage ) {
2732 log .Print (l .HiColor ("%s NOTIF %s" , l .OutgoingPrefix , method ))
@@ -39,7 +44,11 @@ func (l *LSPLogger) LogIncomingCancelRequest(id string) {
3944 log .Print (l .LoColor ("%s CANCEL %s" , l .IncomingPrefix , id ))
4045}
4146func (l * LSPLogger ) LogOutgoingResponse (id string , method string , resp json.RawMessage , respErr * jsonrpc.ResponseError ) {
42- log .Print (l .LoColor ("%s RESP %s %s" , l .OutgoingPrefix , method , id ))
47+ e := ""
48+ if respErr != nil {
49+ e = l .ErrorColor (" ERROR: %s" , respErr .AsError ())
50+ }
51+ log .Print (l .LoColor ("%s RESP %s %s%s" , l .OutgoingPrefix , method , id , e ))
4352}
4453func (l * LSPLogger ) LogIncomingNotification (method string , params json.RawMessage ) jsonrpc.FunctionLogger {
4554 spaces := " "
0 commit comments