1
0
mirror of https://github.com/golang/go synced 2024-10-01 03:38:32 -06:00
go/internal/lsp/tests
Heschi Kreinick eb46839a96 internal/imports: return non-stdlib candidates from GetAllCandidates
Scan most sources, including GOPATH, the module cache, the main module,
and replace targets as appropriate. Use the cached stdlib instead of
scanning GOROOT.

We heavily cache the contents of the module cache, so performance is
decent. But we have to look at all the modules not in the module cache
too to get the right versions of modules (see
(*ModuleResolver).canonicalize), which currently isn't cached at all,
even just for a single run. That ends up being pretty expensive.

The implementation changes are relatively small; add package name
loading to scan(), cache that result, and allow callers to control what
directories are scanned so that it can skip GOROOT.

I also cleared out most of the stdlib from the unimported completion
test and added a simple external completion to it for safety's sake.

Change-Id: Id50fd4703b1126be35a000fe90719e19c3ab84bf
Reviewed-on: https://go-review.googlesource.com/c/tools/+/199178
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2019-10-21 20:45:15 +00:00
..
completion.go internal/lsp: remove duplicated enums 2019-09-25 15:30:23 +00:00
diagnostics.go internal/lsp: add a test to make sure we handle bad imports 2019-10-17 20:52:05 +00:00
tests.go internal/imports: return non-stdlib candidates from GetAllCandidates 2019-10-21 20:45:15 +00:00