1
0
mirror of https://github.com/golang/go synced 2024-11-18 10:54:40 -07:00
go/internal/lsp
Heschi Kreinick 416e8f4faf internal/imports: require valid options, move LocalPrefix up
CL 239754 eagerly initialized the environment. This turns out to be a
problem for gopls, which calls ApplyFixes with no ProcessEnv.
Reinitializing it every time seriously harmed the performance of
unimported completions. Move back to lazy initialization.

Working with invalid options has caused a lot of confusion; this is only
the most recent. We have to maintain backwards compatibility in the
externally visible API, but everywhere else we can require fully
populated options. That includes the source byte slice and the options.

LocalPrefix is really more of an Option than an attribute of the
ProcessEnv, and it is needed in ApplyFixes where we really don't want to
have to pass a ProcessEnv. Move it up to Options.

Change-Id: Ib9466c375a640a521721da4587091bf93bbdaa3c
Reviewed-on: https://go-review.googlesource.com/c/tools/+/241159
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-07-07 20:02:13 +00:00
..
analysis internal/lsp/analysis/fillstruct: support anonymous structs 2020-07-07 13:47:15 +00:00
browser internal/lsp: add version and bug commands 2019-05-11 04:16:02 +00:00
cache internal/imports: require valid options, move LocalPrefix up 2020-07-07 20:02:13 +00:00
cmd internal/lsp/cmd: change pre-filled issue header for gopls bug 2020-07-01 03:39:15 +00:00
debug internal/lsp/debug: save per-package stats in memory debug files 2020-06-19 18:00:37 +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: support opening single files 2020-07-01 22:10:12 +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: support opening single files 2020-07-01 22:10:12 +00:00
mod internal/lsp: refactor various module-specific handles in cache 2020-06-23 18:31:46 +00:00
protocol internal/lsp: bring lsp protocol stubs up to date 2020-06-11 18:15:06 +00:00
regtest all: update dependencies in go.mod file 2020-07-06 23:19:48 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/imports: require valid options, move LocalPrefix up 2020-07-07 20:02:13 +00:00
testdata all: update dependencies in go.mod file 2020-07-06 23:19:48 +00:00
tests internal/lsp: plumb fillstruct through analysis 2020-06-15 21:22:08 +00:00
code_action.go internal/lsp: plumb fillstruct through analysis 2020-06-15 21:22:08 +00:00
command.go internal/lsp: don't use -modfile for go mod commands 2020-06-22 20:30:43 +00:00
completion_test.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
completion.go internal/lsp: remove VS Code-specific completion hack 2020-06-30 15:48:51 +00:00
definition.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
diagnostics.go internal/lsp: don't use -modfile for go mod commands 2020-06-22 20:30:43 +00:00
folding_range.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
format.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
general.go internal/lsp: support opening single files 2020-07-01 22:10:12 +00:00
generate.go internal/lsp: un-export (*snapshot).Config to limit it to cache 2020-06-15 22:28:25 +00:00
highlight.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
hover.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
implementation.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
link.go internal/lsp: refactor various module-specific handles in cache 2020-06-23 18:31:46 +00:00
lsp_test.go internal/lsp: use a new temporary go.mod for every go list call 2020-06-18 02:37:23 +00:00
progress.go internal/lsp: factor out progress reporting to a new WorkDone handle 2020-04-28 20:46:18 +00:00
references.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
rename.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
server_gen.go x/tools/gopls: add support for $/progress functionality 2020-03-16 21:25:24 +00:00
server.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
signature_help.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
symbols.go internal/lsp: read files eagerly 2020-06-11 22:11:59 +00:00
text_synchronization.go internal/lsp: support opening single files 2020-07-01 22:10:12 +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/lsp: support opening single files 2020-07-01 22:10:12 +00:00