The Go programming language
Go to file
Rebecca Stambler 7f7817c0f9 internal/lsp: handle breakage caused by CL 207598
textDocument/didChange events need to indicate if the change includes
the full file content or just a diff. Previously, the
contentChange.Range field was a pointer, so if it was nil, then we would
conclude that the file change was for the whole file. Now, the best we
can do is compare it to an empty range, but this still doesn't work if
you are at the beginning of a file. I think that the range needs to be a
pointer for this to work correctly.

Also, some minor changes that came up along the way while debugging:
(1) Don't close over the *cache variable for fear of pinning anything in
    memory
(2) Improve the error message when the token.File is nil
(3) Check for a nil token.File earlier

Change-Id: If9f310e92b7fb740b45e6cd3f9ca678a6fb52ff6
Reviewed-on: https://go-review.googlesource.com/c/tools/+/207906
Reviewed-by: Heschi Kreinick <heschi@google.com>
2019-11-19 22:59:52 +00:00
benchmark/parse benchmark/parse: fix cosmetic defect in error str. 2015-02-02 17:07:43 +00:00
blog blog: add support for optional analytics HTML 2019-10-02 16:18:51 +00:00
cmd cmd/godoc: don't execute go mod download when GOMOD is /dev/null 2019-11-15 17:30:08 +00:00
container/intsets x/tools/container/intsets: add LowerBound 2017-08-21 16:11:21 +00:00
cover cover: significantly improve the speed of cover.ParseProfiles 2019-10-24 07:44:52 +00:00
go go/analysis/passes/lostcancel: fix typo 2019-11-19 22:05:02 +00:00
godoc all: fix typo ("identifer" → "identifier") 2019-11-19 21:19:57 +00:00
gopls gopls/doc: expand Emacs docs 2019-11-12 19:56:55 +00:00
imports imports: allow nil Options in Process 2019-05-20 22:08:59 +00:00
internal internal/lsp: handle breakage caused by CL 207598 2019-11-19 22:59:52 +00:00
playground playground: use stdlib instead of appengine packages 2019-03-07 16:39:23 +00:00
present present: check if too few arguments to image, iframe, or video 2019-10-26 03:49:45 +00:00
refactor all: fix more typos 2019-09-11 15:13:14 +00:00
txtar txtar: promote from internal 2019-11-19 22:48:55 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore .gitignore: roll back ".gitignore: ignore emacs backup files" 2018-02-13 00:43:28 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests 2018-03-14 18:02:17 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README.md README: switch to Markdown and add links 2017-09-27 05:40:07 +00:00
codereview.cfg tools: add codereview.cfg 2015-03-18 17:04:00 +00:00
go.mod internal/lsp: use x/xerrors to create new errors 2019-08-06 19:46:56 +00:00
go.sum internal/lsp: use protocol.Ranges for source.Identifier 2019-08-29 05:14:58 +00:00

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.

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.