1
0
mirror of https://github.com/golang/go synced 2024-09-30 22:48:32 -06:00
go/internal/lsp/testdata
Muir Manders 4298585011 internal/lsp: provide deep completion candidates
Deep completion refers to searching through an object's fields and
methods for more completion candidates. For example:

func wantsInt(int) { }
var s struct { i int }
wantsInt(<>)

Will now give a candidate for "s.i" since its type matches the
expected type.

We limit to three deep completion results. In some cases there are
many useless deep completion matches. Showing too many options defeats
the purpose of "smart" completions. We also lower a completion item's
score according to its depth so that we favor shallower options. For
now we do not continue searching past function calls to limit our
search scope. In other words, we are not able to suggest results with
any chained fields/methods after the first method call.

Deep completions are behind the "useDeepCompletions" LSP config flag
for now.

Change-Id: I1b888c82e5c4b882f9718177ce07811e2bccbf22
GitHub-Last-Rev: 26522363730036e0b382a7bcd10aa1ed825f6866
GitHub-Pull-Request: golang/tools#100
Reviewed-on: https://go-review.googlesource.com/c/tools/+/177622
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-06-27 18:58:03 +00:00
..
analyzer internal/lsp: fix badly formatted error messages from go vet 2019-04-16 19:41:54 +00:00
anon internal/lsp: add additional tests for completion 2018-12-19 22:27:14 +00:00
bad internal/lsp: adding the test suite to the source package 2019-05-10 20:20:41 +00:00
badstmt internal/lsp: handle completion after defer, go statements 2019-04-24 22:01:01 +00:00
bar internal/lsp: fix composite literal completion 2019-05-13 22:24:33 +00:00
basiclit internal/lsp: suppress more completions in comments and literals 2019-04-24 20:52:08 +00:00
baz internal/lsp: suppress more completions in comments and literals 2019-04-24 20:52:08 +00:00
builtins internal/lsp: support builtin types without hardcoding 2019-05-01 04:50:30 +00:00
cast internal/lsp: add more testdata for completion and diagnostics 2018-11-20 06:06:34 +00:00
channel internal/lsp: apply type modifiers to completion candidate 2019-06-19 20:27:14 +00:00
comments internal/lsp: suppress more completions in comments and literals 2019-04-24 20:52:08 +00:00
complit internal/lsp: fix composite literal completion 2019-05-13 22:24:33 +00:00
constant internal/lsp: remove constant value from label and add tests 2019-05-15 19:19:14 +00:00
deepcomplete internal/lsp: provide deep completion candidates 2019-06-27 18:58:03 +00:00
errors internal/lsp: add additional tests for completion 2018-12-19 22:27:14 +00:00
foo internal/lsp: add find all references 2019-06-10 19:06:22 +00:00
format internal/lsp: switch golden files to use txtar 2019-05-08 14:59:27 +00:00
func_rank internal/lsp: handle more expected type cases 2019-05-16 16:26:11 +00:00
funcvalue internal/lsp: fix function value completions 2019-06-20 15:43:39 +00:00
godef internal/lsp: fix references for type switch vars 2019-06-19 18:18:01 +00:00
good internal/lsp: improve completion support for type assertions 2019-06-26 23:33:08 +00:00
highlights internal/lsp: add support for document highlight 2019-03-26 19:08:20 +00:00
importedcomplit internal/lsp: fix composite literal completion 2019-05-13 22:24:33 +00:00
imports internal/lsp: add some basic tests for imports 2019-06-03 23:13:51 +00:00
index internal/lsp: handle more expected type cases 2019-05-16 16:26:11 +00:00
interfacerank internal/lsp: apply type modifiers to completion candidate 2019-06-19 20:27:14 +00:00
links internal/lsp: add document link handling for import paths to godoc 2019-05-03 18:56:57 +00:00
nested_complit internal/lsp: improve composite literal completion 2019-04-23 22:28:03 +00:00
nodisk internal/lsp: a cleaner way of doing overlays 2019-04-17 21:35:05 +00:00
noparse internal/lsp: connect basic analysis functionality 2019-02-06 21:48:25 +00:00
noparse_format internal/lsp: switch golden files to use txtar 2019-05-08 14:59:27 +00:00
rank internal/lsp: handle more expected type cases 2019-05-16 16:26:11 +00:00
rename/a internal/lsp: add identifier renaming 2019-06-19 21:54:42 +00:00
selector internal/lsp: add more testdata for completion and diagnostics 2018-11-20 06:06:34 +00:00
signature internal/lsp: use builtin package for signature help 2019-05-15 13:46:40 +00:00
snippets internal/lsp: fix completion insertion 2019-05-17 18:32:58 +00:00
symbols internal/lsp: make interface methods children of the interface symbol 2019-04-24 02:46:01 +00:00
testy internal/lsp: support a file belonging to multiple packages 2019-06-26 17:56:19 +00:00
typeassert internal/lsp: improve completion support for type assertions 2019-06-26 23:33:08 +00:00
types internal/lsp: add more testdata for completion and diagnostics 2018-11-20 06:06:34 +00:00
unresolved internal/lsp: fix function value completions 2019-06-20 15:43:39 +00:00
unsafe internal/lsp: fix type checking for unsafe package 2019-06-11 19:41:53 +00:00