1
0
mirror of https://github.com/golang/go synced 2024-11-18 20:54:40 -07:00
go/internal/lsp/source
Muir Manders 5adc67163c internal/lsp: improve completions in *ast.FieldList
Now we always expect type names inside of *ast.FieldList. This expands
the previous func signature logic to also work for *ast.StructType
and *ast.InterfaceType. For example, we will now prefer type names in
cases like:

type myStruct struct { i i<> }

Also, fix a check for anonymous fields to make sure the field is
actually embedded. This fixes cases like this to properly have no
completions:

type myStruct struct { i<> i }

where this will still give type name completions:

type myStruct struct { i<> }

I introduced a new error type source.ErrIsDefinition so source_test.go
could avoid erroring out on tests that make sure definition
identifiers have no completions.

Fixes golang/go#34412.

Change-Id: Ib56cb52af639f2e2b132274d1f04f8074c0d9353
Reviewed-on: https://go-review.googlesource.com/c/tools/+/196560
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2019-09-25 22:58:16 +00:00
..
analysis.go internal/lsp: associate code action diagnostics with suggested fixes 2019-09-24 23:33:35 +00:00
completion_format.go internal/lsp: remove duplicated enums 2019-09-25 15:30:23 +00:00
completion_literal.go internal/lsp: fix merge conflict and race condition 2019-09-25 16:33:38 +00:00
completion_snippet.go internal/lsp: simplify snippet config/generation 2019-09-10 04:45:52 +00:00
completion.go internal/lsp: improve completions in *ast.FieldList 2019-09-25 22:58:16 +00:00
deep_completion.go internal/lsp: tighten up completion budget check 2019-09-17 02:32:08 +00:00
diagnostics_test.go internal/span: change URI.Filename so it just returns the filename 2019-06-10 21:39:43 +00:00
diagnostics.go internal/lsp: remove duplicated enums 2019-09-25 15:30:23 +00:00
errors.go internal/lsp: show errors when the user is in the wrong directory 2019-09-17 21:41:55 +00:00
folding_range.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +00:00
format.go internal/lsp: support running go mod tidy as a code action 2019-09-20 13:08:46 +00:00
highlight.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +00:00
hover.go internal/lsp: remove the GetToken and GetAST functions 2019-09-09 18:10:35 +00:00
identifier.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +00:00
imports_test.go internal/lsp: abstract the diff library so it can be substituted 2019-08-20 03:37:07 +00:00
imports.go internal/lsp: abstract the diff library so it can be substituted 2019-08-20 03:37:07 +00:00
options.go internal/lsp/protocol: update to protocol version 3.15 2019-09-25 02:06:47 +00:00
references.go internal/lsp: remove helpers for getting packages 2019-09-17 16:23:42 +00:00
rename_check.go internal/lsp: use memoize package to cache source.Packages 2019-08-13 21:41:43 +00:00
rename.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +00:00
signature_help.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +00:00
source_test.go internal/lsp: improve completions in *ast.FieldList 2019-09-25 22:58:16 +00:00
suggested_fix.go internal/lsp: associate code action diagnostics with suggested fixes 2019-09-24 23:33:35 +00:00
symbols.go internal/lsp: distinguish parse errors from actual errors 2019-09-17 21:21:32 +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 duplicated enums 2019-09-25 15:30:23 +00:00
view.go internal/lsp/cache: move to a model of caching in a snapshot 2019-09-25 02:06:38 +00:00