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

a9763abb internal/lsp: refactor code action go command calls
5bad4594 internal/lsp: fix godef for embedded type aliases
45586ddb internal/lsp: nest the workspace root if there is only one module
780cb80b internal/lsp: fix go.mod parse error parsing to show diagnostics
20be4ac4 internal/lsp: remove workspace packages as needed
6d151481 internal/lsp/cache: only invalidate metadata for go.mod files on save
a7380940 internal/lsp: pass a parsed module to go mod tidy
c0d5e891 internal/lsp/fake: hold the mutex for all of SaveBufferWithoutActions
be796f87 gopls/internal/regtest: handle flake in TestCRLF
0557df36 internal/lsp/source: set experimentalPackageCacheKey to true by default
4783bc9b Handle BareInits option in ssa.BuilderMode
25dc3e1c internal/lsp: handle deletion of a directory on disk
4d9c4f8a internal/lsp/mod: speed up and simplify go.mod code lenses
1727ee11 internal/lsp/cache: fix a staticcheck warning by handling error
6ed8ff9a internal/lsp: support unimported completions in multi-module mode
598b068a internal/lsp: fix end positions for multi-line comments with CRLF lines
bd56c0ad internal/lsp: use a marker test for struct field ranking test
74a3905d internal/lsp: order struct fields completions by definition
f544f6cb gopls/internal/regtest: eliminate log duplication
9036a0f9 Revert "internal/lsp: explicitly watch all known directories"
3c3a8120 internal/lsp: explicitly watch all known directories
74f2986d internal/lsp: show critical error pop-ups as progress reports
1d699438 go/packages: handle variation an an error message
6f6c72ae internal/lsp: fix capability registration for semantic tokens
d68bbb54 internal/gocommand: improve debug string
247bdb27 go/packages: start with empty environment
1a2739ce internal/lsp: get debug pages limping along again
ac45abd4 gopls/internal/regtest: update TestEditFile to use a modified buffer
9712d02b internal/lsp: add ?utm_source=gopls to links to pkg.go.dev
61ea331e internal/lsp/source: handle nil pointer exception in completion
1643af14 internal/regtest: refactor diagnostic expectation implementation
559c4acc internal/lsp: make log message for debug server clickable
eeaa07dd internal/lsp: remove gopls-<name> configuration
b3895597 internal/lsp/cache: fix InDir error comment
41a3a589 internal/lsp: fix recursive go generate pattern
5794f8bd internal/lsp: trim progress report messages
69daaf96 internal/lsp: do not treat failed go test commands as errors
7099162a internal/lsp: remove dead code
092357f6 internal/lsp/cache: disable GOPACKAGESDRIVER
f6c1dd69 internal/lsp/cache: suppress Load log spam
53e0aa82 gopls/internal/regtest: add an option to nest the workdir
079ba7bd internal/typesinternal: add a copy of the Go 1.16 go/types error codes
169ad6d6 internal/lsp: avoid diagnosing unopened non-workspace packages

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

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.