γ Aquilae · terminal core

Keep the terminal honest.

A Unicode-aware cell grid, chunk-safe VT parser, input encoder, scrollback, and cross-platform PTY session in pure Ruby.

  • POSIX + ConPTY
  • Ruby ≥ 3.1
  • MIT licensed
terminal / 80 × 24attached
Last login: Sat Sep 19 09:42:11

~ $ bundle exec rake test
Run options: --seed 18420

................................

Finished in 0.412s, 77.67 runs/s
32 runs, 186 assertions, 0 failures

~ $  

scrollback 204 / 10,000 · cwd /workspace · exit 0

The terminal, unbundled.

Tarazed supplies the state and protocol core without choosing a renderer, editor model, or interface toolkit.

Faithful screen state

Unicode-aware cells, bounded scrollback, selection, links, colors, and terminal modes.

Chunk-safe parsing

Feed arbitrary byte chunks; incomplete UTF-8 and control sequences wait for the next one.

Real sessions

Drive POSIX PTYs or 64-bit Windows ConPTY with input encoding and shell integration.

Feed the grid.

Use the parser by itself or let a PTY session connect it to a child process.

Ruby
$ bundle add tarazed

screen = Tarazed::Grid.new(
  columns: 80, rows: 24
)
terminal = Tarazed::VT.new(screen)
terminal.feed("\e[32mready\e[0m\r\n")
puts screen.text