v0.2.0: Box renderable — border, background, and title

- Box class with border-style, title, fg/bg slots
- render-box dispatches through backend protocol
- draw-border for borders, draw-rect for background
- draw-text for title below top border
- 7 tests: defaults, border, background, title, no-border,
  zero-size, minimum-size
- 13 assertions, 100% GREEN
- ASDF updated with src/components module
- modern-backend now accepts :output-stream initarg
This commit is contained in:
Hermes
2026-05-11 14:41:38 +00:00
parent 2b6fc32425
commit a5f8e6c9d4
7 changed files with 451 additions and 5 deletions

View File

@@ -2,7 +2,7 @@
(asdf:defsystem :cl-tui
:description "Reusable Common Lisp Terminal UI Framework"
:author "Amr Gharbeia"
:version "0.0.3"
:version "0.2.0"
:license "TBD"
:depends-on (:fiveam)
:components
@@ -14,7 +14,11 @@
(:file "modern" :depends-on ("package" "classes"))))
(:module "layout"
:components
((:file "layout"))))
((:file "layout")))
(:module "src/components"
:components
((:file "package")
(:file "box" :depends-on ("package")))))
:in-order-to ((test-op (test-op :cl-tui-tests))))
(asdf:defsystem :cl-tui-tests
@@ -26,6 +30,9 @@
((:file "tests")))
(:module "layout"
:components
((:file "tests"))))
((:file "tests")))
(:module "src/components"
:components
((:file "box-tests"))))
:perform (test-op (o c)
(uiop:symbol-call :cl-tui-backend-test '#:run!)))