Hermes Agent
|
29f99a576d
|
literate: restructure all 19 org files with per-function blocks and prose
Every function, defclass, defstruct, defgeneric, defmethod, defmacro,
defvar, and defparameter in every org file now has its own #+BEGIN_SRC
block with literate prose above it explaining the design reasoning.
Block counts before → after:
package.org: 1 → 7
container-package.org: 1 → 1 (prose expanded)
dirty.org: 4 → 6
render.org: 10 → 25
theme.org: 6 → 19
box-renderable.org: 9 → 29
scrollbox.org: 8 → 26
tabbar.org: 5 → 10
backend-protocol.org: 8 → 66
modern-backend.org: 17 → 53
detection.org: 4 → 6
layout-engine.org: 9 → 36
framebuffer.org: 8 → 37
markdown-renderer.org:13 → 38
dialog.org: 17 → 23 (merged dual structure)
mouse.org: 4 → 25
select.org: 12 → 30
slot.org: 4 → 12
text-input.org: 11 → 53
Total: ~153 blocks → ~502 blocks
Bugs fixed during restructuring:
- render.org: stray π character typo (backenπd → backend)
- modern-backend.org: sgr-attr missing closing paren + #+END_SRC
- detection.org: invalid #\Esc character reference
- select.org: extra closing paren in select-visible-options
All 13 test suites pass at 100%.
|
2026-05-12 18:55:07 +00:00 |
|
Hermes
|
811d51a4f2
|
Rename cl-tui -> cl-tty, v0.9.0: Dialog System + Toast
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
|
2026-05-11 19:55:37 +00:00 |
|
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 |
|