Immediate frames
Compose each frame from current state with `Elui.Terminal` and `Elui.Frame`; the backend writes only changed cells.
Immediate-mode terminal UIs for Elixir
Elui brings Ratatui-shaped rendering, layout, input, and widgets to Elixir, with an app loop that plays nicely with supervisors, GenServers, messages, and long-running systems.
Rebuild the interface from state, render into a buffer, and let Elui flush the diff. Use it for developer tools, operational dashboards, terminal workbenches, and live OTP experiments.
Elui keeps the immediate-mode model clear while letting your runtime stay unmistakably Elixir: processes talk, widgets render, tests assert on buffers.
Compose each frame from current state with `Elui.Terminal` and `Elui.Frame`; the backend writes only changed cells.
`Elui.App` handles keys, mouse events, ticks, terminal resizes, and arbitrary process messages in one model update function.
Blocks, paragraphs, lists, tables, tabs, gauges, charts, canvas, calendars, scrollbars, sparklines, and bar charts.
Render with `Elui.Backend.Test` and assert on plain lines without needing a real terminal in CI.
Every clip launches the checked-in `.exs` file through Elui in a real terminal. The gallery spans complete apps, individual widgets, layout tools, and BEAM runtime experiments.
def deps do
[
{:elui, github: "douglascorrea/elui"}
]
end
mix deps.get
mix run examples/demo.exs