From 8b695b21ef344be0019c7138fb0c5243255d76ae Mon Sep 17 00:00:00 2001 From: Peter Weinberger Date: Mon, 30 Sep 2019 12:54:23 -0400 Subject: [PATCH] internal/lsp/protocol: generate correct log messages for 'exit' notifications The log code left out the case where a notification had no parameters at all. Change-Id: I1d832edb7b7e85422ef6baba1e05286e69dd0cde Reviewed-on: https://go-review.googlesource.com/c/tools/+/197724 Reviewed-by: Ian Cottrell Run-TryBot: Peter Weinberger TryBot-Result: Gobot Gobot --- internal/lsp/protocol/log.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/lsp/protocol/log.go b/internal/lsp/protocol/log.go index 1728ac525b..3fdff0638c 100644 --- a/internal/lsp/protocol/log.go +++ b/internal/lsp/protocol/log.go @@ -159,8 +159,12 @@ func logOut(outfd io.Writer, data []byte) { fmt.Fprintf(&buf, "Result: %s%s", string(*v.Result), eor) } } else if v.ID == nil && v.Method != "" && v.Params != nil { + p := "null" + if v.Params != nil { + p = string(*v.Params) + } fmt.Fprintf(&buf, "Received notification '%s'.\n", v.Method) - fmt.Fprintf(&buf, "Params: %s%s", *v.Params, eor) + fmt.Fprintf(&buf, "Params: %s%s", p, eor) } else { // for completeness, as it should never happen buf = strings.Builder{} // undo common Trace fmt.Fprintf(&buf, "[Error - %s] on write ID?%v method:%q Params:%v Result:%v Error:%v%s",