commit | 2c115999a7f0a208adfcbf81a0a829a0f6b0d19e | [log] [tgz] |
---|---|---|
author | Heschi Kreinick <heschi@google.com> | Tue Oct 27 15:35:36 2020 -0400 |
committer | Heschi Kreinick <heschi@google.com> | Wed Oct 28 22:47:54 2020 +0000 |
tree | 6e1664f55b15d275afb818f0a5f30ee4faeedb6c | |
parent | 49729134c3c7a07607732d00fb9aa879ed7ce5df [diff] |
internal/lsp: use the go command to fix go.mod files Modifying go.mod files directly leaves go.sum unchanged, and therefore in need of updates later. Leaving work for the users to clean up isn't ideal, so it'd be better to use the go command to make modifications. Unfortunately, the go command has something of a mind of its own. The most obvious problem is that using go get to add a new require adds a // indirect comment to that new require, and there's no way to prevent it. The only thing we can do is add the require first, then use go get to do nothing but update the go.sum file. The other inherent problem is that the go command operates on files as they exist on disk, not the in-memory versions. As discussed, we issue an error for this case. The alternative would be to work on temporary files based on the in-memory contents, but that would be much larger change, so I'd rather not at least right now. To support Commands for quick fixes, add a new Command field to source.SuggestedFix, and use it when forming the CodeAction response. Fixes golang/go#38209. Change-Id: I0c13ea39199368623e7494e222ba38587323d417 Reviewed-on: https://go-review.googlesource.com/c/tools/+/265981 Trust: Heschi Kreinick <heschi@google.com> Run-TryBot: Heschi Kreinick <heschi@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
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.
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
.
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.
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.