Skip to content

smelt.win

Tier: UiHost — Requires a terminal UI; calling these from headless mode raises.

Window handle constructor. smelt.win.new(buf, opts?) opens a split window over buf and returns a Win userdata. opts.name opts the window into hot-reload survival. UiHost-only — windows are layout leaves that render a buffer onto the screen.

smelt.win.new

fun(buf: smelt.buf.Buf, opts: table?): smelt.win.Win?

Types: smelt.buf.Buf, smelt.win.Win

Open a split window over buf and return a Win userdata. opts.name opts the window into hot-reload survival; omitted from a module body, a stable per-(plugin, declaration-index) name is auto-assigned. opts.kind = "input" (opts.placeholder?) marks the window as a single-line text input; opts.kind = "list" (opts.initial_cursor?) marks it as a navigable list leaf. opts.scrollbar reserves the rightmost column for an overflow scrollbar (default true); pass false on 1-row pills / dialog chrome to reclaim that cell.

smelt.win.transcript

fun(): smelt.win.Win

Types: smelt.win.Win

Return a Win handle for the built-in transcript window. Useful as an anchor = "win" / "win_center" target so plugins can float overlays over the transcript without hard-coding its id.