tools/internal/lsp
Ian Cottrell a8f40b3f4d internal/jsonrpc2: split main loop from construction to fix race
This changes the basic API of a jsonrpc2 connection to run the
read loop as a method rather than in a go routine launched in
the NewConn. This allows the handler to be created and bound
between construction and the read loop starting, which fixes
the race.

Fixes golang/go#30091

Change-Id: I8201175affe431819cf473e5194d70c019f58425
Reviewed-on: https://go-review.googlesource.com/c/tools/+/170003
Run-TryBot: Ian Cottrell <iancottrell@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2019-03-29 19:31:51 +00:00
..
cache internal/lsp: wire up configuration 2019-03-28 21:16:46 +00:00
cmd internal/jsonrpc2: split main loop from construction to fix race 2019-03-29 19:31:51 +00:00
diff internal/lsp/diff: fix bug that adds extra line to files on format 2019-02-13 04:28:36 +00:00
protocol internal/jsonrpc2: split main loop from construction to fix race 2019-03-29 19:31:51 +00:00
source internal/lsp: fix nil pointer exception in document symbols 2019-03-29 18:25:15 +00:00
testdata internal/lsp: correctly report interface symbols 2019-03-28 03:05:05 +00:00
completion.go internal/lsp: configure completion to preselect the first item 2019-03-15 04:42:04 +00:00
diagnostics.go internal/jsonrpc2: split main loop from construction to fix race 2019-03-29 19:31:51 +00:00
format.go internal/span: change to private fields 2019-03-15 18:05:47 +00:00
highlight.go internal/lsp: add support for document highlight 2019-03-26 19:08:20 +00:00
imports.go internal/span: change to private fields 2019-03-15 18:05:47 +00:00
lsp110_test.go internal/lsp: add more testdata for completion and diagnostics 2018-11-20 06:06:34 +00:00
lsp_test.go internal/jsonrpc2: split main loop from construction to fix race 2019-03-29 19:31:51 +00:00
server.go internal/jsonrpc2: split main loop from construction to fix race 2019-03-29 19:31:51 +00:00
signature_help.go internal/lsp: implement signature help 2018-11-13 20:09:34 +00:00
symbols.go internal/lsp: correctly report interface symbols 2019-03-28 03:05:05 +00:00