zellzig/README.md

40 lines
1.1 KiB
Markdown

# 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(ev: zz.Event) void {
// 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`.