aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/benchmark/CApi.zig
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-04-04 19:22:04 +0300
committerCan Celik <ogulcancelik@gmail.com>2026-04-05 01:23:06 +0300
commit41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch)
tree3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/src/benchmark/CApi.zig
parent55c138263e190a1e79d4b997bfb9397306c0ec1f (diff)
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/src/benchmark/CApi.zig')
-rw-r--r--vendor/libghostty-vt/src/benchmark/CApi.zig34
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/benchmark/CApi.zig b/vendor/libghostty-vt/src/benchmark/CApi.zig
new file mode 100644
index 00000000..3bef8b26
--- /dev/null
+++ b/vendor/libghostty-vt/src/benchmark/CApi.zig
@@ -0,0 +1,34 @@
+const std = @import("std");
+const cli = @import("cli.zig");
+const state = &@import("../global.zig").state;
+
+const log = std.log.scoped(.benchmark);
+
+/// Run the Ghostty benchmark CLI with the given action and arguments.
+export fn ghostty_benchmark_cli(
+ action_name_: [*:0]const u8,
+ args: [*:0]const u8,
+) bool {
+ const action_name = std.mem.sliceTo(action_name_, 0);
+ const action: cli.Action = std.meta.stringToEnum(
+ cli.Action,
+ action_name,
+ ) orelse {
+ log.warn("unknown action={s}", .{action_name});
+ return false;
+ };
+
+ cli.mainAction(
+ state.alloc,
+ action,
+ .{ .string = std.mem.sliceTo(args, 0) },
+ ) catch |err| {
+ log.warn("failed to run action={s} err={}", .{
+ @tagName(action),
+ err,
+ });
+ return false;
+ };
+
+ return true;
+}