commit | ef1313dc6d0aa5fb2b1427480d0ca8fabd120917 | [log] [tgz] |
---|---|---|
author | Muir Manders <muir@mnd.rs> | Thu Mar 05 21:46:49 2020 -0800 |
committer | Rebecca Stambler <rstambler@golang.org> | Mon Mar 23 21:07:25 2020 +0000 |
tree | f0b1a660e0d678db3512d969b8b9dc9181d40afc | |
parent | 8849913b69713803c459cfbaedebf5fc3db7664b [diff] |
internal/lsp/source: prefer unexported and non-func candidates A common annoying mis-completion is as follows: type foo struct { field int } func (f foo) Field() int { return f.field } func (f foo) logic() { if f.f<> } Now at <> we prefer "field" over "Field()". Similarly: type foo struct { } func (f foo) DoSomething() { } func (f foo) doSomething() { } func (f foo) logic() { f.d<> } Now at <> we prefer "doSomething()" over "DoSomething()". All else being equally, you normally want private objects over public objects when the private objects are available. The same logic is applied to deep completions so we prefer "c.foo.bar" over "c.Foo().bar". Change-Id: Ic91cba7721ddb1f2a30338037693ddcce8c621f7 Reviewed-on: https://go-review.googlesource.com/c/tools/+/223877 Run-TryBot: Muir Manders <muir@mnd.rs> Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.