diff options
-rw-r--r-- | build_helpers/progressif.ly.io.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/build_helpers/progressif.ly.io.sh b/build_helpers/progressif.ly.io.sh new file mode 100644 index 0000000..b163945 --- /dev/null +++ b/build_helpers/progressif.ly.io.sh @@ -0,0 +1,40 @@ +declare -A _LINENOS + +_line_count=0 + +bold_green="\033[32;1m" +bold_red="\033[31;1m" +yellow="\033[33m" +reset_font="\033[00m" + +track() { + local str=$1 + local desc=$2 + local state='*' + _LINENOS[${str}]=$_line_count + _line_count=$((_line_count + 1)) + echo "[${state}] ${desc}" +} + +trackend() { + local str=$1 + local state=$2 + local color='' + if [ "x${state}" = "xt" ]; then + state='+' + color="${bold_green}" + elif [ "x${state}" = "xf" ]; then + state='-' + color="${bold_red}" + else + state='?' + color="${yellow}" + fi + + local orig_line=${_LINENOS[${str}]} + local ret_amount=$((_line_count - orig_line)) + + echo -en "\033[s" + echo -en "\033[${ret_amount}F\033[1C${color}${state}${reset_font}" + echo -en "\033[u" +} |