-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdemo.lisp
executable file
·38 lines (29 loc) · 1.03 KB
/
demo.lisp
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
26
27
28
29
30
31
32
33
34
35
36
37
38
(asdf:load-asd "progressons.asd")
(ql:quickload '("progressons" "termp"))
(in-package :progressons)
;; base case
(loop for line in (progressbar (list 1 2 3 4 5)) do (sleep 0.3) (step!))
(terpri)
;; rainbow mode, random colors
;; Only shows progress on Emacs.
(loop for line in (progressbar 60 :rainbow t) do (sleep 0.01) (step!))
(terpri)
;; test with a larger set
(loop for elt in (progressbar (loop for i from 1 to 200 collect i)) do (sleep 0.005) (step!))
(loop for elt in (progressbar (loop for i from 1 to 200 collect i) :rainbow t) do (sleep 0.005) (step!))
(terpri)
;; an ascii bar character
(loop for line in (progressbar (list 1 2 3 4 5) :bar ">") do (sleep 0.3) (step!))
(terpri)
;; rainbow and custom bar together
(loop for line in (progressbar 60 :rainbow t :bar "*") do (sleep 0.01) (step!))
(terpri)
;; (experimetal)
;; make-progress accepts an integer.
(loop for line in (progressbar 40) do (sleep 0.05) (step!))
(let ((*progress* (make-progress 5)))
(dotimes (i 5)
do (sleep 0.3)
(step!)))
(when (termp)
(uiop:quit))