go/internal/lsp/source
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
..
code_lens.go internal/lsp: add Regenerate Cgo code lens 2020-05-15 22:01:28 +00:00
comment.go internal/lsp: fix errors found by staticcheck 2020-03-19 19:20:54 +00:00
comment_test.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
completion.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
completion_builtin.go internal/lsp: use one context throughout completion 2020-04-06 16:51:37 +00:00
completion_format.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
completion_keywords.go internal/lsp/source: offer loop keyword completions in range stmt 2020-03-12 04:57:24 +00:00
completion_labels.go internal/lsp: use one context throughout completion 2020-04-06 16:51:37 +00:00
completion_literal.go internal/telemetry: renaming to internal/event 2020-04-23 17:20:48 +00:00
completion_snippet.go internal/lsp: merge completion options into source.Options 2020-01-13 20:09:44 +00:00
completion_statements.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
deep_completion.go internal/lsp: use one context throughout completion 2020-04-06 16:51:37 +00:00
diagnostics.go internal/lsp: make sure diagnostics only refer to existing files 2020-05-07 02:01:22 +00:00
folding_range.go internal/lsp/cache: add file contents to ParseGoHandle 2020-02-13 05:05:14 +00:00
format.go internal/lsp: fix new bug duplicating comments after includes 2020-05-19 20:57:26 +00:00
format_test.go internal/lsp: fix new bug duplicating comments after includes 2020-05-19 20:57:26 +00:00
highlight.go internal/lsp: use %w in error wrappers 2020-05-04 14:52:14 +00:00
hover.go internal/lsp: fix docs on hover for var/const blocks 2020-05-18 19:53:06 +00:00
identifier.go internal/lsp/source: handle nil pointer in package name hover 2020-05-11 19:44:01 +00:00
implementation.go internal/event: renaming the main event API functions 2020-04-23 17:21:36 +00:00
options.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
references.go internal/event: renaming the main event API functions 2020-04-23 17:21:36 +00:00
rename.go internal/event: renaming the main event API functions 2020-04-23 17:21:36 +00:00
rename_check.go internal/lsp/source: remove unused parameters from functions 2020-03-27 18:57:18 +00:00
signature_help.go internal/lsp: use %w in error wrappers 2020-05-04 14:52:14 +00:00
source_test.go internal/lsp/source: offer smart "append()" completions 2020-05-20 22:05:37 +00:00
symbols.go internal/lsp: use %w in error wrappers 2020-05-04 14:52:14 +00:00
types_format.go internal/lsp: return in the default case in cloneExpr 2020-05-09 03:07:07 +00:00
util.go internal/lsp: refactor code for formatting signatures 2020-04-22 20:52:58 +00:00
view.go go/packages: add a Module field to the Package struct 2020-05-19 14:27:18 +00:00
workspace_symbol.go internal/lsp: add config option for SymbolMatch 2020-05-11 19:58:58 +00:00