pub fn main() !void { var gpa = std.heap.DebugAllocator(.{}){}; const gp_allocator = gpa.allocator(); defer { _ = gpa.detectLeaks(); const deinit_status = gpa.deinit(); if (deinit_status == .leak) @panic("Allocator leaked"); } var tsa = std.heap.ThreadSafeAllocator{ .child_allocator = gp_allocator }; const allocator = tsa.allocator(); var pool: std.Thread.Pool = undefined; try pool.init(.{ .allocator = allocator, .n_jobs = 4, }); defer pool.deinit(); var localContentProvider = local_provider.LocalContentProvider{ .threadPool = &pool }; const fullName: models.FullName = .{ .path = "/home/adam/1.txt" }; var item = try localContentProvider.getItemByFullName(fullName, &.{}, allocator); defer item.deinit(); const homeFullName: models.FullName = .{ .path = "C:\\Users\\adakovacs" }; const homeItem = try localContentProvider.getItemByFullName(homeFullName, &.{}, allocator); // defer homeItem.deinit(); const c = switch (homeItem.item) { .container => |c| c, .element => unreachable, }; var tab1 = try allocator.create(Tab); defer allocator.destroy(tab1); tab1.init(&pool, allocator); defer tab1.deinit(); tab1.setCurrentLocation(c); std.Thread.sleep(5 * std.time.ns_per_s); } const std = @import("std"); const models = @import("core/models.zig"); const provider = @import("core/provider/provider.zig"); const local_provider = @import("core/provider/local.zig"); const tab = @import("core/tab/tab.zig"); const Tab = tab.Tab;