package repostatus import ( "encoding/json" "errors" "go.wit.com/lib/gui/shell" "go.wit.com/log" ) // go list -json -m go.wit.com/apps/go-clone@latest // go list -json -m go.wit.com/apps/go-clone@latest // { // "Path": "go.wit.com/apps/go-clone", // "Version": "v0.0.6", // "Query": "latest", // "Time": "2024-03-10T04:12:15Z", // "GoMod": "/home/jcarr/go/pkg/mod/cache/download/go.wit.com/apps/go-clone/@v/v0.0.6.mod", // "GoVersion": "1.22.0" // } func runGoList(url string) (string, error) { r := shell.RunPath("", []string{"go", "list", "-json", "-m", url + "@latest"}) log.Info("runGoList() r.Output =", r.Output) var modInfo any err := json.Unmarshal(r.Output, &modInfo) if err != nil { log.Info("runGoList() json.Unmarshal() error =", err) return "", err } log.Spew(modInfo) return "", errors.New("todo: parse json") }