These libraries are experimental. APIs may change without notice. Generated from source with koruc 0.1.7 on 8/19/2026.

Vaxis

@korulang/vaxis@0.0.1

Terminal UI library for Koru wrapping libvaxis with phantom type obligations

vaxis/index.kz · 31 tors

Koru Vaxis Library — Reactive TUI wrapper, effect-branch shape · 24 more lines
Koru Vaxis Library — Reactive TUI wrapper, effect-branch shape `run` is a single long-running proc that owns the terminal for its entire body: init → loop emitting effects → deinit. Consumers handle terminal events as effect branches; they don't write an outer loop. USAGE: ~import koru/vaxis ~koru/vaxis:run(title: "Hello") ! ready |> koru/vaxis:write-at(x: 2, y: 2, text: "Hello! Press q to quit.") |> koru/vaxis:render() ! key k when k.ch == 'q' |> koru/vaxis:quit() ! resize _ |> koru/vaxis:render() | done _ |> _ | err e |> _ MODULE-SCOPE REACH-BACK ($mod.): `run` is an effect-branch event, so its |zig body is SPLICED into the consumer's frame (cut-1 inlining) — where this module's bare names don't exist. Every reference to this module's own state (the vars/consts below) from inside a proc body uses the sanctioned `$mod.` spelling so the emitter rewrites it to the right namespace on the splice path and strips it to bare names on the standalone-handler path. `std` is exempt (it auto-rewrites to @import("std")). See koru pin 400_155 for the contract.

write-at

index.kz:361

write-styled

index.kz:389

sub-from-bottom

index.kz:447

sub-fill

index.kz:464

stack-row

index.kz:493

write-in

index.kz:508

progress-bar

index.kz:524

spinner

index.kz:610

stopwatch

index.kz:761

text-input

index.kz:821

viewport

index.kz:1125

paginator

index.kz:1185

filepicker

index.kz:1649

textarea

index.kz:1766

view

comptimetransform index.kz:1935

default

keywordcomptimetransformpre index.kz:2070

shader

comptimetransformpre index.kz:2281

component

comptimetransformpre index.kz:2944