github.com/gsquire/gb@v0.4.4-0.20161112235727-3982dc872064/cmd/gb/doc.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 "os/exec" 7 "path/filepath" 8 9 "github.com/constabulary/gb" 10 "github.com/constabulary/gb/cmd" 11 ) 12 13 func init() { 14 registerCommand(&cmd.Command{ 15 Name: "doc", 16 UsageLine: `doc <pkg> <sym>[.<method>]`, 17 Short: "show documentation for a package or symbol", 18 Long: ` 19 Doc shows documentation for a package or symbol. 20 21 See 'go help doc'. 22 `, 23 Run: func(ctx *gb.Context, args []string) error { 24 env := cmd.MergeEnv(os.Environ(), map[string]string{ 25 "GOPATH": fmt.Sprintf("%s:%s", ctx.Projectdir(), filepath.Join(ctx.Projectdir(), "vendor")), 26 }) 27 if len(args) == 0 { 28 args = append(args, ".") 29 } 30 31 cmd := exec.Command("godoc", args...) 32 cmd.Env = env 33 cmd.Stdout = os.Stdout 34 cmd.Stderr = os.Stderr 35 return cmd.Run() 36 }, 37 SkipParseArgs: true, 38 }) 39 }