Rename: cl-tty avoids naming collision with Quicklisp's cl-tui (naryl/cl-tui, a cl-charms-based ncurses library). Our project is pure escape-sequence CL. v0.9.0 adds: - Dialog base class: modal overlay with backdrop, centered panel, size variants (:small/:medium/:large), stack-based management - Dialog subclasses: alert, confirm, select-dialog, prompt-dialog - Toast notifications: transient, top-right corner, auto-dismiss, colored variants (info/success/warning/error) - 78 tests total, 100% passing ASDF: read-time package references (+fiveam:+) replaced with find-symbol so .asd loads without FiveAM pre-loaded
32 lines
944 B
Common Lisp
32 lines
944 B
Common Lisp
(defpackage :cl-tty.box
|
|
(:use :cl :cl-tty.backend :cl-tty.layout)
|
|
(:export
|
|
;; Box
|
|
#:box #:make-box
|
|
#:box-layout-node
|
|
#:box-border-style #:box-title #:box-title-align
|
|
#:box-fg #:box-bg
|
|
#:render-box
|
|
;; Span
|
|
#:span
|
|
#:span-text #:span-bold #:span-italic #:span-underline
|
|
#:span-reverse #:span-dim #:span-fg #:span-bg
|
|
;; Text
|
|
#:text #:make-text
|
|
#:text-layout-node #:text-content #:text-spans
|
|
#:text-fg #:text-bg #:text-wrap-mode
|
|
#:render-text
|
|
;; Utilities (for tests)
|
|
#:word-wrap #:split-string
|
|
;; Dirty tracking
|
|
#:dirty-mixin #:dirty-p #:mark-clean #:mark-dirty
|
|
;; Rendering pipeline
|
|
#:render #:render-screen #:render-node
|
|
#:component-layout-node #:component-children #:component-parent
|
|
#:available-width #:available-height
|
|
#:propagate-dirty
|
|
;; Theme engine
|
|
#:theme #:make-theme #:theme-mode
|
|
#:theme-color #:load-preset #:define-preset))
|
|
(in-package :cl-tty.box)
|