commit | c0d5e8918928cb7629f88b55682d154ba05fe942 | [log] [tgz] |
---|---|---|
author | Rebecca Stambler <rstambler@golang.org> | Thu Nov 19 12:10:21 2020 -0500 |
committer | Rebecca Stambler <rstambler@golang.org> | Thu Nov 19 19:12:46 2020 +0000 |
tree | 547dc21b8929c873ebd2ad47ad20b7790e8e4129 | |
parent | be796f87a6632647db1d99d3e0ca7801ecdb5a46 [diff] |
internal/lsp/fake: hold the mutex for all of SaveBufferWithoutActions This addresses the race seen in https://storage.googleapis.com/go-build-log/5ba1c3f2/windows-386-2008_2bf3acc7.log. Paraphrased from Rob in chat: The race is triggered because of the additional asynchronous handling of file changes added to sync non-dirty files on disk changes. The buffer is marked as non-dirty, THEN the on-disk change is processed, sending a didChange, THEN the didSave is sent (https://golang.org/cl/267577). Also, don't send didChange for formatting if nothing has changed. Change-Id: Ibc6a55d35dee99c04dadf5470c2d68ca937f849b Reviewed-on: https://go-review.googlesource.com/c/tools/+/271578 Trust: Rebecca Stambler <rstambler@golang.org> Run-TryBot: Rebecca Stambler <rstambler@golang.org> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
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.