mirror of
https://github.com/golang/go
synced 2024-11-22 02:14:40 -07:00
godoc: make commandline use work again
R=rsc CC=golang-dev https://golang.org/cl/216054
This commit is contained in:
parent
a5c29da313
commit
cf743c1be6
@ -1100,14 +1100,12 @@ type httpHandler struct {
|
||||
}
|
||||
|
||||
|
||||
// getPageInfo returns the PageInfo for a package directory path. If
|
||||
// getPageInfo returns the PageInfo for a package directory dirname. If
|
||||
// the parameter try is true, no errors are logged if getPageInfo fails.
|
||||
// If there is no corresponding package in the directory, PageInfo.PDoc
|
||||
// is nil. If there are no subdirectories, PageInfo.Dirs is nil.
|
||||
//
|
||||
func (h *httpHandler) getPageInfo(relpath string, try bool) PageInfo {
|
||||
dirname := absolutePath(relpath, h.fsRoot)
|
||||
|
||||
func (h *httpHandler) getPageInfo(dirname, relpath string, try bool) PageInfo {
|
||||
// filter function to select the desired .go files
|
||||
filter := func(d *os.Dir) bool {
|
||||
// If we are looking at cmd documentation, only accept
|
||||
@ -1129,9 +1127,7 @@ func (h *httpHandler) getPageInfo(relpath string, try bool) PageInfo {
|
||||
|
||||
// Get the best matching package: either the first one, or the
|
||||
// first one whose package name matches the directory name.
|
||||
// The package name is the directory name within its parent
|
||||
// (use dirname instead of path because dirname is clean; i.e.
|
||||
// has no trailing '/').
|
||||
// The package name is the directory name within its parent.
|
||||
_, pkgname := pathutil.Split(dirname)
|
||||
var pkg *ast.Package
|
||||
for _, p := range pkgs {
|
||||
@ -1177,7 +1173,8 @@ func (h *httpHandler) ServeHTTP(c *http.Conn, r *http.Request) {
|
||||
}
|
||||
|
||||
relpath := r.URL.Path[len(h.pattern):]
|
||||
info := h.getPageInfo(relpath, false)
|
||||
abspath := absolutePath(relpath, h.fsRoot)
|
||||
info := h.getPageInfo(abspath, relpath, false)
|
||||
|
||||
if r.FormValue("f") == "text" {
|
||||
contents := applyTemplate(packageText, "packageText", info)
|
||||
|
@ -224,11 +224,11 @@ func main() {
|
||||
packageText = packageHTML
|
||||
}
|
||||
|
||||
info := pkgHandler.getPageInfo(flag.Arg(0), true)
|
||||
info := pkgHandler.getPageInfo(flag.Arg(0), flag.Arg(0), true)
|
||||
|
||||
if info.PDoc == nil && info.Dirs == nil {
|
||||
// try again, this time assume it's a command
|
||||
info = cmdHandler.getPageInfo(flag.Arg(0), false)
|
||||
info = cmdHandler.getPageInfo(flag.Arg(0), flag.Arg(0), false)
|
||||
}
|
||||
|
||||
if info.PDoc != nil && flag.NArg() > 1 {
|
||||
|
Loading…
Reference in New Issue
Block a user