1
0
mirror of https://github.com/golang/go synced 2024-09-30 20:28:32 -06:00
go/internal
Muir Manders 2047c2d578 internal/lsp/source: complete keywords as types
Offer "struct", "interface", "map", "chan", and "func" keywords when
we expect a type. For example "var foo i<>" will offer "interface".

Because "struct" and "interface" are more often used when declaring
named types, they get a higher score in type declarations. Otherwise,
"map", "chan" and "func" get a higher score.

I also got rid of the special keyword scoring. Now keywords just use
stdScore and highScore. This makes the interplay with other types of
candidates more predictable. Keywords are offered in pretty limited
contexts, so I don't think they will be annoying.

Finally, keyword candidate score is now to be scaled properly based on
how well they match the prefix. Previously they weren't penalized for
not matching well, so there were probably some situations where
keywords were ranked too high.

Updates golang/go#34009.

Change-Id: I0b659c00a8503cd72da28853dfe54fcb67f734ae
Reviewed-on: https://go-review.googlesource.com/c/tools/+/220503
Run-TryBot: Muir Manders <muir@mnd.rs>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-03-08 01:33:38 +00:00
..
apidiff all: fix more typos 2019-09-11 15:13:14 +00:00
fastwalk internal/fastwalk: fix checkptr failure on Darwin 2020-02-27 19:33:42 +00:00
gocommand internal/gocommand: kill gracefully 2020-02-25 21:33:51 +00:00
gopathwalk internal: rationalize debug logging 2020-03-03 16:59:18 +00:00
imports internal/imports: don't set a logger unless the user has provided it 2020-03-03 21:46:25 +00:00
jsonrpc2 internal/lsp/lsprpc: clean up client session on disconnection 2020-02-24 23:23:05 +00:00
lsp internal/lsp/source: complete keywords as types 2020-03-08 01:33:38 +00:00
memoize internal/lsp/debug: serve cache entry counts 2020-02-03 22:21:18 +00:00
packagesinternal internal/lsp: add module versions from "go list" to pkg.go.dev links 2020-02-19 19:55:21 +00:00
span internal/span: handle URI escaping better 2020-02-18 20:59:02 +00:00
telemetry internal/telemetry: refactor the benchmark framework 2020-03-06 18:16:20 +00:00
testenv internal/testenv: reject the resolved 'go' command if it does not match runtime.GOROOT 2019-11-11 19:22:22 +00:00
tool internal/tool: avoid editorialization 2020-03-05 14:01:59 +00:00
xcontext internal/lsp: stop making background contexts everywhere 2019-07-11 16:38:52 +00:00