add basic main loop
This commit is contained in:
parent
fc8dcf4583
commit
34d3b12c56
23
src/main.zig
23
src/main.zig
|
@ -14,20 +14,35 @@ pub fn doRepl(allocator: *std.mem.Allocator, args_it: var) !void {
|
||||||
// now have a 'repl' argument right before it. to counteract that, the
|
// now have a 'repl' argument right before it. to counteract that, the
|
||||||
// initial repl buffer contains 'load :1' instead.
|
// initial repl buffer contains 'load :1' instead.
|
||||||
|
|
||||||
var buf = langs.CommandList.init(allocator);
|
var cmds = langs.CommandList.init(allocator);
|
||||||
defer buf.deinit();
|
defer cmds.deinit();
|
||||||
|
|
||||||
var loadargs = langs.ArgList.init(allocator);
|
var loadargs = langs.ArgList.init(allocator);
|
||||||
defer loadargs.deinit();
|
defer loadargs.deinit();
|
||||||
|
|
||||||
try loadargs.append(":1");
|
try loadargs.append(":1");
|
||||||
|
|
||||||
try buf.append(langs.Command{
|
try cmds.append(langs.Command{
|
||||||
.command = .Load,
|
.command = .Load,
|
||||||
.args = loadargs,
|
.args = loadargs,
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO the rest
|
// TODO start a runner and keep it hot
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
try stdout.print("> ");
|
||||||
|
|
||||||
|
var buffer = try std.Buffer.init(allocator, ""[0..]);
|
||||||
|
var line = std.io.readLine(&buffer) catch |err| {
|
||||||
|
if (err == error.EndOfStream) return;
|
||||||
|
return err;
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO parse the line through langs.parse, then add the command to cmds
|
||||||
|
|
||||||
|
// TODO save the line to scri_file? or should we have a special `push`
|
||||||
|
// to do so?
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
|
|
Loading…
Reference in New Issue