refactor: add progressbar and implement package interface

This commit is contained in:
Patryk Hegenberg 2025-01-15 11:54:00 +01:00
parent 8dabf244bb
commit 0504d88775
16 changed files with 431 additions and 344 deletions

View file

@ -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
}