Hermes
f07cb65186
v0.5.0: Text input + keybinding system
...
Four new modules:
- input.lisp: terminal raw mode, escape sequence parser, key/mouse event
structs, read-event backend integration
- text-input.lisp: single-line text input with cursor, insertion,
deletion, ctrl-A/E/W/U/K, on-submit callback, max-length
- textarea.lisp: multi-line text input with cursor up/down, newline,
backspace joins lines, delete, undo/redo stack
- keybindings.lisp: layered keymap dispatch (global/local/focused),
defkeymap macro, key spec matching with modifier prefixes
60 test assertions, 100% GREEN:
RED: 0/12, 0/27, 0/30 — no tests existed
GREEN: 60/60 across backend (27), box (58), input (60)
Dependencies: sb-posix for terminal raw mode (tcgetattr/tcsetattr)
Test files: 30 input tests covering all widgets and keybinding system
2026-05-11 16:31:07 +00:00
Hermes
a1b1352d10
v0.2.0: Dirty tracking — dirty-mixin, mark-clean, mark-dirty
...
- dirty-mixin class with dirty slot (initform t)
- mark-clean clears dirty flag
- mark-dirty sets dirty flag
- 3 tests: default-dirty, clean, dirty-cycle
- ROADMAP.org: v0.2.0 all tasks DONE
- 31 component tests, 100% GREEN
2026-05-11 14:49:03 +00:00
Hermes
a5f8e6c9d4
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
2026-05-11 14:41:38 +00:00
Hermes
db59fa4f55
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
2026-05-11 12:45:26 +00:00
3e0268c982
Initial commit: cl-tui — Reusable Common Lisp Terminal UI Framework
...
Layout engine (Yoga FFI), renderables (Box, Text), rendering engine,
theme engine, TextInput/Textarea, ScrollBox/TabBar, Select, Markdown/Code/Diff,
dialog system, mouse support, plugin/slot system.
2026-05-11 06:48:20 -04:00