gopls/integration: save more precise parsing information
These are changes to treat errors more like responses. They are
important for the forthcoming log viewer.
Change-Id: Ief8de6ecea716673d4aee417de205842ceab4fc8
Reviewed-on: https://go-review.googlesource.com/c/tools/+/213124
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/gopls/integration/parse/parse.go b/gopls/integration/parse/parse.go
index 0200c42..5f52128 100644
--- a/gopls/integration/parse/parse.go
+++ b/gopls/integration/parse/parse.go
@@ -89,7 +89,7 @@
}
msg.Body = v
case ReportErr:
- msg.Body = msg.ID // cause?
+ msg.Body = msg.Rest // save cause
}
byid[msg.ID]++
msgs = append(msgs, msg)
@@ -152,6 +152,7 @@
msg.Method = both[:idx]
msg.ID = fixid(both[idx+1:])
msg.Rest = strings.Join(flds[6:], " ")
+ msg.Rest = `"` + msg.Rest + `"`
default:
return nil, fmt.Errorf("surprise, first=%q with %d flds", first, len(flds))
}
diff --git a/gopls/integration/parse/rlog.go b/gopls/integration/parse/rlog.go
index 58e752c..aebb1e2 100644
--- a/gopls/integration/parse/rlog.go
+++ b/gopls/integration/parse/rlog.go
@@ -70,6 +70,7 @@
ans.ServerNotifs = append(ans.ServerNotifs, l)
case ReportErr:
ans.ServerReply[l.ID] = l
+ l.Method = ans.ServerCall[l.ID].Method // Method not in log message
default:
log.Fatalf("eh? %s/%s (%s)", l.Type, l.Method, l.ID)
}