Vibe.TUI.TerminalLoop (vibe v0.2.1)

Copy Markdown View Source

Terminal adapter for Vibe.TUI.App.

The app remains semantic and testable; this module owns byte decoding, viewport size, and terminal repaint commands.

Summary

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

cursor_position(server)

@spec cursor_position(GenServer.server()) :: {pos_integer(), pos_integer()}

full_cursor_position(server)

@spec full_cursor_position(GenServer.server()) :: {pos_integer(), pos_integer()}

input(server, data)

@spec input(GenServer.server(), binary()) :: :ok

input_key(server, event)

@spec input_key(GenServer.server(), Ghostty.KeyEvent.t()) :: :ok

render(server)

@spec render(GenServer.server()) :: [IO.chardata()]

render_frame(server, viewport \\ :visible)

@spec render_frame(GenServer.server(), :visible | :full) :: Vibe.TUI.RenderFrame.t()

render_full(server)

@spec render_full(GenServer.server()) :: [IO.chardata()]

render_snapshot(server)

@spec render_snapshot(GenServer.server()) ::
  {[IO.chardata()], {pos_integer(), pos_integer()}}

resize(server, columns, rows)

@spec resize(GenServer.server(), pos_integer(), pos_integer()) :: :ok

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

viewport_height(server)

@spec viewport_height(GenServer.server()) :: pos_integer()