module: support merging module lists

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-05-04 18:08:04 -07:00
parent b37ece1b9a
commit 95c9ae5278
9 changed files with 130 additions and 34 deletions

View file

@ -24,7 +24,10 @@ pub const modules = blk: {
if (!@hasDecl(@import("root"), "modules")) {
@compileError("expected `pub const modules = .{};` in root file");
}
break :blk @import("root").modules;
break :blk merge(.{
builtin_modules,
@import("root").modules,
});
};
pub const ModSet = @import("module/main.zig").ModSet;
pub const Modules = @import("module/main.zig").Modules(modules);
@ -35,6 +38,9 @@ pub const Archetype = @import("module/main.zig").Archetype;
pub const ModuleID = @import("module/main.zig").ModuleID;
pub const EventID = @import("module/main.zig").EventID;
pub const AnyEvent = @import("module/main.zig").AnyEvent;
pub const merge = @import("module/main.zig").merge;
pub const builtin_modules = @import("module/main.zig").builtin_modules;
pub const EntityModule = @import("module/main.zig").EntityModule;
/// To use experimental sysgpu graphics API, you can write this in your main.zig:
///