https://github.com/theonlysilverclaw/zig-umka
Zig bindings for the Umka scripting language
https://github.com/theonlysilverclaw/zig-umka
bindings scripting-language umka umka-lang zig zig-binding zig-library zig-package
Last synced: 25 days ago
JSON representation
Zig bindings for the Umka scripting language
- Host: GitHub
- URL: https://github.com/theonlysilverclaw/zig-umka
- Owner: TheOnlySilverClaw
- License: bsd-3-clause
- Created: 2025-03-12T18:28:26.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-03-12T22:04:01.000Z (over 1 year ago)
- Last Synced: 2025-03-12T23:19:01.318Z (over 1 year ago)
- Topics: bindings, scripting-language, umka, umka-lang, zig, zig-binding, zig-library, zig-package
- Language: Zig
- Homepage: https://codeberg.org/Silverclaw/zig-umka
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Zig bindings for the [Umka](https://github.com/vtereshkov/umka-lang) scripting language.
Tested against Umka 1.5.3
## Usage
There are two modules avaiable:
- "binding" is as close to the C API as possible
- "wrapper" is a more opinionated API on top which should be easier for Zig users
You can add either one as an import like this:
```zig
const umka_dependency = b.dependency("umka", .{});
exe_module.addImport("umka", umka_dependency.module("binding"));
// or
exe_module.addImport("umka", umka_dependency.module("wrapper"));
```
This project only provides the bindings!
You have to link Umka as a static libary.
Get it from the official release or build from source.
Build configuration and further examples can be found under [examples](/examples).
## To run the examples
- install Zig, at least version 0.14.0
- get a static Umka libary build called libumka.a
- drop it into examples
- run `zig build run`