From 716d775d5fac70fce8b22b13d3023f4f539fa9ed Mon Sep 17 00:00:00 2001 From: morganamilo Date: Mon, 19 Feb 2018 17:01:19 +0000 Subject: [PATCH] Improve formatting Ignorepkg also colours version differences like the upgrade menu Tweaked formatting when asking for users to eneter number --- cmd.go | 5 ++--- upgrade.go | 57 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/cmd.go b/cmd.go index b2752167..2a54afed 100644 --- a/cmd.go +++ b/cmd.go @@ -593,9 +593,8 @@ func numberMenu(pkgS []string, flags []string) (err error) { aurQ.printSearch(numpq + 1) } - fmt.Println(greenFg("Type the numbers or ranges (e.g. 1-10) you want to install. " + - "Separate each one of them with a space.")) - fmt.Print("Numbers: ") + fmt.Println(boldGreenFg(arrow) + boldGreenFg(" Packages to not upgrade (eg: 1 2 3, 1-3 or ^4)")) + fmt.Print(boldGreenFg(arrow + " ")) reader := bufio.NewReader(os.Stdin) numberBuf, overflow, err := reader.ReadLine() if err != nil || overflow { diff --git a/upgrade.go b/upgrade.go index d1c3da17..73d3dbaa 100644 --- a/upgrade.go +++ b/upgrade.go @@ -56,12 +56,34 @@ func (u upSlice) Less(i, j int) bool { return false } +func getVersionDiff(oldVersion, newversion string) (left, right string) { + old, errOld := pkgb.NewCompleteVersion(oldVersion) + new, errNew := pkgb.NewCompleteVersion(newversion) + + if errOld != nil { + left = redFg("Invalid Version") + } + if errNew != nil { + right = redFg("Invalid Version") + } + + if errOld == nil && errNew == nil { + if old.Version == new.Version { + left = string(old.Version) + "-" + redFg(string(old.Pkgrel)) + right = string(new.Version) + "-" + greenFg(string(new.Pkgrel)) + } else { + left = redFg(string(old.Version)) + "-" + string(old.Pkgrel) + right = boldGreenFg(string(new.Version)) + "-" + string(new.Pkgrel) + } + } + + return +} + // Print prints the details of the packages to upgrade. func (u upSlice) Print(start int) { for k, i := range u { - old, errOld := pkgb.NewCompleteVersion(i.LocalVersion) - new, errNew := pkgb.NewCompleteVersion(i.RemoteVersion) - var left, right string + left, right := getVersionDiff(i.LocalVersion, i.RemoteVersion) f := func(name string) (output string) { if alpmConf.Options&alpm.ConfColor == 0 { @@ -76,26 +98,6 @@ func (u upSlice) Print(start int) { fmt.Print(yellowFg(fmt.Sprintf("%2d ", len(u)+start-k-1))) fmt.Print(f(i.Repository), "/", boldWhiteFg(i.Name)) - if errOld != nil { - left = redFg("Invalid Version") - } else { - if old.Version == new.Version { - left = string(old.Version) + "-" + redFg(string(old.Pkgrel)) - } else { - left = redFg(string(old.Version)) + "-" + string(old.Pkgrel) - } - } - - if errNew != nil { - right = redFg("Invalid Version") - } else { - if old.Version == new.Version { - right = string(new.Version) + "-" + greenFg(string(new.Pkgrel)) - } else { - right = boldGreenFg(string(new.Version)) + "-" + string(new.Pkgrel) - } - } - w := 70 - len(i.Repository) - len(i.Name) + len(left) fmt.Printf(fmt.Sprintf("%%%ds", w), fmt.Sprintf("%s -> %s\n", left, right)) @@ -167,7 +169,7 @@ func upDevel(remote []alpm.Package, packageC chan upgrade, done chan bool) { fmt.Print(yellowFg("Warning: ")) fmt.Printf("%s ignoring package upgrade (%s => %s)\n", pkg.Name(), pkg.Version(), "git") } else { - packageC <- upgrade{e.Package, "devel", e.SHA[0:6], "git"} + packageC <- upgrade{e.Package, "devel", pkg.Version() , "commit-" + e.SHA[0:6]} } } else { removeVCSPackage([]string{e.Package}) @@ -203,8 +205,9 @@ func upAUR(remote []alpm.Package, remoteNames []string, dt *depTree) (toUpgrade if (config.TimeUpdate && (int64(aurPkg.LastModified) > pkg.BuildDate().Unix())) || (alpm.VerCmp(pkg.Version(), aurPkg.Version) < 0) { if pkg.ShouldIgnore() { + left, right := getVersionDiff(pkg.Version(), aurPkg.Version) fmt.Print(yellowFg("Warning: ")) - fmt.Printf("%s ignoring package upgrade (%s => %s)\n", pkg.Name(), pkg.Version(), aurPkg.Version) + fmt.Printf("%s ignoring package upgrade (%s => %s)\n", pkg.Name(), left, right) } else { packageC <- upgrade{aurPkg.Name, "aur", pkg.Version(), aurPkg.Version} } @@ -306,8 +309,8 @@ func upgradePkgs(dt *depTree) (stringSet, stringSet, error) { aurUp.Print(1) if !config.NoConfirm { - fmt.Println(greenFg("Enter packages you don't want to upgrade.")) - fmt.Print("Numbers: ") + fmt.Println(boldGreenFg(arrow) + greenFg(" Packages to not upgrade (eg: 1 2 3, 1-3 or ^4)")) + fmt.Print(boldGreenFg(arrow + " ")) reader := bufio.NewReader(os.Stdin) numberBuf, overflow, err := reader.ReadLine()