You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.1 KiB


A zig framework for writing zellij plugins.

Zellzig is currently used by these project (if you use this library, please submit a PR!):


For an example of how to use it, see the example directory. Also note that you'll need a master version of the zig compiler to use zellzig.

Here's a quick overview:

const std = @import("std");
const zz = @import("zellzig");

comptime {
    // register plugin

pub fn init() void {
    // do initialization stuff

pub fn update() void {
    var event = zz.getEvent(my_allocator) catch return;
    defer event.deinit();
    // handle events

pub fn render(rows: i32, cols: i32) void {
    // draw UI


PRs are always welcome if you feel that something needs improvement/fixing! Make sure to follow Conventional Commits and to run tests first, though.

Run tests using gyro build test. Note that tests are run on the native target, not WASM.

Documentation may be generated by running gyro build -Ddocs.