diff --git a/build.zig b/build.zig index 8b97878..934c5d1 100644 --- a/build.zig +++ b/build.zig @@ -57,6 +57,17 @@ pub fn build(b: *std.Build) !void { exe.root_module.addImport("zlua", zlua.module("zlua")); mlua_exe.root_module.addImport("zlua", zlua.module("zlua")); + const inspect_lua = b.dependency("inspect_lua", .{}); + + const meow = b.addWriteFiles(); + _ = meow.addCopyFile(inspect_lua.path("inspect.lua"), "inspect.lua"); + const meow_f = meow.add("inspect_lua.zig", + \\pub const inspect_module = @embedFile("inspect.lua"); + ); + mod.addAnonymousImport("inspect_lua", .{ + .root_source_file = meow_f, + }); + const fern = b.dependency("fern", .{ .target = target, .optimize = optimize, diff --git a/build.zig.zon b/build.zig.zon index cf7d41c..bacc8b8 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -39,6 +39,10 @@ .url = "git+https://github.com/natecraddock/ziglua.git#9a520d0bbaac378d2e926c76edb584da104941dc", .hash = "zlua-0.1.0-hGRpCwGVBQCZRZ2QEHLENoYjRj-nNjD500_BmMsXeqT4", }, + .inspect_lua = .{ + .url = "git+https://github.com/kikito/inspect.lua.git#a8ca3120dfec48801036eaeff9335ab7a096dd24", + .hash = "N-V-__8AAD3aAAD6STygKKb-d3hEp1tPtE7Ia6hET-xKjaX0", + }, }, .paths = .{ "build.zig", diff --git a/src/lua/embed.zig b/src/lua/embed.zig index b0aa33f..e768c93 100644 --- a/src/lua/embed.zig +++ b/src/lua/embed.zig @@ -1,5 +1,9 @@ +const inspect_lua = @import("inspect_lua"); + pub const maivi_module = @embedFile("runtime/maivi.lua"); pub const h_module = @embedFile("runtime/h.lua"); pub const this_module = @embedFile("runtime/this.lua"); pub const iter_module = @embedFile("runtime/iter.lua"); + +pub const inspect_module = inspect_lua.inspect_module; diff --git a/src/lua/root.zig b/src/lua/root.zig index 2adcd01..aa28d7c 100644 --- a/src/lua/root.zig +++ b/src/lua/root.zig @@ -64,6 +64,10 @@ pub fn lua_init() !*Lua { _ = try lua_display.lua_opendisplay(l); l.setField(-2, "display"); + try l.loadBuffer(embed.inspect_module, "@inspect_lua"); + try pcall(l, .{ .results = 1 }); + l.setField(-2, "inspect"); + _ = try maivi.Router.lua_openrouter(l); l.setField(-2, "router");