1
0
mirror of https://github.com/golang/go synced 2024-10-01 04:08:32 -06:00
go/internal/lsp/source
Muir Manders c07e1c6ef6 internal/lsp: improve variadic completion
Improve candidate ranking when completing the variadic parameter of
function calls.

Using the example:

func foo(strs ...string) {}

- When completing foo(<>), we prefer candidates of type []string or
  string (previously we only preferred []string).

- When completing foo("hi", <>), we prefer candidates of type
  string (previously we preferred []string).

- When completing foo(<>), we use a snippet to add on the "..."
  automatically to candidates of type []string.

I also fixed completion tests to work properly when you have multiple
notes referring to the same position. For example:

foo() //@rank(")", a, b),rank(")", a, c)

Previously the second "rank" was silently overwriting the first
because they both refer to the same ")".

Fixes golang/go#34334.

Change-Id: I4f64be44a4ccbb533fb7682738c759cbca3a93cd
Reviewed-on: https://go-review.googlesource.com/c/tools/+/205117
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-11-07 18:57:33 +00:00
..
comment_test.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
comment.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
completion_format.go internal/lsp: improve variadic completion 2019-11-07 18:57:33 +00:00
completion_keywords.go internal/lsp: add some keyword completions 2019-10-22 20:49:18 +00:00
completion_labels.go internal/lsp: fix label completion in range and type switch stmts 2019-10-22 21:33:09 +00:00
completion_literal.go internal/lsp/source: attach Package to completions when available 2019-11-05 20:21:09 +00:00
completion_snippet.go internal/lsp: don't overwrite suffix when inserting completion 2019-10-02 20:07:45 +00:00
completion.go internal/lsp: improve variadic completion 2019-11-07 18:57:33 +00:00
deep_completion.go internal/lsp/source: attach Package to completions when available 2019-11-05 20:21:09 +00:00
diagnostics.go internal/lsp: remove analyzers from Analyze result 2019-10-25 02:35:17 +00:00
errors.go internal/lsp: move the missing imports handling into the metadata 2019-09-25 23:05:17 +00:00
folding_range.go internal/lsp: rework snapshots and cache FileHandles per-snapshot 2019-10-01 16:26:22 +00:00
format.go internal/lsp/source: propose exports for unimported packages 2019-11-04 21:31:03 +00:00
highlight.go internal/lsp: stop cluttering logs with highlight errors 2019-10-07 17:20:23 +00:00
hover.go internal/lsp: don't associate package with snapshot 2019-10-23 20:24:04 +00:00
identifier.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
implementation.go internal/lsp/source: add a nil check on the identifier's object in implementation 2019-11-01 17:58:24 +00:00
imports_test.go internal/lsp/source: attach Package to completions when available 2019-11-05 20:21:09 +00:00
imports.go internal/lsp: search candidate type's package for completions 2019-10-30 06:26:58 +00:00
options.go internal/lsp: add config flag to hide debugging output 2019-11-05 20:43:22 +00:00
references.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
rename_check.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
rename.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
signature_help.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
source_test.go tools/gopls: add cmd support for symbols 2019-11-01 17:43:07 +00:00
suggested_fix.go internal/lsp: move error range computations into cache package 2019-10-21 22:12:58 +00:00
symbols.go internal/lsp: stop caching diagnostics on the package 2019-10-24 22:03:59 +00:00
tidy.go internal/lsp: support running go mod tidy as a code action 2019-09-20 13:08:46 +00:00
util.go internal/lsp: remove the pkg.view field, in preparation for CL 204079 2019-10-29 23:14:01 +00:00
view.go internal/lsp: use available type info for unimported completions 2019-11-04 21:31:10 +00:00