Initial extraction of the terminal (TUI) rendering target out of the Fulcro repository into this standalone companion library. Namespaces (com.fulcrologic.fulcro.tui, …tui.terminal, …tui.driver) and the tui-example.form demo are unchanged from their in-tree origin.
Included capabilities:
Element generators (vbox, hbox, box, text, input, button, line, viewport) and the node model.
Layout (intrinsic sizing, placement, clamping/scrolling helpers).
Buffer rendering and diffing (cell/char buffers, SGR styling, ANSI emission, frame diff → ops → ANSI).
Component walker plus tui/defsc (factory, computed-factory, render-instance/tree/root).
Focus management, text input editing, and key routing.
Terminal protocol with a JLine-backed terminal and a fake/string terminal for tests.
The driver (application creation, attach/mount/render, step, run loop, quit).
Arrow-key navigation and caret movement.
Line wrapping for read-only and editable text.
Multiline text-area editing (Enter inserts newline, visual-line caret movement, self-scrolling).
Viewport scrolling with follow-focus.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |