Skip to content

Releases: adxdits/zigtui

v0.1.0 - Initial Release

03 Jan 17:08
0c5801d

Choose a tag to compare


v0.1.0 - Initial Release

The first full-featured cross-platform TUI framework for Zig — works seamlessly on Windows and Linux.

Features

  • Cross-platform - Native support for Windows Console API and ANSI terminals (Linux/macOS)
  • Efficient rendering - Cell-based buffer with diff algorithm for minimal screen updates
  • Constraint-based layouts - Flexible layout system for responsive terminal UIs
  • Composable widgets - Block, Paragraph, List, Gauge, Table, and Sparkline
  • Event handling - Keyboard, mouse, and terminal resize events
  • Rich styling - ANSI colors (16, 256, RGB) and text modifiers (bold, italic, underline, etc.)
  • Zero hidden allocations - Explicit memory management with allocator support
  • Simple API - Automatic platform detection with tui.backend.init(allocator)

Quick Start

const tui = @import("zigtui");

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    defer _ = gpa.deinit();
    
    var backend = try tui.backend.init(gpa.allocator());
    defer backend.deinit();
    
    var terminal = try tui.Terminal.init(gpa.allocator(), backend.interface());
    defer terminal.deinit();
    
    // Start building your TUI!
}

Requirements

  • Zig 0.15.0+
  • Windows 10+ or Linux/macOS with ANSI terminal support