commit | a2250d31f3d7ec4a68647c4e5a3613a3e2ebc2f5 | [log] [tgz] |
---|---|---|
author | Peter Weinbergr <pjw@google.com> | Tue Oct 13 12:45:14 2020 -0400 |
committer | Peter Weinberger <pjw@google.com> | Fri Oct 16 18:10:36 2020 +0000 |
tree | 9f8a69923d1b7262c65b85c61a633211e9bbee0e | |
parent | 7c89c52d2f529d73a4387387f875a2d35980befe [diff] |
internal/lsp: add gopls semtok command and semantic token tests The command 'gopls semtok <file>.go' produces a version of <file>.go decorated with comments describing tokens as semantic tokens. The format is described towards the top of cmd/semantictokens.go. There are also tests in testdata/semantic/. a.go is used by lsp_test.go (with -cover) to show that essentially all of semantic.go is executed. b.go illustrates the handling of strange, but legal, constructs like 'const false = nil and non-ascii'. The .golden files show the expected results. The implementation will panic, rather than log, on unexpected state. gopls semtok has been run on all the .go files in x/tools and in the source distribution. There were no unexpected messages nor panics. Change-Id: I11715bcc8d6830d1951eb58239978c4a363bbc30 Reviewed-on: https://go-review.googlesource.com/c/tools/+/262198 Run-TryBot: Peter Weinberger <pjw@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Peter Weinberger <pjw@google.com> Reviewed-by: Robert Findley <rfindley@google.com>
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.
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
.
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.
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.