go/internal
Pontus Leitzler cf83efe03c internal/lsp: return err if ExecuteCommand prerequisites aren't met
Some Commands require that the buffer is saved before running them (i.e.
generate, test and toggle details). If the buffer isn't saved gopls
sends a ShowMessage request to the client. Before this change it
did not return any error from the ExecuteCommand request itself (unless
ShowMessage failed).

A progress token can be provided by the client as a part of the
ExecuteCommand request, and that is, according to the LSP spec one way
to start a WorkDoneProgress. At this point the client expects
that gopls send progress updates.

With this change, ExecuteCommand now return an error if the buffer
isn't saved, so that the client know that it shouldn't expect any
progress updates with this specific token.

Change-Id: I8a7af20a0c1532fc4ad03efd4e04bfb1a6871644
Reviewed-on: https://go-review.googlesource.com/c/tools/+/248766
Run-TryBot: Pontus Leitzler <leitzler@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2020-08-19 14:09:08 +00:00
..
analysisinternal internal/lsp: enhance fillstruct and fillreturns to fill with variables 2020-08-10 18:49:36 +00:00
apidiff all: fix more typos 2019-09-11 15:13:14 +00:00
event internal/event: improve the logging of events 2020-05-11 17:49:55 +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 all: rework goimports environment, support GOMODCACHE 2020-06-25 17:33:20 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
jsonrpc2 internal/lsp: support go1.12 2020-07-20 15:02:56 +00:00
lsp internal/lsp: return err if ExecuteCommand prerequisites aren't met 2020-08-19 14:09:08 +00:00
memoize internal/memoize: switch from GC-driven to explicit deletion 2020-08-10 19:02:17 +00:00
packagesinternal go/packages: move TypecheckCgo to packagesinternal 2020-06-10 22:20:39 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span internal/lsp: lowercase drive letters on Windows to fix file watching 2020-08-12 18:32:13 +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 internal/tool: avoid editorialization 2020-03-05 14:01:59 +00:00
typesinternal go/packages: use go115UsesCgo instead of UsesCgo 2020-06-10 21:22:23 +00:00
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00