Yves Biener feae9fa1a4
All checks were successful
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m2s
feat(model): implement Elm architecture
Now the `App` contains a state which is a user-defined `struct` which
is passed to the `handle` and `contents` callbacks for `Container`'s and
`Element`'s. Built-in `Element`'s shall not access the `App.Model` and
should therefore never cause any side-effects.

User-defined events shall be used to act as *messages* to cause
potential side-effects for the model. This is the reason why only
the `handle` callback has a non-const pointer to the `App.Model`. The
`contents` callback can only access the `App.Model` read-only to use for
generating the *view* (in context of the elm architecture).
2025-10-26 15:58:07 +01:00
2024-11-09 19:07:10 +01:00
2024-11-13 19:01:53 +01:00
2025-02-28 15:58:46 +01:00

zterm TUI Library

zterm is a terminal user interface library (tui) to implement terminal (fullscreen or inline) applications.

Caution

Only builds using the zig master version are tested to work.

Demo

Clone this repository and run zig build --help to see the available examples. Run a given example as follows:

zig build --release=safe -Dexample=demo run

Tip

Every example application can be quit using ctrl+c.

See the wiki for a showcase of the examples and the further details.

Usage

To add or update zterm as a dependency in your project run the following command:

zig fetch --save git+https://gitea.yves-biener.de/yves-biener/zterm

Add the dependency to your module as follows in your build.zig:

const zterm: *Dependency = b.dependency("zterm", .{
    .target = target,
    .optimize = optimize,
});
// ...
exe.root_module.addImport("zterm", zterm.module("zterm"));

Documentation

A wiki should be created containing a bright overview of the structure and usage of the library. For details it should refer to the examples. The documentation should be minimal in terms of updateability in case the library changes. Maybe some documentation could be derived from the code documentation (there is a tool for this if I recall correctly).

Description
Terminal User Interface Library for TUI applications written in zig.
Readme MIT 2.9 MiB
Languages
Zig 100%