tonyfettes/ghostty/terminalimport {
"tonyfettes/ghostty/terminal"
"moonbitlang/core/encoding/utf8"
}///|
fn render_plain(input : Bytes) -> String {
let terminal = @terminal.StreamTerminal::new()
ignore(terminal.resize(80, 24, 8U, 16U))
terminal.next_slice(input)
let formatter = @terminal.Formatter::new_terminal(
terminal,
@terminal.FormatterOptions::new(
Plain,
trim=true,
extra=@terminal.FormatterTerminalExtra::none(),
),
)
@utf8.decode_lossy(formatter.format())
}terminal/ MoonBit terminal parser and model package
docs/architecture.md Parser stack architecture notes
docs/plan.md Translation plan, scope, and quality gates
docs/plans/ Task-specific implementation plans and audits
examples/rabbita_asciinema/ Browser asciinema player using StreamTerminal
examples/terminal_playground/ Browser terminal playground (web shell + wasm-gc core/)
examples/tmux/ Native mini tmux-like PTY multiplexer demo
bench/ StreamTerminal benchmarks (moon bench) + per-workload profiling mains
upstream/ghostty/ Upstream Ghostty submodulemoon check --target native
moon test --target native
moon check --target js
moon test --target js
moon coverage analyze -- -f summary
moon fmt
moon infomoon -C examples check --target js
moon -C examples test --target js
moon -C examples check --target native
moon -C examples test --target native