summaryrefslogtreecommitdiff
path: root/example/zig-vt/src/main.zig
blob: f57c7008748004bfe60117e7ab97076546faea90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const std = @import("std");
const ghostty_vt = @import("ghostty-vt");

pub fn main() !void {
    // Use a debug allocator so we get leak checking. You probably want
    // to replace this for release builds.
    var gpa: std.heap.DebugAllocator(.{}) = .init;
    defer _ = gpa.deinit();
    const alloc = gpa.allocator();

    // Initialize a terminal.
    var t: ghostty_vt.Terminal = try .init(alloc, .{
        .cols = 6,
        .rows = 40,
    });
    defer t.deinit(alloc);

    // Write some text. It'll wrap because this is too long for our
    // columns size above (6).
    try t.printString("Hello, World!");

    // Get the plain string view of the terminal screen.
    const str = try t.plainString(alloc);
    defer alloc.free(str);
    std.debug.print("{s}\n", .{str});
}