···151151 }
152152};
153153154154-pub fn main() !void {
155155- var gpa = std.heap.GeneralPurposeAllocator(.{}){};
156156- defer _ = gpa.deinit();
157157-158158- const allocator = gpa.allocator();
154154+pub fn main(init: std.process.Init) !void {
155155+ const io = init.io;
156156+ const allocator = init.gpa;
159157160160- var app = try vxfw.App.init(allocator);
161161- errdefer app.deinit();
158158+ var app: vxfw.App = undefined;
159159+ try app.init(io, allocator, init.environ_map);
160160+ defer app.deinit();
162161163163- var arena = std.heap.ArenaAllocator.init(allocator);
162162+ var arena: std.heap.ArenaAllocator = .init(allocator);
164163 defer arena.deinit();
165164166165 const model = try allocator.create(Model);
···182181 // it as well to see what that does.
183182 .estimated_content_height = 800,
184183 },
185185- .rows = std.ArrayList(ModelRow).empty,
184184+ .rows = .empty,
186185 };
187186 defer model.rows.deinit(allocator);
188187189189- var lipsum = std.ArrayList([]const u8).empty;
188188+ var lipsum: std.ArrayList([]const u8) = .empty;
190189 defer lipsum.deinit(allocator);
191190192191 try lipsum.append(allocator, " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet nunc porta, commodo tellus eu, blandit lectus. Aliquam dignissim rhoncus mi eu ultrices. Suspendisse lectus massa, bibendum sed lorem sit amet, egestas aliquam ante. Mauris venenatis nibh neque. Nulla a mi eget purus porttitor malesuada. Sed ac porta felis. Morbi ultricies urna nisi, et maximus elit convallis a. Morbi ut felis nec orci euismod congue efficitur egestas ex. Quisque eu feugiat magna. Pellentesque porttitor tortor ut iaculis dictum. Nulla erat neque, sollicitudin vitae enim nec, pharetra blandit tortor. Sed orci ante, condimentum vitae sodales in, sodales ut nulla. Suspendisse quam felis, aliquet ut neque a, lacinia sagittis turpis. Vivamus nec dui purus. Proin tempor nisl et porttitor consequat.");
···210209 }
211210212211 try app.run(model.widget(), .{});
213213- app.deinit();
214212}