diff options
| author | Ondřej Surý <ondrej@sury.org> | 2011-08-03 16:54:30 +0200 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2011-08-03 16:54:30 +0200 |
| commit | 28592ee1ea1f5cdffcf85472f9de0285d928cf12 (patch) | |
| tree | 32944e18b23f7fe4a0818a694aa2a6dfb1835463 /src/cmd/godoc/main.go | |
| parent | e836bee4716dc0d4d913537ad3ad1925a7ac32d0 (diff) | |
| download | golang-28592ee1ea1f5cdffcf85472f9de0285d928cf12.tar.gz | |
Imported Upstream version 59upstream/59
Diffstat (limited to 'src/cmd/godoc/main.go')
| -rw-r--r-- | src/cmd/godoc/main.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cmd/godoc/main.go b/src/cmd/godoc/main.go index 967ea8727..51fcf8dd0 100644 --- a/src/cmd/godoc/main.go +++ b/src/cmd/godoc/main.go @@ -31,6 +31,7 @@ import ( "flag" "fmt" "go/ast" + "go/build" "http" _ "http/pprof" // to serve /debug/pprof/* "io" @@ -222,6 +223,10 @@ func main() { flag.Usage = usage flag.Parse() + // Determine file system to use. + // TODO(gri) Complete this - for now we only have one. + fs = OS + // Clean goroot: normalize path separator. *goroot = filepath.Clean(*goroot) @@ -328,7 +333,10 @@ func main() { } relpath := path abspath := path - if !filepath.IsAbs(path) { + if t, pkg, err := build.FindTree(path); err == nil { + relpath = pkg + abspath = filepath.Join(t.SrcDir(), pkg) + } else if !filepath.IsAbs(path) { abspath = absolutePath(path, pkgHandler.fsRoot) } else { relpath = relativeURL(path) |
