go/internal
Rebecca Stambler 008e477491 internal/lsp, gopls: recover from go-diff panics
This CL handles the panic in the sergi/go-diff library which has not
yet been resolved. We add an error return to the ComputeEdits function
and return an error if there is a panic. I'm not sure if this is the
best approach, but it does seem better than allowing the server to
crash.

A concern would be that the user wouldn't know why their code wasn't
being formatted, but hopefully they might look through the logs and
notice the error message. At least, other features would continue
working. The best fix will definitely be the fix for the panic, but that
is not yet available.

Threading through the error return was not pretty, but I thought it was
probably worth doing since it could be needed in other situations.

Updates golang/go#42927

Change-Id: I7f0c05eb296ef9e93b4de8ef071301cdb9dce152
Reviewed-on: https://go-review.googlesource.com/c/tools/+/278775
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Trust: Rebecca Stambler <rstambler@golang.org>
2020-12-17 16:56:54 +00:00
..
analysisinternal internal/lsp/fuzzy: fix return value on no match 2020-08-28 15:37:48 +00:00
apidiff
event internal/lsp: fix some incorrect spelling 2020-11-24 11:59:21 +00:00
fakenet internal/fakenet: add a fake network connection 2020-05-27 14:27:59 +00:00
fastwalk internal/fastwalk: attempt Symlink tests on Windows 2020-05-21 21:19:27 +00:00
gocommand internal/gocommand: improve debug string 2020-11-16 17:23:50 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports internal/imports: prevent panic in imports GOMODCACHE logic 2020-12-07 18:59:00 +00:00
jsonrpc2 internal/lsp: support go1.12 2020-07-20 15:02:56 +00:00
lsp internal/lsp, gopls: recover from go-diff panics 2020-12-17 16:56:54 +00:00
memoize internal/memoize: add a final argument to Bind for cleaning up 2020-10-30 19:59:21 +00:00
packagesinternal all: use explicit -mod, -modfile fields for gocommand.Invocation 2020-10-19 17:57:15 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span internal/typesinternal: use Go 1.16 metadata for go/types errors 2020-12-07 17:42:14 +00:00
stack internal/stack: add the leak test 2020-05-27 14:25:42 +00:00
testenv internal/testenv: add a NeedsGoBuild function 2020-06-10 16:09:22 +00:00
tool
typesinternal internal/typesinternal: use Go 1.16 metadata for go/types errors 2020-12-07 17:42:14 +00:00
xcontext