mirror of
https://github.com/golang/go
synced 2024-10-01 06:28:35 -06:00
920acffc3e
Currently array and slice literals don't work very well for completion. When go/parser is not expecting a type, it often turns array types (e.g. "[]int") into *ast.BadExpr, which messes up completion because we can't figure out the prefix from *ast.BadExpr, and *ast.BadExprs don't get type checked. This change addresses the first problem of not being able to figure out the prefix. If we see an *ast.BadExpr, we now blindly try to reparse it as a composite literal by adding on "{}". If we end up with an *ast.CompositeLit with an *ast.ArrayType "Type", we swap the *ast.BadExpr for the *ast.ArrayType. This approach is dumb but simple, and fixes lexical completions in array types. Change-Id: Ifa42e646bcbf2a30170d73e6dd11982384d40b43 Reviewed-on: https://go-review.googlesource.com/c/tools/+/197437 Run-TryBot: Rebecca Stambler <rstambler@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
24 lines
490 B
Plaintext
24 lines
490 B
Plaintext
-- summary --
|
|
CompletionsCount = 185
|
|
CompletionSnippetCount = 39
|
|
UnimportedCompletionsCount = 1
|
|
DeepCompletionsCount = 5
|
|
FuzzyCompletionsCount = 7
|
|
RankedCompletionsCount = 1
|
|
CaseSensitiveCompletionsCount = 4
|
|
DiagnosticsCount = 22
|
|
FoldingRangesCount = 2
|
|
FormatCount = 6
|
|
ImportCount = 2
|
|
SuggestedFixCount = 1
|
|
DefinitionsCount = 38
|
|
TypeDefinitionsCount = 2
|
|
HighlightsCount = 2
|
|
ReferencesCount = 6
|
|
RenamesCount = 20
|
|
PrepareRenamesCount = 8
|
|
SymbolsCount = 1
|
|
SignaturesCount = 21
|
|
LinksCount = 4
|
|
|