go/internal
Muir Manders cf2d1e09c8 internal/lsp/source: offer smart "append()" completions
Assigning a slice to the appendage of itself is common and tedious
enough to warrant a special case completion candidate. We now offer
smarter "append()" candidates:

    var foo []int
    foo = app<> // offer "append(foo, <>)"
    fo<> // offer "foo = append(foo, <>)"

The latter is only offered if the best completion candidate is a
slice. It is inserted as the second-best candidate because it seems
impossible to avoid annoying false positives if it is ranked first.

I added a new debug option to disable literal completions. This was to
clean up some test logic that was disabling snippets for all tests
just to defeat literal completions. My tests were failing mysteriously
due to having snippets disabled, and it was hard to figure out why.

Change-Id: I3e8313e00a1409840cb99d5d71c593435a7aeb71
Reviewed-on: https://go-review.googlesource.com/c/tools/+/221777
Run-TryBot: Muir Manders <muir@mnd.rs>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-05-20 22:05:37 +00:00
..
analysisinternal internal/lsp: add goreturns like functionality as quickfix 2020-04-01 19:27:44 +00:00
apidiff all: fix more typos 2019-09-11 15:13:14 +00:00
event internal/event: improve the logging of events 2020-05-11 17:49:55 +00:00
fastwalk internal/fastwalk: fix checkptr failure on Darwin 2020-02-27 19:33:42 +00:00
gocommand internal/telemetry: renaming to internal/event 2020-04-23 17:20:48 +00:00
gopathwalk internal: rationalize debug logging 2020-03-03 16:59:18 +00:00
imports internal/imports: only check first segment for . 2020-05-15 21:25:07 +00:00
jsonrpc2 internal/jsonrpc2: rename NewStream to NewRawStream 2020-05-04 15:25:39 +00:00
lsp internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
memoize internal/lsp/debug: serve cache entry counts 2020-02-03 22:21:18 +00:00
packagesinternal go/packages: add a Module field to the Package struct 2020-05-19 14:27:18 +00:00
proxydir internal/proxydir: add an internal package for file-based proxies 2020-04-13 22:35:07 +00:00
span internal/span: handle URI escaping better 2020-02-18 20:59:02 +00:00
testenv internal/testenv: tolerate missing cgo as needed 2020-05-18 19:41:03 +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