aboutsummaryrefslogtreecommitdiff
path: root/lib/progressbar/init.nom
blob: 9356a052a03ac31e43ab1f604eabd3b3fe2d7628 (plain)
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)