zig-gobject
zig-gobject copied to clipboard
GObject bindings for Zig using GObject introspection
Closes #13 TODO: - [ ] Autodoc doesn't handle module names containing `.` properly (probably solve this when implementing URL escaping) (WIP: https://github.com/ianprime0509/zig/tree/autodoc-url-escape) - [ ] Autodoc displays aliased functions...
Same rationale as #54 and #55. We do already have fields for these, but those aren't nearly as clear for introspection.
In addition to the `connect` functions, there should be some sort of separate metadata for signals, similar to what is suggested in #54 for properties, for the same reasons.
Properties exposed through GIR should have some metadata implemented for them so they can be used by helper functions. The metadata can also act as an anchor for documentation.
An effective tutorial should not assume any prior experience with GTK, GObject, or C, to avoid introducing a high barrier of entry to new users.
The binding generator itself is not dependent on any particular platform, but the xsltproc compilation used in the build system is known not to work on Windows (unhandled). Additionally, the...
It would be a good idea to generate a `build.zig.zon` for the generated bindings package, and possibly other metadata files such as a license (not actually sure what this would...
It would be nice to have CI set up to run tests and make sure things keep working without manually testing each commit. The best way to do this would...
``` /var/home/ian/src/zig-gobject/bindings/src/gobject-2.0.zig:5641:126: error: unknown-length pointer to opaque not allowed pub const TypeValueCollectFunc = *const fn (p_value: *gobject.Value, p_n_collect_values: c_uint, p_collect_values: [*]gobject.TypeCValue, p_collect_flags: c_uint) callconv(.C) ?[*:0]u8; ~~~~~~~^~~~~~~~~~~ ``` The GIR for...
This is a bit field where the underlying C type is a packed enum. The packed nature of the enum is not currently representable in GIR; currently, it is fixed...