aboutsummaryrefslogtreecommitdiff
path: root/lib/progressbar/init.nom
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-01-29 16:16:45 -0800
committerBruce Hill <bruce@bruce-hill.com>2019-01-29 16:17:33 -0800
commitbc41cc3a244bf47679d1c47d17006a2aa7356bc8 (patch)
tree102ec25b54f795d7a24648faa129f4dbccef3619 /lib/progressbar/init.nom
parentfebe7e82e06e1071c312f449b1ced319ef9a6932 (diff)
Switched to have colors/utf8 be optional, fixed an issue with currently
running files leaking when errors occurred (causing spurious circular import errors), and improved tutorial.
Diffstat (limited to 'lib/progressbar/init.nom')
-rw-r--r--lib/progressbar/init.nom25
1 files changed, 19 insertions, 6 deletions
diff --git a/lib/progressbar/init.nom b/lib/progressbar/init.nom
index 98efe11..b3fb3a2 100644
--- a/lib/progressbar/init.nom
+++ b/lib/progressbar/init.nom
@@ -1,12 +1,25 @@
#!/usr/bin/env nomsu -V6.15.13.8
# A progress bar
-
+use "consolecolor"
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+test:
+ assume (0 / 1 progress bar)
+ assume (10 wide 0.5 progress bar)
+
external:
($x / $w progress bar) means:
$x = ($x clamped between 0 and $w)
- $bits = [" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█"]
- $middle = ("" if ($x == $w) else $bits.(1 + (floor ((#$bits) * ($x mod 1)))))
- return ("
- \027[0m[\027[32;40m\($bits, last, rep (floor $x))\$middle\(" ", rep ($w - ((floor $x) + 1)))\027[0m]
- ")
+ if $(COLOR ENABLED):
+ $bits = [" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█"]
+ $middle = ("" if ($x == $w) else $bits.(1 + (floor ((#$bits) * ($x mod 1)))))
+ return ("
+ \(reset color)[\(green)\($bits, last, rep (floor $x))\$middle\(" ", rep ($w - ((floor $x) + 1)))\(reset color)]
+ ")
+ ..else:
+ # Probably not unicode support either:
+ return ("
+ [\("#", rep ($x, rounded down))\("-", rep ($w - ($x, rounded down)))]
+ ")
($w wide $ progress bar) means (($ * $w) / $w progress bar)