go/internal/lsp
Robert Findley 459e2b88fc internal/lsp/progress: actually close over Context in WorkDoneWriter
CL 409936 eliminated cases where we close over a Context during progress
reporting, except in one instance where it wasn't possible: the
WorkDoneWriter that must implement the io.Writer interface.

Unfortunately it contained a glaring bug that the ctx field was never
set, and the regression test for progress reporting during `go generate`
was disabled due to flakiness (golang/go#49901).

Incidentally, the fundamental problem that CL 409936 addressed may also
fix the flakiness of TestGenerateProgress.

Fix the bug, and re-enable the test.

Fixes golang/go#53781

Change-Id: Ideb99a5525667e45d2e41fcc5078699ba1e0f1a3
Reviewed-on: https://go-review.googlesource.com/c/tools/+/417115
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Robert Findley <rfindley@google.com>
Auto-Submit: Robert Findley <rfindley@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
2022-07-12 22:14:18 +00:00
..
analysis internal: remove unneeded FileSets 2022-06-06 20:47:10 +00:00
browser all: replace all usages of os/exec with golang.org/x/sys/execabs 2021-01-19 22:25:03 +00:00
bug internal/lsp: add missing bug reporting, and panic during marker tests 2022-05-31 14:14:38 +00:00
cache internal/lsp: wait for ongoing work to complete during server shutdown 2022-07-12 14:39:29 +00:00
cmd internal/lsp: initial test set up for inlay hints 2022-06-09 20:27:29 +00:00
command gopls/internal/vulncheck: include nonaffecting vulnerability info 2022-06-16 14:42:12 +00:00
debug internal/lsp/debug: reduce critical sections in trace 2022-06-17 20:37:28 +00:00
diff internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
fake internal/lsp/regtest: simplify, consolidate, and document settings 2022-07-12 16:56:46 +00:00
fuzzy gopls, internal/lsp: gofmt 2022-04-12 17:41:31 +00:00
helper internal/lsp/protocol: update LSP definitions and stubs 2021-10-05 16:44:45 +00:00
lsppos internal/lsp/lsppos: reduce allocations in NewMapper 2022-07-01 16:40:13 +00:00
lsprpc internal/lsp/regtest: don't run the connection on the test context 2022-06-10 12:48:42 +00:00
mod internal/lsp/cache: make snapshot reference counting uniform 2022-07-11 18:57:05 +00:00
progress internal/lsp/progress: actually close over Context in WorkDoneWriter 2022-07-12 22:14:18 +00:00
protocol internal/lsp: add text edits for unkeyed literals 2022-06-30 17:08:31 +00:00
regtest internal/lsp/regtest: simplify, consolidate, and document settings 2022-07-12 16:56:46 +00:00
safetoken internal/span: eliminate TokenConverter 2022-06-01 19:19:15 +00:00
snippet lsp/completion: fix literal completions with type params 2022-04-26 02:30:39 +00:00
source internal/lsp/source: use token.File-agnostic positions to dedupe refs 2022-07-12 14:39:04 +00:00
template internal/lsp: fix source.CompareDiagnostic asymmetry 2022-05-11 17:43:03 +00:00
testdata lsp/completion: fix ranking of *types.PkgName candidates 2022-07-01 14:13:48 +00:00
tests internal/lsp: add settings for inlay hints and enable 2022-06-22 17:08:41 +00:00
work internal/lsp/source: eliminate ColumnMapper.PointSpan in favor of Pos 2022-06-01 19:19:59 +00:00
README.md internal/lsp: add READMEs that describe tests, how to run tests 2020-12-03 17:03:53 +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/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
code_lens.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
command.go internal/lsp/progress: actually close over Context in WorkDoneWriter 2022-07-12 22:14:18 +00:00
completion.go internal/lsp/source: remove workaround for newline terminated files 2022-06-01 15:40:59 +00:00
completion_test.go internal/lsp/completion: move postfix completions behind option 2021-03-29 18:55:49 +00:00
debounce.go internal/lsp: adopt bcmills' suggestion for an improved debouncer API 2021-07-13 16:40:23 +00:00
debounce_test.go internal/lsp: adopt bcmills' suggestion for an improved debouncer API 2021-07-13 16:40:23 +00:00
definition.go internal/lsp: use the correct converter for mapped range offsets 2022-06-01 15:32:54 +00:00
diagnostics.go internal/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
folding_range.go all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
format.go internal/lsp: add support for formatting go.work files 2022-02-15 17:15:32 +00:00
general.go internal/lsp: wait for ongoing work to complete during server shutdown 2022-07-12 14:39:29 +00:00
highlight.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
hover.go internal/lsp: add hover for go.work use statements 2022-03-04 19:55:36 +00:00
implementation.go internal/lsp/cache: ref-count snapshots 2020-08-03 22:08:54 +00:00
inlay_hint.go internal/lsp: rename viewport to range 2022-06-23 18:17:15 +00:00
link.go internal/lsp: consolidate .go/go.mod link logic 2022-07-07 14:56:05 +00:00
lsp_test.go internal/lsp: rename viewport to range 2022-06-23 18:17:15 +00:00
references.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
rename.go internal/lsp: use placeholders with prepare rename 2022-02-15 00:29:01 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
semantic.go internal/span: make NewRange accept File, not FileSet 2022-07-06 19:40:50 +00:00
server.go internal/lsp/progress: detach context for all progress notifications 2022-06-02 20:26:04 +00:00
server_gen.go internal/lsp: support textDocument/inlayHint for parameter names 2022-06-10 19:31:11 +00:00
signature_help.go internal/lsp: update to latest version of LSP protocol 2021-02-02 11:32:59 +00:00
symbols.go internal/lsp: honor the file kind provided by clients for overlays 2022-01-13 20:54:45 +00:00
text_synchronization.go internal/lsp/cache: make snapshot reference counting uniform 2022-07-11 18:57:05 +00:00
workspace.go internal/lsp/cache: make snapshot reference counting uniform 2022-07-11 18:57:05 +00:00
workspace_symbol.go internal/lsp/source: add a new symbolStyle configuration option 2020-06-26 17:13:37 +00:00

README.md

lsp

internal/lsp provides much of the Language Server Protocol (lsp) implementation for gopls.

Documentation for users and contributors can be found in the gopls/doc directory.