1
0
mirror of https://github.com/golang/go synced 2024-11-18 16:44:43 -07:00
go/internal/lsp
Muir Manders 2ef0387721 internal/lsp/source: fix unimported member completion ranking
When completing members on a type checked, unimported package, you get
fully typed members. That means you get deep completions. Because we
downrank the initial unimported package members so much, any deep
completions were dominating the rankings. For example

    context.Back<>

yielded "context.Background().Err" ranked above "context.Background".
Fix by scoring context.Background in this example as
stdScore+tinyRelevanceScore instead of just tinyRelevanceScore. I also
changed untyped candidate scores in the same way so they stay
competitive when you have both imported and unimported candidates.

The other option was to propagate the score penalty into deep
candidates, but that wasn't easy. In general I think you are better off
avoiding big score penalties because they complicate the interplay
between different kinds of candidates. Scoring needs an overhaul, but
at least we are building up our test suite in the meantime.

Change-Id: Ia5d32c057b04174229686cec6ac0542c30e186e2
Reviewed-on: https://go-review.googlesource.com/c/tools/+/218378
Run-TryBot: Muir Manders <muir@mnd.rs>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
2020-02-10 18:17:33 +00:00
..
browser
cache internal/lsp/cache: refactor functions that return PackageHandles 2020-02-07 22:39:43 +00:00
cmd internal/lsp: change debug instance to a struct 2020-02-07 11:26:02 +00:00
debug internal/lsp: change debug instance to a struct 2020-02-07 11:26:02 +00:00
diff internal/lsp: fix unified diffs of edits at the end of a file 2019-10-11 16:38:14 +00:00
fake internal/lsp/lsprpc: add test for definition outside of workspace 2020-02-10 17:53:45 +00:00
fuzzy internal/lsp: make golint happy 2019-12-23 18:17:04 +00:00
helper internal/lsp: change to helper.go to output a formatted file 2020-01-31 20:35:38 +00:00
lsprpc internal/lsp/lsprpc: add test for definition outside of workspace 2020-02-10 17:53:45 +00:00
mod internal/lsp/cache: improve ModTidyHandle cache key 2020-02-07 18:07:39 +00:00
protocol internal/lsp: refactor LSP server instantiation 2020-02-06 23:12:37 +00:00
snippet all: fix broken links to LSP specification 2019-10-02 18:32:53 +00:00
source internal/lsp/source: fix unimported member completion ranking 2020-02-10 18:17:33 +00:00
telemetry internal/lsp: log snapshot IDs, don't log context cancellation 2020-01-27 19:20:44 +00:00
testdata internal/lsp/source: fix unimported member completion ranking 2020-02-10 18:17:33 +00:00
tests internal/lsp/tests: move workspace symbol test helpers functions into util.go 2020-02-07 21:23:39 +00:00
code_action.go internal/lsp: add quickfixes for missing dependencies in go.mod 2020-02-07 00:16:14 +00:00
command.go internal/lsp: build overlays through the snapshot 2020-02-07 18:37:49 +00:00
completion_test.go internal/lsp: filter keyword completions in tests 2020-02-06 05:08:30 +00:00
completion.go internal/lsp: consolidate completion sorting 2020-01-17 20:30:43 +00:00
definition.go internal/lsp: don't show links in hover for test functions 2020-02-03 21:56:10 +00:00
diagnostics.go internal/lsp: don't use overlays from the session in the snapshot 2020-02-07 19:21:16 +00:00
folding_range.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
format.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
general.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
highlight.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
hover.go internal/lsp: don't show links in hover for test functions 2020-02-03 21:56:10 +00:00
implementation.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
link.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
lsp_test.go internal/lsp: build overlays through the snapshot 2020-02-07 18:37:49 +00:00
references.go internal/lsp: refactor find-references and rename 2020-01-16 06:24:15 +00:00
rename.go internal/lsp: refactor find-references and rename 2020-01-16 06:24:15 +00:00
reset_golden.sh internal/lsp: fix regeneration of golden files 2019-09-25 13:16:59 +00:00
server_gen.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
server.go internal/lsp: refactor LSP server instantiation 2020-02-06 23:12:37 +00:00
signature_help.go internal/lsp: remove unnecessary source.SignatureInformation type 2020-02-06 19:05:38 +00:00
symbols.go internal/lsp: remove view.FindPosInPackage and view.FindMapperInPackage 2020-01-13 18:51:11 +00:00
text_synchronization.go internal/lsp: don't use overlays from the session in the snapshot 2020-02-07 19:21:16 +00:00
workspace_symbol.go internal/lsp: add support for workspace symbol 2020-02-05 19:03:17 +00:00
workspace.go internal/lsp: generate boilerplate stubs for type Server 2020-01-24 14:41:51 +00:00