The Go programming language
Go to file
Rob Findley 49e4010bbf internal/lsp/regtest: implement formatting and organizeImports
Add two new fake editor commands: Formatting and OrganizeImports, which
delegate to textDocument/formatting and textDocument/codeAction
respectively. Use this in simple regtests, as well as on save.

Implementing this required fixing a broken assumption about text edits
in the editor: previously these edits were incrementally mutating the
buffer, but the correct implementation should simultaneously mutate the
buffer (i.e., all positions in an edit set refer to the starting buffer
state). This never mattered before because we were only operating on one
edit at a time.

Updates golang/go#36879

Change-Id: I6dec343c4e202288fa20c26df2fbafe9340a1bce
Reviewed-on: https://go-review.googlesource.com/c/tools/+/221539
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rohan Challa <rohan@golang.org>
2020-03-02 19:16:53 +00:00
benchmark/parse benchmark/parse: add unit test for String function 2019-12-16 21:43:19 +00:00
blog blog: fix swallowed error 2019-12-18 19:17:56 +00:00
cmd cmd/benchcmp: add deprecation notice 2020-02-10 18:42:41 +00:00
container/intsets all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
cover cover: error on negative numbers in profiles 2020-01-15 21:23:19 +00:00
go go/analysis/passes/nilness: detecting panic with provably nil values 2020-03-02 15:56:37 +00:00
godoc all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
gopls gopls/doc: update godoc.org to pkg.go.dev 2020-02-28 13:56:38 +00:00
imports imports: pass more of the environment 2019-12-17 00:36:01 +00:00
internal internal/lsp/regtest: implement formatting and organizeImports 2020-03-02 19:16:53 +00:00
playground playground/socket: handle multi-file present play snippets 2019-12-03 04:46:16 +00:00
present all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
refactor all: fix more typos 2019-09-11 15:13:14 +00:00
txtar txtar/archive: add unit test function for Format 2019-11-20 20:49:00 +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: create parseModHandle for storing go.mod data 2019-12-13 22:03:54 +00:00
go.sum internal/lsp: create parseModHandle for storing go.mod data 2019-12-13 22:03:54 +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.