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

3db8fd26 internal/lsp: use a structured format for the server's version
8694a4a1 internal/lsp/source: don't find possible interface references to types
78b15858 internal/lsp/fake: reflect on-disk changes in clean buffers
bc9fc8d8 internal/lsp: fix flickering analysis diagnostics
bc3cf281 go/loader: loosen a test assertion on go/types error messages
22bd8527 internal/lsp: remove organize imports action for go.mod
aefe0b74 internal/lsp: set correct directness when adding new requires
330dc7d2 internal/lsp/cache: assign a static temp workspace dir to the first view
b6530511 internal/lsp/cmd: delete TestDefinitionHelpExample test
ac612aff internal/lsp: fix the logic to avoid duplicate file watching
6d1a7fa3 internal/imports: handle out of range panic in modInfo
7ad286ab internal/lsp: check for nil snapshot in didModifyFiles
c64668f4 internal/lsp: do not rename in compiler directive comments
f46e4245 internal/lsp/cache: handle nil pointer exception in missing module error
3f6de077 internal/lsp: make Diagnostics.CodeDescription a pointer
3288bc1e go/analysis: add frame pointer check for vet
b53d4cbd internal/lsp/cache: check for symlinks when checking "isSubdirectory"
8860a70d internal/lsp/cache: set a 15 minute deadline on calls to packages.Load
51cde522 internal/lsp: move initialization entirely into the snapshot
1f28ee68 internal/lsp: change `go mod vendor` warning into a diagnostic
582c62ec go/analysis/singlechecker: fix whitespace in package documentation
4fc0492b internal/lsp/cache: keep a cached workspace module dir
3734b819 internal/lsp: delay longer in TestDebouncer
d36b6f68 internal/memoize: add a final argument to Bind for cleaning up
f239dba4 internal/lsp/cache: consider gopls.mod when finding workspace root
d463eb0e internal/lsp/cache: introduce a workspace abstraction
443cd81a Revert "internal/lsp: move initialization entirely into the snapshot"
deb1282f internal/lsp: move initialization entirely into the snapshot
8da1a626 internal/lsp/source/completion: remove "completion_" prefix from files
589136c8 cmd/fiximports,cmd/present,cmd/stringer: update links to pkg.go.dev
cf7a54d0 internal/lsp/source: use bestMatch for fully qualified symbol style
63f8a171 internal/lsp: use the correct method name to register semantic tokens
2feb2bb1 internal/lsp: elide details for non-package files
186a7436 internal/lsp/source: respect user's hover kind in signature help
061905c3 internal/lsp/cache: stop unnecessarily waiting for IWL
c86e6230 internal/lsp/source: add missing vet analyzers
e7a17c4c internal/lsp/cache: preserve OS environment
690a3c24 go/analysis/passes/asmdecl: permit return jump without writing to results
2c115999 internal/lsp: use the go command to fix go.mod files
49729134 internal/lsp: unify go command invocation logic
832c4b44 internal/lsp/source: tweak the WorkspaceSymbols docstring
2b84a066 internal/lsp: use gocommand.Invocation more
5bbba664 internal/lsp/source: synchronous commands the default
dc70f74c internal/lsp: correct typo
0dcbe365 gopls/doc: update links from godoc.org to pkg.go.dev
eafbe7b9 internal/lsp/protocol/typescript: code for latest 3.16 LSP
8cd080b7 internal/lsp: handle nil pointer exceptions in check for Go files
0b86805d internal/lsp: finish work when synchronous commands complete
63122083 go/internal/gccgoimporter: support notinheap annotation
8dabb740 internal/lsp: update lsp protocol stubs to match LSP 3.16 revisions
e84cfc6d all: clear GOMODCACHE in tests
c8cfbd0f internal/lsp/source: handle nil pointer in rename_check.go
2f4fa188 go/packages: use native overlay support for 1.16
ffe8bce7 cmd/stress: print elapsed time, percentage failure
13b3b307 internal/lsp/semantic.go: remove global variable
9cf592e8 all: update all dependencies to latest pseudoversions

Change-Id: I1e690a9cb361ed05cc1d184951e06b3e2099dc08
tree: 711e04284bcf0251108e62fd661d65359862d005
  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.