tools/go/packages
Heschi Kreinick 63d31665e3 go/packages: add name= query
Add an implementation of name= for go list. It will be used to
implement goimports and godoc-like lookups by package name.

Imported a copy of the semver package from the stdlib to do version
comparison, and tweaked the gopathwalk API to include a hint about what
kind of source directory is being traversed.

Note that the tests, despite my best efforts, are not hermetic: go list
insists on doing version lookups in situations where it seems to me like
it shouldn't need to.

I think this implementation is ready for serious use. The one thing I'm
nervous about is that it currently does a substring match when looking
for a package name, so if you look up a package named "a" you will get
a huge number of results. This matches goimports' behavior but I don't
know if it's suitable for general use.

Change-Id: I2b7f823b74571fe30d3bd9c7dfafb4e6a40df5d3
Reviewed-on: https://go-review.googlesource.com/c/138878
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
2018-10-16 20:20:09 +00:00
..
gopackages go/packages: remove the Config.Error hook 2018-09-04 20:52:37 +00:00
testdata go/packages: add name= query 2018-10-16 20:20:09 +00:00
doc.go go/packages: remove scary warning on documentation 2018-10-15 17:50:52 +00:00
example_test.go go/packages: remove the Config.Error hook 2018-09-04 20:52:37 +00:00
external.go go/packages: do not error out for patterns that match no packages 2018-09-28 12:33:17 +00:00
golist.go go/packages: add name= query 2018-10-16 20:20:09 +00:00
golist_fallback.go go/packages: add ErrorKind field to differentiate error sources 2018-10-03 17:20:41 +00:00
golist_fallback_testmain.go go/packages: add missing test variants to fallback loader 2018-09-25 16:56:39 +00:00
packages.go go/packages: don't use os.LookupEnv 2018-10-16 15:13:54 +00:00
packages110_test.go go/packages: generate test main files from the golist fallback 2018-09-17 22:19:12 +00:00
packages_test.go go/packages: add name= query 2018-10-16 20:20:09 +00:00
packagescgo_test.go go/packages: skip TestLoadImportsC when Go has been built without cgo 2018-10-05 20:28:39 +00:00
stdlib_test.go go/packages: remove the Config.Error hook 2018-09-04 20:52:37 +00:00
visit.go go/packages: remove the Config.Error hook 2018-09-04 20:52:37 +00:00