API Reference cringe v#0.3.0

Copy Markdown View Source

Modules

OTP-native terminal UI toolkit for Elixir.

Behaviour and macro for Cringe applications.

ExUnit assertions for Cringe documents and apps.

Fixed-size render surface for terminal lines.

Convenience imports for Cringe ExUnit tests.

Block-oriented document DSL.

Terminal document helpers.

Box container node for terminal documents.

Ordered container node for terminal documents.

Text node for terminal documents.

Test driver helpers for Cringe apps.

Semantic runtime input events.

Keyboard event.

Terminal resize event.

Text input event.

Timer tick event.

Deterministic focus ring helpers.

Rendered terminal frame.

Layout constraints derived from render options.

Lays out document trees into positioned layout nodes.

Positioned result of laying out a document node.

Two-dimensional layout size.

Stateful terminal frame painter.

Rectangle used by layout and painting code.

Renders Cringe documents into terminal text.

Draws layout nodes into terminal frames.

Supervised runtime for Cringe apps.

Behaviour for runtime output backends.

Runtime backend that writes rendered frames to an Elixir IO device.

Terminal backend backed by Ghostty.TTY.

In-memory runtime backend for tests.

Supervisor for a Cringe runtime process.

Small style normalization helpers shared by widgets.

Adapts Ghostty terminal key decoding into Cringe events.

Default widget theme tokens.

Render-only text input widget and explicit input update helpers.

Explicit state for cursor-aware input editing.

Render-only progress bar widget.

Render-only select/list widget and explicit selection update helpers.

Render-only spinner widget.