;;; cl-tui.asd — Common Lisp Terminal UI Framework (asdf:defsystem :cl-tui :description "Reusable Common Lisp Terminal UI Framework" :author "Amr Gharbeia" :version "0.6.0" :license "TBD" :depends-on (:fiveam :sb-posix) :components ((:module "backend" :components ((:file "package") (:file "classes" :depends-on ("package")) (:file "simple" :depends-on ("package" "classes")) (:file "modern" :depends-on ("package" "classes")))) (:module "layout" :components ((:file "layout"))) (:module "src/components" :components ((:file "package") (:file "dirty") (:file "box" :depends-on ("package")) (:file "text" :depends-on ("package" "box")) (:file "render" :depends-on ("package" "box" "text")) (:file "theme" :depends-on ("package")) ;; Input system (v0.5.0) (:file "input-package" :depends-on ("package")) (:file "input" :depends-on ("input-package" "dirty" "box")) (:file "text-input" :depends-on ("input-package" "input" "box")) (:file "textarea" :depends-on ("input-package" "input" "box")) (:file "keybindings" :depends-on ("input-package" "input")) ;; Container components (v0.6.0) (:file "container-package" :depends-on ("package" "input-package")) (:file "scrollbox" :depends-on ("container-package" "dirty" "box")) (:file "tabbar" :depends-on ("container-package" "dirty" "box")))) :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"))) (:module "layout" :components ((:file "tests"))) (:module "src/components" :components ((:file "box-tests") (:file "dirty-tests") (:file "render-tests") (:file "theme-tests") (:file "input-tests") (:file "scrollbox-tabbar-tests" :pathname "../../tests/scrollbox-tabbar-tests.lisp")))) :perform (test-op (o c) (dolist (suite '((:cl-tui-backend-test "BACKEND-SUITE") (:cl-tui-box-test "BOX-SUITE") (:cl-tui-input-test "INPUT-SUITE") (:cl-tui-scrollbox-test "SCROLLBOX-SUITE"))) (let* ((pkg (find-package (first suite))) (s (and pkg (find-symbol (second suite) pkg)))) (when s (fiveam:explain! (fiveam:run s))))) (uiop:quit 0)))