risk/cli/cli.go

65 lines
1.7 KiB
Go
Raw Normal View History

package cli
import (
"fmt"
"r2go/tools"
"github.com/fatih/color"
)
// InstallMod is a CLI frontend for tools.DownloadMod.
2021-01-31 06:07:37 -04:00
func InstallMod(pkg string) []string {
green := color.New(color.FgGreen).SprintFunc()
magenta := color.New(color.FgMagenta).SprintFunc()
2021-01-30 16:02:49 -04:00
red := color.New(color.FgRed).SprintFunc()
blue := color.New(color.FgBlue).SprintFunc()
2021-01-30 16:14:03 -04:00
cyan := color.New(color.FgCyan).SprintFunc()
// deps := []string{}
2021-01-30 16:14:03 -04:00
buffer := cyan(fmt.Sprint(" > ", tools.ExposeModString(pkg), "... "))
stat, ov, deps := tools.DownloadMod(tools.ExposeModString(pkg))
if stat == 1 {
buffer += green("up to date!")
} else if stat == 2 {
buffer += fmt.Sprintf("%s %s", magenta("updating to version"), ov)
2021-01-30 16:02:49 -04:00
} else if stat == 3 {
2021-01-31 07:27:29 -04:00
buffer += fmt.Sprintf("%s", red("could not find the mod specified"))
} else {
buffer += blue("downloaded")
}
// if stat != 3 {
// _, mod := api.GetModData(tools.ExposeModString(pkg))
// for _, dep := range mod.Versions[0].Dependencies {
// depString := tools.ExposeModString(dep)
// if depString != "tristanmcpherson-R2API" && depString != "bbepis-BepInExPack" {
// deps = append(deps, depString)
// }
// }
// }
fmt.Println(buffer)
2021-01-31 06:07:37 -04:00
return deps
}
// RemoveMod is a CLI frontend for tools.RemoveMod
func RemoveMod(pkg string) {
blue := color.New(color.FgBlue).SprintFunc()
red := color.New(color.FgRed).SprintFunc()
2021-01-30 16:14:03 -04:00
cyan := color.New(color.FgCyan).SprintFunc()
2021-01-30 16:14:03 -04:00
buffer := cyan(fmt.Sprint(" > ", tools.ExposeModString(pkg), "... "))
status := tools.RemoveMod(tools.ExposeModString(pkg))
if status == 2 {
buffer += red("mod not found")
} else if status == 1 {
buffer += red("not installed")
} else {
buffer += blue("uninstalled")
}
fmt.Println(buffer)
}