text-draw
2025-06-22
A utility library to draw nice presentations in pure text.
Upstream URL
Author
Yukari Hafner <shinmera@tymoon.eu>
Maintainer
Yukari Hafner <shinmera@tymoon.eu>
License
zlib
## About Text-Drawing
This library implements some functions to draw graphics using pure Unicode text only. The intention is to allow you to create more meaningful debugging output in things like ``describe`` or documentation.
## How To
You can print things with the ``style``, ``fill``, ``table``, ``tree``, ``node``, ``box``, ``align``, ``progress``, ``check``, ``radio``, ``line``, and ``plot`` functions. Once you have something drawn, you can transform that with ``pad``, ``translate``, ``composite``, ``rows``, and ``compose``.
:: common lisp
(compose T
(0 0 (fill 40 15 :background :gray))
(1 1 (box (rows (check T :label "Implement")
(check T :label "Document")
(check NIL :label "Publish"))
:align :left))
(25 7 (box "New library!"))
(14 4 (line 11 5 :start :circle :end T))
(2 11 (box "The Shinmera Process" :width 36 :background :black)))
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒┌───────────┐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒│☑▒Implement│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒│☑▒Document │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒│☐▒Publish │○────╮▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒└───────────┘▒▒▒▒▒│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│▒▒▒▒▒┌────────────┐▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒╰────⭢│New▒library!│▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒└────────────┘▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▗▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▖▒▒
▒▒▐███████The▒Shinmera▒Process███████▌▒▒
▒▒▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
::