aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2011-08-15 19:05:52 -0700
committerRobert Griesemer <gri@golang.org>2011-08-15 19:05:52 -0700
commit0310935058e7edceb1ec42ed8518fcf0b8340bed (patch)
treec0de316d8d925adfa75e6c2ebed8bc53defbf81a
parente6ae13d35d38a19e9a0031114714a351a0d3e888 (diff)
downloadgo-0310935058e7edceb1ec42ed8518fcf0b8340bed.tar.gz
go-0310935058e7edceb1ec42ed8518fcf0b8340bed.zip
godoc: show all top-level decls for (fake) package builtin
R=r, adg CC=golang-dev https://golang.org/cl/4904045
-rw-r--r--src/cmd/godoc/godoc.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go
index e3f8ad8d36..7d4bcdc0c9 100644
--- a/src/cmd/godoc/godoc.go
+++ b/src/cmd/godoc/godoc.go
@@ -767,6 +767,10 @@ func serveFile(w http.ResponseWriter, r *http.Request) {
const fakePkgFile = "doc.go"
const fakePkgName = "documentation"
+// Fake relative package path for built-ins. Documentation for all globals
+// (not just exported ones) will be shown for packages in this directory.
+const builtinPkgPath = "builtin/"
+
type PageInfoMode uint
const (
@@ -941,7 +945,10 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
relpath := r.URL.Path[len(h.pattern):]
abspath := absolutePath(relpath, h.fsRoot)
- mode := exportsOnly
+ var mode PageInfoMode
+ if relpath != builtinPkgPath {
+ mode = exportsOnly
+ }
if r.FormValue("m") != "src" {
mode |= genDoc
}
@@ -964,7 +971,7 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
title = "Package " + info.PAst.Name.Name
case info.PDoc != nil:
switch {
- case h.isPkg:
+ case info.IsPkg:
title = "Package " + info.PDoc.PackageName
case info.PDoc.PackageName == fakePkgName:
// assume that the directory name is the command name