1
0
mirror of https://github.com/golang/go synced 2024-11-18 13:04:46 -07:00
go/internal/lsp
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
..
analysis internal/lsp: enhance fillstruct and fillreturns to fill with variables 2020-08-10 18:49:36 +00:00
browser
cache internal/lsp: improve handling of non-Go folders 2020-08-17 19:03:02 +00:00
cmd internal/lsp: add incoming calls hierarchy to gopls 2020-08-13 20:36:30 +00:00
debug internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
diff internal/testenv: check that external 'diff' tool is the GNU version 2020-05-08 20:46:49 +00:00
fake internal/lsp: add a configuration to limit workspace scope to root URI 2020-08-11 01:57:04 +00:00
fuzzy internal/lsp: fix errors found by staticcheck 2020-03-19 19:20:54 +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/cmd: make -remote consistent across commands 2020-08-12 19:50:22 +00:00
mod internal/lsp/mod: add go mod vendor and go mod tidy lenses 2020-08-18 00:58:47 +00:00
protocol internal/lsp/protocol/typescript: clean up type gen documentation 2020-08-08 14:55:51 +00:00
regtest internal/lsp/mod: add go mod vendor and go mod tidy lenses 2020-08-18 00:58:47 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp/source: fix nil pointer in rename_check 2020-08-17 02:38:11 +00:00
testdata internal/lsp/mod: add go mod vendor and go mod tidy lenses 2020-08-18 00:58:47 +00:00
tests internal/lsp: add incoming calls hierarchy to gopls 2020-08-13 20:36:30 +00:00
call_hierarchy.go internal/lsp: release resources for call hierarchy file requests 2020-08-07 21:04:51 +00:00
code_action.go internal/lsp: extend the mod handle functions to handle multiple files 2020-08-12 18:23:14 +00:00
code_lens.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
command.go internal/lsp: return err if ExecuteCommand prerequisites aren't met 2020-08-19 14:09:08 +00:00
completion_test.go internal/lsp/source: improve completion in append() 2020-08-15 16:31:36 +00:00
completion.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
definition.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
diagnostics.go internal/lsp: improve handling of non-Go folders 2020-08-17 19:03:02 +00:00
folding_range.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
format.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
general.go internal/lsp: add initial workspace load notification 2020-08-14 23:09:02 +00:00
highlight.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
hover.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
implementation.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
link.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
lsp_test.go internal/lsp: add incoming calls hierarchy to gopls 2020-08-13 20:36:30 +00:00
progress_test.go internal/lsp/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
progress.go internal/lsp/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
references.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
rename.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
reset_golden.sh
server_gen.go internal/lsp/progress: refactor progress reporting 2020-08-10 15:18:52 +00:00
server.go internal/lsp: lowercase drive letters on Windows to fix file watching 2020-08-12 18:32:13 +00:00
signature_help.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
symbols.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
text_synchronization.go internal/lsp: remove extra go env GOMOD logic for single file mode 2020-08-11 17:27:22 +00:00
workspace_symbol.go internal/lsp/source: add a new symbolStyle configuration option 2020-06-26 17:13:37 +00:00
workspace.go internal/memoize: switch from GC-driven to explicit deletion 2020-08-10 19:02:17 +00:00