1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:04:44 -07:00
go/internal/lsp
Rob Findley 9ffc0ab4ef internal/jsonrpc2: add an idle timeout for stream serving
When running gopls against an automatically started remote instance, we
want the lifecycle of the remote to be detached from that of its
clients, so that it doesn't shut down while clients are still connected.
On the other hand, a gopls process can consume significant resources, so
we don't want it to remain when there are no more connected clients.

The jsonrpc2 package is updated to support the concept of idle timeout:
a duration after which the server is shut down when there are no
connected clients. This is exposed in the gopls serve command via the
-listen.timeout flag.

Update golang/go#34111

Change-Id: Id62b3d4a2fa66de2c9306d130ca431717f01d1e5
Reviewed-on: https://go-review.googlesource.com/c/tools/+/220281
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-02-24 23:06:35 +00:00
..
browser
cache internal/lsp/lsprpc: add a handshake between forwarder and remote 2020-02-24 22:51:04 +00:00
cmd internal/jsonrpc2: add an idle timeout for stream serving 2020-02-24 23:06:35 +00:00
debug internal/lsp/lsprpc: automatically resolve and start the remote gopls 2020-02-24 22:51:55 +00:00
diff internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
fake internal/jsonrpc2,internal/lsp/regtest: clean up some leaked tempfiles 2020-02-19 18:32:50 +00:00
fuzzy internal/lsp: make golint happy 2019-12-23 18:17:04 +00:00
helper internal/lsp: change to helper.go to output a formatted file 2020-01-31 20:35:38 +00:00
lsprpc internal/lsp/lsprpc: automatically resolve and start the remote gopls 2020-02-24 22:51:55 +00:00
mod internal/lsp/debug: move all debug state onto the Instance 2020-02-24 22:50:47 +00:00
protocol internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
regtest internal/lsp/lsprpc: automatically resolve and start the remote gopls 2020-02-24 22:51:55 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp/debug: move all debug state onto the Instance 2020-02-24 22:50:47 +00:00
telemetry internal/lsp: log snapshot IDs, don't log context cancellation 2020-01-27 19:20:44 +00:00
testdata internal/lsp/source: untangle completion type comparison 2020-02-24 18:12:40 +00:00
tests internal/lsp/tests: fix regexp for removing links that contain versions 2020-02-19 22:25:53 +00:00
code_action.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
command.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
completion_test.go internal/span,lsp: disambiguate URIs, DocumentURIs, and paths 2020-02-14 22:51:03 +00:00
completion.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
definition.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
diagnostics.go internal/lsp: limit diagnostics concurrency 2020-02-19 18:35:52 +00:00
folding_range.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
format.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
general.go internal/lsp/lsprpc: add a forwarder handler 2020-02-19 15:38:09 +00:00
highlight.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
hover.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
implementation.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
link.go internal/lsp: add module versions from "go list" to pkg.go.dev links 2020-02-19 19:55:21 +00:00
lsp_test.go internal/lsp/debug: move all debug state onto the Instance 2020-02-24 22:50:47 +00:00
references.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
rename.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
reset_golden.sh
server_gen.go internal/lsp: change return type of PrepareRename to *Range 2020-02-13 20:00:52 +00:00
server.go internal/lsp: limit diagnostics concurrency 2020-02-19 18:35:52 +00:00
signature_help.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
symbols.go internal/lsp: check for file URIs on LSP requests 2020-02-14 22:51:26 +00:00
text_synchronization.go internal/lsp: clear diagnostics for deleted files 2020-02-19 20:26:41 +00:00
workspace_symbol.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
workspace.go internal/lsp: generate boilerplate stubs for type Server 2020-01-24 14:41:51 +00:00