# zellzig A zig framework for writing [zellij](https://zellij.dev/) plugins. Zellzig is currently used by these project (if you use this library, please submit a PR!): - [zellij-compact-status](https://mzte.de/git/LordMZTE/zellij-compact-status) # usage 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: ```zig const std = @import("std"); const zz = @import("zellzig"); comptime { // register plugin zz.createPlugin(@This()); } 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 } ``` # development PRs are always welcome if you feel that something needs improvement/fixing! Make sure to follow [Conventional Commits](https://www.conventionalcommits.org/) 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`.