The Go programming language
Go to file
Rob Findley 03e951c4ab internal/lsp/source: add an experimental new cache key for packages
We've recently noted that hashing the packages.Config into the cache key
for the type checked package is probably unnecessary, given that all the
other critical inputs into the typechecker are already included
(packageID, parsed files, and deps). Furthermore, when using a gopls
daemon this causes unnecessary cache misses, because the packages.Config
includes things like working directory that no longer matter once other
inputs to type checking have been computed.

Add an experiment flag that removes the packages.Config from the cache
key. An experiment is used to stage this change as comprehensively
testing the cache is ~impossible.

Change-Id: I7ba73daaa71a80ec996decaa9817ec515b5eeb6e
Reviewed-on: https://go-review.googlesource.com/c/tools/+/260737
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Robert Findley <rfindley@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
2020-10-08 17:20:56 +00:00
benchmark/parse benchmark/parse: add unit test for String function 2019-12-16 21:43:19 +00:00
blog blog: use serial comma in long author lists 2020-03-25 19:41:47 +00:00
cmd cmd/bundle: expand test coverage to all modes 2020-09-29 17:50:58 +00:00
container/intsets all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
cover cover: fix sorting of profile segment boundaries 2020-09-16 14:01:29 +00:00
go go/analysis/analysistest: fix issue in RunWithSuggestedFixes on a package with tests 2020-10-06 17:48:53 +00:00
godoc all: replace 'the the ' with 'the ' 2020-09-21 21:00:52 +00:00
gopls internal/lsp/source: add an experimental new cache key for packages 2020-10-08 17:20:56 +00:00
imports internal/imports: require valid options, move LocalPrefix up 2020-07-07 20:02:13 +00:00
internal internal/lsp/source: add an experimental new cache key for packages 2020-10-08 17:20:56 +00:00
playground playground/socket: remove the os cleanup from start method of process 2020-09-03 00:54:29 +00:00
present x/tools/present: point to instagram sted twitter for Renee French 2020-03-30 04:01:39 +00:00
refactor all: fix tests in preparation for GO111MODULE=on by default 2020-09-17 22:14:52 +00:00
txtar txtar/archive: add unit test function for Format 2019-11-20 20:49:00 +00:00
.gitattributes
.gitignore
.prettierrc all: add a section on JS/CSS formatting to README 2020-05-28 15:31:34 +00:00
AUTHORS
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests 2018-03-14 18:02:17 +00:00
CONTRIBUTORS
LICENSE
PATENTS
README.md all: add a section on JS/CSS formatting to README 2020-05-28 15:31:34 +00:00
codereview.cfg
go.mod tools, gopls: update Go versions in go.mod files to 1.12 2020-09-14 22:26:08 +00:00
go.sum all: update dependencies in tools and gopls modules 2020-08-31 20:39:04 +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.

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.