From 6f9314220c737ea91fd728c35f0a75b500ad1889 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 25 Sep 2008 13:22:28 +0200 Subject: New function: progress (for internal use) --- etc/functions/progress | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 etc/functions/progress (limited to 'etc') diff --git a/etc/functions/progress b/etc/functions/progress new file mode 100644 index 0000000..0d0292d --- /dev/null +++ b/etc/functions/progress @@ -0,0 +1,25 @@ +## vim:ft=zsh +## progress - draw a simple progress bar +## Written 2008 by Daniel Friesel + +typeset -i current=$1 +typeset -i max=$2 +typeset desc=$3 +typeset desc2=$4 +typeset output='' +typeset currentper=$(( (current*100)/max )) +typeset c a +function item { + typeset j + for j in {0..$1}; { + (( j > 0 )) && output+=$2 + } +} +c=$(( currentper/5 )) +a=$(( 20-c )) +output+="$desc [" +item $c '=' +item $a ' ' +output+="] $currentper% $desc2" +echo -ne "\r \r" +echo -ne $output -- cgit v1.2.3