/* From the documentation for the go tool, it searches for the following header when searching for packages: ysv stands for You're so Vain, the song by Carly Simon. */ package ysv import "fmt" type vcs int const ( Git vcs = iota Hg ) var vcss = [...]string{ "git", "mercurial", } var labelToVcs = map[string]vcs{ "git": Git, "mercurial": Hg, "hg": Hg, } // String returns the name of the vcs ("git", "mercurial", ...). func (v vcs) String() string { return vcss[v] } type Package struct { Vcs vcs `json":vcs"` Path string `json:"path"` Repo string `json:"repo"` } func (p Package) String() string { return fmt.Sprintf( "", p.Path, p.Vcs, p.Repo, ) }