Home

Awesome

[!WARNING] This library is a WIP and may have breaking changes and bugs.

mibu

mibu is pure Zig library for low-level terminal manipulation.

Tested with zig version 0.13.0

Features

How to use

First we add the library as a dependency in our build.zig.zon file.

.dependencies = .{
    .string = .{
        .url = "https://github.com/xyaman/mibu/archive/refs/heads/main.zip",
        //the correct hash will be suggested by the zig compiler, you can copy it from there
    }
}

And we add it to build.zig file.

const mibu_dep = b.dependency("mibu", .{
    .target = target,
    .optimize = optimize,
});

exe.root_module.addImport("mibu", mibu_dep.module("mibu"));

Now we can use the library in our code.

const std = @import("std");
const mibu = @import("mibu");
const color = mibu.color;

pub fn main() void {
    std.debug.print("{s}Hello World in purple!\n", .{color.print.bgRGB(97, 37, 160)});
}

Getting Started

See the examples directory

You can run the examples with the following command:

# Prints text with different colors
zig build color

# Prints what key you pressed, until you press `q` or `ctrl+c`
zig build event

zig build alternate_screen

TODO

Projects that use mibu