1
0
mirror of https://github.com/golang/go synced 2024-09-30 20:18:33 -06:00
go/internal/lsp/source
Muir Manders 19738be007 internal/lsp/source: improve type switch case completion
Now we will filter out the types already used in other case
statements:

    switch ast.Node(nil).(type) {
    case *ast.Ident:
    case *ast.I<> // don't offer "Ident" since it has been used
    }

Note that the implementation was not able to use a map to track the
seen types.Types because we build up types.Type entries dynamically
when searching for completions (e.g. types.NewPointer() to make a
pointer type). We must use types.Identical() instead of direct pointer
equality.

Change-Id: I316638bb48bfd6802e2caea671f297d640291010
Reviewed-on: https://go-review.googlesource.com/c/tools/+/247098
Run-TryBot: Muir Manders <muir@mnd.rs>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-08-07 23:56:57 +00:00
..
call_hierarchy.go internal: add call hierarchy cmd and lsp scaffolding 2020-08-07 20:22:52 +00:00
code_lens.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
command.go internal/lsp: fix bug in extract function when highlighting full line 2020-08-07 18:02:56 +00:00
comment_test.go internal/lsp: convert comments to markdown before sending to client 2019-10-04 18:35:38 +00:00
comment.go internal/lsp: fix errors found by staticcheck 2020-03-19 19:20:54 +00:00
completion_builtin.go internal/lsp/source: simplify variadic logic in completion 2020-08-06 02:28:45 +00:00
completion_format.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +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/lsp/source: simplify variadic logic in completion 2020-08-06 02:28:45 +00:00
completion_snippet.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
completion_statements.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
completion.go internal/lsp/source: improve type switch case completion 2020-08-07 23:56:57 +00:00
deep_completion.go internal/lsp: use one context throughout completion 2020-04-06 16:51:37 +00:00
diagnostics.go internal/lsp: separate LSP files from FS files 2020-08-03 22:16:06 +00:00
extract.go internal/lsp: fix bug in extract function when highlighting full line 2020-08-07 18:02:56 +00:00
folding_range.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
format_test.go internal/lsp: handle bad formatting with CRLF line endings 2020-07-28 16:05:17 +00:00
format.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
gc_annotations.go internal/lsp: add options to control which details gc_details shows 2020-08-05 22:37:31 +00:00
highlight.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
hover.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
identifier_test.go internal/lsp/source: add a unit test for searchForEnclosing 2020-07-28 18:51:24 +00:00
identifier.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
implementation.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
options.go internal/lsp: add options to control which details gc_details shows 2020-08-05 22:37:31 +00:00
references.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
rename_check.go internal/lsp: add changeMethods logic to rename check 2020-07-13 19:50:33 +00:00
rename.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
signature_help.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
source_test.go internal/lsp: release resources for call hierarchy file requests 2020-08-07 21:04:51 +00:00
symbols.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
types_format.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
util.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00
view.go internal/lsp: watch directories in replace targets and update on changes 2020-08-07 23:35:17 +00:00
workspace_symbol.go internal/lsp: remove source.Cache 2020-08-05 22:08:24 +00:00