Terminal

Direct ANSI terminal control for Go, built for 60 fps full-screen redraws

Stable In production: the renderer and input layer of ViF and Symph.

Terminal I/O for Go with no terminfo: double-buffered cell diffing, true colour with automatic 256-colour fallback, raw key and mouse input, and the same API in a browser through xterm.js.

  • Cell-level diffing: only changed cells emit escape sequences
  • True colour and xterm-256 with perceptual mapping and blend modes
  • Raw input: keys, modifiers, UTF-8, SGR mouse, resize
  • Unix and WebAssembly backends behind one interface
  • An immediate-mode TUI toolkit and inline CLI output as sub-packages