1
0
mirror of https://github.com/golang/go synced 2024-10-01 01:18:32 -06:00
go/internal/lsp/testdata
Muir Manders ef1313dc6d 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>
2020-03-23 21:07:25 +00:00
..
indirect internal/lsp/cmd: improve flexibility of suggested fixes 2020-03-06 14:31:35 +00:00
lsp internal/lsp/source: prefer unexported and non-func candidates 2020-03-23 21:07:25 +00:00
missingdep internal/lsp/cmd: improve flexibility of suggested fixes 2020-03-06 14:31:35 +00:00
missingtwodep internal/lsp/cmd: improve flexibility of suggested fixes 2020-03-06 14:31:35 +00:00
unused internal/lsp/cmd: improve flexibility of suggested fixes 2020-03-06 14:31:35 +00:00
upgradedep internal/lsp: add an upgrade all dependencies codelens 2020-03-02 21:30:18 +00:00