diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-04-04 19:22:04 +0300 |
|---|---|---|
| committer | Can Celik <ogulcancelik@gmail.com> | 2026-04-05 01:23:06 +0300 |
| commit | 41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch) | |
| tree | 3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/pkg/harfbuzz/version.zig | |
| parent | 55c138263e190a1e79d4b997bfb9397306c0ec1f (diff) | |
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/pkg/harfbuzz/version.zig')
| -rw-r--r-- | vendor/libghostty-vt/pkg/harfbuzz/version.zig | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/pkg/harfbuzz/version.zig b/vendor/libghostty-vt/pkg/harfbuzz/version.zig new file mode 100644 index 00000000..dbe25b52 --- /dev/null +++ b/vendor/libghostty-vt/pkg/harfbuzz/version.zig @@ -0,0 +1,47 @@ +const std = @import("std"); +const c = @import("c.zig").c; + +pub const Version = struct { + major: u32, + minor: u32, + micro: u32, +}; + +/// Returns library version as three integer components. +pub fn version() Version { + var major: c_uint = 0; + var minor: c_uint = 0; + var micro: c_uint = 0; + c.hb_version(&major, &minor, µ); + return .{ .major = major, .minor = minor, .micro = micro }; +} + +/// Tests the library version against a minimum value, as three integer components. +pub fn versionAtLeast(vsn: Version) bool { + return c.hb_version_atleast( + vsn.major, + vsn.minor, + vsn.micro, + ) > 0; +} + +/// Returns library version as a string with three components. +pub fn versionString() [:0]const u8 { + const res = c.hb_version_string(); + return std.mem.sliceTo(res, 0); +} + +test { + const testing = std.testing; + + // Should be able to get the version + const vsn = version(); + try testing.expect(vsn.major > 0); + + // Should be at least version 1 + try testing.expect(versionAtLeast(.{ + .major = 1, + .minor = 0, + .micro = 0, + })); +} |
