mirror of
https://github.com/golang/go
synced 2024-09-30 20:18:33 -06:00
7c0525f229
When a signature doesn't name its params, we make up param names when generating a corresponding func literal: var f func(myType) // no param name f = fun<> // completes to "func(mt myType) {}" Previously we would abbreviate named types and fall back to "_" for builtins or repeated names. We would require placeholders to be enabled when using "_" so the user could name the param easily. That left users that don't use placeholders with no completion at all in this case. I made the following improvements: - Generate a name for all params. For builtin types we use the first letter, e.g. "i" for "int", "s" for "[]string". If a name is repeated, we append incrementing numeric suffixes. For example, "func(int, int32)" becomes "func(i1 int, i2 int32"). - No longer require placeholders to be enabled in any case. - Fix handling of alias types so the param name and type name are based on the alias, not the aliasee. I also tweaked formatVarType to qualify packages using a types.Qualifier. I needed it to respect a qualifier that doesn't qualify anything so I could format e.g. "http.Response" as just "Response" to come up with param names. Fixes golang/go#38416. Change-Id: I0ce8a0a4e2485dda41a0aa696d9fd48bea595869 Reviewed-on: https://go-review.googlesource.com/c/tools/+/246262 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org> |
||
---|---|---|
.. | ||
call_hierarchy.go | ||
code_lens.go | ||
command.go | ||
comment_test.go | ||
comment.go | ||
completion_builtin.go | ||
completion_format.go | ||
completion_keywords.go | ||
completion_labels.go | ||
completion_literal.go | ||
completion_snippet.go | ||
completion_statements.go | ||
completion.go | ||
deep_completion_test.go | ||
deep_completion.go | ||
diagnostics.go | ||
extract.go | ||
folding_range.go | ||
format_test.go | ||
format.go | ||
gc_annotations.go | ||
highlight.go | ||
hover.go | ||
identifier_test.go | ||
identifier.go | ||
implementation.go | ||
options.go | ||
references.go | ||
rename_check.go | ||
rename.go | ||
signature_help.go | ||
source_test.go | ||
symbols.go | ||
types_format.go | ||
util.go | ||
view.go | ||
workspace_symbol.go |