1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/usr/bin/env nomsu -V7.0.0
### 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)
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)
|