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> |
||
---|---|---|
benchmark/parse | ||
blog | ||
cmd | ||
container/intsets | ||
cover | ||
go | ||
godoc | ||
gopls | ||
imports | ||
internal | ||
playground | ||
present | ||
refactor | ||
txtar | ||
.gitattributes | ||
.gitignore | ||
.prettierrc | ||
AUTHORS | ||
codereview.cfg | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
go.mod | ||
go.sum | ||
LICENSE | ||
PATENTS | ||
README.md |
Go Tools
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go
distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with
go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
Download/Install
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can
also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
JS/CSS Formatting
This repository uses prettier to format JS and CSS files.
The version of prettier
used is 1.18.2.
It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.
Report Issues / Send Patches
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/tools/(your subdir):" in the subject line, so it is easy to find.