Build terminal apps that feel crisp, fast, and alive.

Termisu gives you a double-buffer renderer, event pipeline, timers, colors, and input modes without heavy framework overhead.

Renderer

Cell buffer + diff rendering for fast screen updates with minimal terminal churn.

Input

Unified key, mouse, resize, timer, and mode-change events in one loop.

Control

Switch modes safely with block based wrappers.

Cross-Platform

Runs cleanly on macOS, Linux, and BSD terminals.

Lightweight

Small API surface focused on speed and predictable behavior.

Dependency-Free

Pure Crystal core with no runtime dependency chain to manage.

Install In 30 Seconds

dependencies:
  termisu:
    github: omarluq/termisu
shards install

First Render

require "termisu"

termisu = Termisu.new
begin
  termisu.set_cell(0, 0, 'T', fg: Termisu::Color.bright_green)
  termisu.set_cell(1, 0, 'U', fg: Termisu::Color.bright_cyan)
  termisu.set_cell(2, 0, 'I', fg: Termisu::Color.bright_blue)
  termisu.render
ensure
  termisu.close
end