commit | 5e3480f0e07145a3a5205a5b441428066dfa3fd6 | [log] [tgz] |
---|---|---|
author | Muir Manders <muir@mnd.rs> | Tue Sep 03 13:07:13 2019 -0700 |
committer | Rebecca Stambler <rstambler@golang.org> | Tue Sep 10 20:08:16 2019 +0000 |
tree | 1da3f28401289e617c7a7db45516f2f93518f842 | |
parent | df93a1b922ffe5f0a4cf6388b54c60cdc728762a [diff] |
internal/lsp: start handling watched file deletes Now when a file is deleted we force the file's packages to refresh go/packages metadata, and kick off diagnostics. I made a couple other changes to watched file handling: - Kick off diagnostics in a goroutine to match how DidChange works. This will allow us to work through big sets of file changes faster, and will save duplicated work once type checking can be canceled. - Don't assume a watched file is only part of one view. Two interesting cases we don't handle yet: - If the deleted file was the only file in the package, we don't currently update diagnostics for dependent packages. This requires rejiggering how diagnostics are invoked a bit. - If the deleted file is still open in the editor and then later closed, we don't trigger metadata/diagnostics refresh on DidClose. Updates golang/go#31553 Change-Id: I65768614c24d9800ffea149ccdbdbd3cb7b2f3d8 Reviewed-on: https://go-review.googlesource.com/c/tools/+/193121 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Cottrell <iancottrell@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 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.