tools/godoc
aarzilli c6fca02004 godoc: handle type parameters correctly in LinkifyText
LinkifyText should not generate links to global declarations for
identifiers that are type parameters.

Because the syntactic resolver does not record the declaration for type
parameters declared in the method receiver (see
https://golang.org/issue/50956) a name lookup is used as a workaround.
This is fine here because it is only applied to undeclared indentifiers
and LinkifyText is only ever called on a single declaration at a time,
not on a full AST.

Updates golang/go#50717

Change-Id: I32f2203ce80c060ee18ca8b964a2d5fd80f41957
Reviewed-on: https://go-review.googlesource.com/c/tools/+/382714
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Alessandro Arzilli <alessandro.arzilli@gmail.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Trust: Peter Weinberger <pjw@google.com>
2022-02-14 18:01:21 +00:00
..
analysis godoc/analysis: remove deprecated analysis package 2021-10-29 00:04:41 +00:00
redirect godoc/redirect: close HTTP response bodies in TestRedirect 2022-01-28 18:44:56 +00:00
static godoc/static: add gopher/pkg.png image 2021-05-07 20:56:39 +00:00
util godoc/util: serve SVG files raw 2019-05-16 01:51:32 +00:00
vfs all: go fmt ./... 2021-02-20 03:28:52 +00:00
README.md godoc: add GoogleCN property to pages 2017-08-02 21:09:52 +00:00
corpus.go godoc: remove Corpus.testDir field 2019-09-24 05:20:46 +00:00
dirtrees.go all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
dirtrees_test.go godoc: add benchmark for directory scan 2018-04-15 15:36:21 +00:00
format.go godoc: remove leading tabs while formatting text 2019-02-05 05:01:22 +00:00
godoc.go godoc: delete GoogleCN logic 2021-03-12 18:55:53 +00:00
godoc17_test.go all: go fmt ./... 2021-02-20 03:28:52 +00:00
godoc_test.go godoc: handle type parameters correctly in LinkifyText 2022-02-14 18:01:21 +00:00
index.go all: fix typos in comments 2018-08-10 18:15:57 +00:00
index_test.go x/tools/godoc: gofmt -s -w 2017-02-15 21:42:32 +00:00
linkify.go godoc: handle type parameters correctly in LinkifyText 2022-02-14 18:01:21 +00:00
markdown.go godoc: convert Markdown files to HTML during serving 2021-02-12 16:44:11 +00:00
meta.go godoc: convert Markdown files to HTML during serving 2021-02-12 16:44:11 +00:00
page.go godoc: delete GoogleCN logic 2021-03-12 18:55:53 +00:00
parser.go godoc: re-add test for ignoring //line comments in source code 2019-05-28 20:18:05 +00:00
pres.go cmd/godoc, godoc/static: remove remnants of golang.org website 2019-11-20 19:55:55 +00:00
search.go godoc: delete GoogleCN logic 2021-03-12 18:55:53 +00:00
server.go godoc: fix addNames for generics 2022-01-06 16:18:51 +00:00
server_test.go godoc: fix addNames for generics 2022-01-06 16:18:51 +00:00
snippet.go godoc: add version info for struct fields 2018-07-17 23:22:00 +00:00
spec.go godoc: accept scanner.RawString too during EBNF parsing 2018-06-25 04:25:21 +00:00
spec_test.go godoc: accept scanner.RawString too during EBNF parsing 2018-06-25 04:25:21 +00:00
spot.go godoc: add search results that point to documentation instead of source. 2013-11-21 11:55:42 -05:00
tab.go godoc: add missing copyright 2015-04-27 04:29:37 +00:00
template.go godoc: fix test failure 2018-06-13 15:25:43 +00:00
versions.go godoc: show earliest version when identifier was added 2021-02-09 00:10:52 +00:00
versions_test.go godoc: show earliest version when identifier was added 2021-02-09 00:10:52 +00:00

README.md

godoc

This directory contains most of the code for running a godoc server. The executable lives at golang.org/x/tools/cmd/godoc.

Development mode

In production, CSS/JS/template assets need to be compiled into the godoc binary. It can be tedious to recompile assets every time, but you can pass a flag to load CSS/JS/templates from disk every time a page loads:

godoc -templates=$GOPATH/src/golang.org/x/tools/godoc/static -http=:6060

Recompiling static assets

The files that live at static/style.css, static/jquery.js and so on are not present in the final binary. They are placed into static/static.go by running go generate. So to compile a change and test it in your browser:

  1. Make changes to e.g. static/style.css.

  2. Run go generate golang.org/x/tools/godoc/static so static/static.go picks up the change.

  3. Run go install golang.org/x/tools/cmd/godoc so the compiled godoc binary picks up the change.

  4. Run godoc -http=:6060 and view your changes in the browser. You may need to disable your browser's cache to avoid reloading a stale file.