v0.0.1: backend protocol — abstraction layer + simple backend

Implement the backend protocol with two backends (modern planned,
simple done). Includes package definitions, CLOS generic protocol,
simple-backend with ASCII borders, and 9 FiveAM tests.

RED: 9/9 tests failing (no implementation)
GREEN: 9/9 tests passing

- backend/package.lisp — defpackage, exports
- backend/classes.lisp — backend base class, 18 generics
- backend/simple.lisp — simple-backend implementation
- backend/tests.lisp — 9 FiveAM test cases
- org/backend-protocol.org — literate source
This commit is contained in:
Hermes
2026-05-11 12:45:26 +00:00
parent bd22f1a43d
commit db59fa4f55
8 changed files with 1044 additions and 3 deletions

24
cl-tui.asd Normal file
View File

@@ -0,0 +1,24 @@
;;; cl-tui.asd — Common Lisp Terminal UI Framework
(asdf:defsystem :cl-tui
:description "Reusable Common Lisp Terminal UI Framework"
:author "Amr Gharbeia"
:version "0.0.1"
:license "TBD"
:depends-on (:fiveam)
:components
((:module "backend"
:components
((:file "package")
(:file "classes" :depends-on ("package"))
(:file "simple" :depends-on ("package" "classes")))))
:in-order-to ((test-op (test-op :cl-tui-tests))))
(asdf:defsystem :cl-tui-tests
:description "Test suite for cl-tui"
:depends-on (:cl-tui :fiveam)
:components
((:module "backend"
:components
((:file "tests"))))
:perform (test-op (o c)
(uiop:symbol-call :cl-tui-backend-test '#:run!)))