65 lines
1.7 KiB
Go
65 lines
1.7 KiB
Go
package cli
|
|
|
|
import (
|
|
"fmt"
|
|
"r2go/tools"
|
|
|
|
"github.com/fatih/color"
|
|
)
|
|
|
|
// InstallMod is a CLI frontend for tools.DownloadMod.
|
|
func InstallMod(pkg string) []string {
|
|
green := color.New(color.FgGreen).SprintFunc()
|
|
magenta := color.New(color.FgMagenta).SprintFunc()
|
|
red := color.New(color.FgRed).SprintFunc()
|
|
blue := color.New(color.FgBlue).SprintFunc()
|
|
cyan := color.New(color.FgCyan).SprintFunc()
|
|
// deps := []string{}
|
|
|
|
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)
|
|
} else if stat == 3 {
|
|
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)
|
|
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()
|
|
cyan := color.New(color.FgCyan).SprintFunc()
|
|
|
|
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)
|
|
}
|