mirror of
https://github.com/golang/go
synced 2024-11-18 08:54:45 -07:00
2b5917cebf
The gopls workspace environment defaults to the process environment in which gopls was started. This means that when switching environments, gopls can potentially get a different environment when connecting as an editor sidecar from when forwarding requests to the daemon. To (hopefully mostly) mitigate this pain point, inject the Go environment when forwarding the 'initialize' request, which contains InitializationOptions containing the 'env' configuration. We could go further and send the entire os.Environ(), but that seems problematic both in its unbounded nature, and because in many cases the user may not actually want to send their process env over the wire. Gopls behavior should *mostly* be parameterized by gopls binary and Go env, and after this change these should match for forwarder and daemon. For go1.15, Explicitly set the GOMODCACHE environment variable in the regtest sandbox. Without this, regtests were failing in the forwarded environment because they implicitly shared a module cache. Fixes golang/go#37830 Change-Id: Ic1b335506f8b481505eac9f74c0df6293dc07158 Reviewed-on: https://go-review.googlesource.com/c/tools/+/234109 Run-TryBot: Robert Findley <rfindley@google.com> Reviewed-by: Ian Cottrell <iancottrell@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> |
||
---|---|---|
.. | ||
analysisinternal | ||
apidiff | ||
event | ||
fakenet | ||
fastwalk | ||
gocommand | ||
gopathwalk | ||
imports | ||
jsonrpc2 | ||
lsp | ||
memoize | ||
packagesinternal | ||
proxydir | ||
span | ||
stack | ||
testenv | ||
tool | ||
typesinternal | ||
xcontext |