diff options
| author | Robert Griesemer <gri@golang.org> | 2009-09-03 09:58:13 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2009-09-03 09:58:13 -0700 |
| commit | 43699f220df53ee4e3d72b4ed829055303dba5eb (patch) | |
| tree | 7f7eea70d5c9d7de7e2d74966fccfc0210cee9fd /src/cmd/godoc/godoc.go | |
| parent | 5f07a19c6ce6ab2b73e58527c55735e4c43ca1c5 (diff) | |
| download | golang-43699f220df53ee4e3d72b4ed829055303dba5eb.tar.gz | |
linkify EBNF sections in spec when served via godoc
R=rsc
DELTA=217 (216 added, 0 deleted, 1 changed)
OCL=34279
CL=34306
Diffstat (limited to 'src/cmd/godoc/godoc.go')
| -rw-r--r-- | src/cmd/godoc/godoc.go | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index c8d4941f7..d3a4bc342 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -52,7 +52,10 @@ import ( ) -const Pkg = "/pkg/" // name for auto-generated package documentation tree +const ( + Pkg = "/pkg/"; // name for auto-generated package documentation tree + Spec = "/doc/go_spec.html"; +) type delayTime struct { @@ -399,6 +402,16 @@ func serveGoSource(c *http.Conn, name string) { } +func serveGoSpec(c *http.Conn, r *http.Request) { + src, err := io.ReadFile(pathutil.Join(goroot, Spec)); + if err != nil { + http.NotFound(c, r); + return; + } + linkify(c, src); +} + + var fileServer = http.FileServer(".", ""); func serveFile(c *http.Conn, req *http.Request) { @@ -654,6 +667,7 @@ func main() { handler = loggingHandler(handler); } + http.Handle(Spec, http.HandlerFunc(serveGoSpec)); http.Handle(Pkg, http.HandlerFunc(servePkg)); if *syncCmd != "" { http.Handle("/debug/sync", http.HandlerFunc(dosync)); |
