refactor: add progressbar and implement package interface
This commit is contained in:
parent
8dabf244bb
commit
0504d88775
16 changed files with 431 additions and 344 deletions
14
utils.go
14
utils.go
|
|
@ -9,6 +9,7 @@ import (
|
|||
"runtime"
|
||||
|
||||
"github.com/charmbracelet/huh"
|
||||
"github.com/schollz/progressbar/v3"
|
||||
)
|
||||
|
||||
func getSudoPassword() (string, error) {
|
||||
|
|
@ -87,3 +88,16 @@ func executeShellCommand(command string, env string) error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func installWithProgress(manager PackageManager, packages []string) error {
|
||||
bar := progressbar.Default(int64(len(packages)), "Installiere "+manager.Name()+"-Pakete...")
|
||||
for _, pkg := range packages {
|
||||
// fmt.Printf("Installing %s...\n", pkg)
|
||||
err := manager.InstallPackage(pkg)
|
||||
if err != nil {
|
||||
fmt.Printf("Error installing %s: %v\n", pkg, err)
|
||||
}
|
||||
bar.Add(1)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue