summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build_helpers/progressif.ly.io.sh40
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"
+}