diff --git a/dream.sh b/dream.sh index 8e23a98..884b508 100644 --- a/dream.sh +++ b/dream.sh @@ -124,19 +124,35 @@ run-silent() { check-and-install() { local pkglength="${#@}" local accum=0 + pen grey "Packages to install: $(pen green bold $pkglength)" + pkg-eval() { + for arg in "$@"; do + case "$arg" in + check) + check "$@" + ;; + err) + throw "$@" + ;; + spin) + spin bold "$@" + ;; + esac + done + } # if ! pen grey "Packages to install: $(pen green bold $pkglength)"; then # exit 1 # fi - pen grey "Packages to install: $(pen green bold $pkglength)" # for a in "$@"; do # pen red bold "DEBUG: $a" # done line for pkg in "$@"; do ((accum++)) - # local count="$(echo [${accum}/${pkglength}])" + local count="[${accum}/${pkglength}]" + echo "$count" if ! command-exists $pkg; then - spin bold "$(pen bold green '${accum}/${pkglenght} Installed')" + pkg-eval spin "$(pen bold green '${accum}/${pkglenght} Installed')" if run --err err pkg-install $pkg; then upclear check "$(pen bold green ${accum}/${pkglenght} Installed) $pkg"