[gopls-release-branch.0.6] all: merge master into gopls-release-branch.0.6

9a6582cd gopls/internal/regtest: avoid flake in TestGoModInvalidesOnSave
f618651c internal/lsp/cache: compare file size when invalidating file cache
7646fae9 internal/lsp/fake: use hash rather than mtime to identify workdir files
45115c1c internal/lsp/source: rename uses of embedded fields
1e6ecd4b go/packages: don't crash if given an invalid overlay
88ba5d0b internal/imports: handle un-downloaded modules
d33bae44 copyright: test that all files in the repo have copyright notices
1b1bb645 gopls/doc/emacs.md: describe configuration for eglot
7905ceac internal/lsp/cmd: add licenses command
9c811dba gopls/internal/hooks: create included licenses text
1462c254 gopls/internal/regtest: fix TestUnimportedCompletions
e1c06e46 gopls: use standard command doc comment format
21398c4d Revert "go/analysis/passes/structtag: recognize multiple keys per tag"
5bd8423e internal/lsp/cache: fix panic in GOPATH mode
6f6e4b65 internal/lsp/cache: fix module paths in nested module error messages
7de0487e gopls/internal/regtest: skip regtests on android-amd64-emu
92778473 all: add copyright notices to files that are missing them
5d655790 go/packages: remove -mod, -modfile flags from build flags for go version
b8e0803c internal/lsp/source: return all field funcs from outgoing callhierarchy
6c3993fd gopls: update link to nvim-lspconfig gopls configuration
66568f37 gopls/doc: add additional information on CI in contributing.md
961d08dc gopls: bump gofumpt to v0.1.0
2e889ff4 gopls/internal/regtest: support multiple workspace folders
eb9b40eb cmd/goyacc: double ACTSIZE, NSTATE and TEMPSTATE
2993f551 internal/lsp: avoid panic during interface assertion
c4dccaf3 go/analysis/passes/fieldalignment: add command
9ca8607e internal/lsp: save all possible keys for analyses, codelenses
d2d86cca internal/lsp: restructure user options (CL 278433 continued)

Change-Id: I9ee4b4ad55369caa697e0527bfc61c553e40bbe4
tree: 75d3f10289e09aab8348e21187bdab248fe37718
  1. benchmark/
  2. blog/
  3. cmd/
  4. container/
  5. copyright/
  6. cover/
  7. go/
  8. godoc/
  9. gopls/
  10. imports/
  11. internal/
  12. playground/
  13. present/
  14. refactor/
  15. txtar/
  16. .gitattributes
  17. .gitignore
  18. .prettierrc
  19. AUTHORS
  20. codereview.cfg
  21. CONTRIBUTING.md
  22. CONTRIBUTORS
  23. go.mod
  24. go.sum
  25. LICENSE
  26. PATENTS
  27. README.md
README.md

Go Tools

PkgGoDev

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.

JS/CSS Formatting

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.

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.