RosettaCodeData/Task/Execute-a-system-command/Limbo/execute-a-system-command.limbo

25 lines
453 B
Plaintext

implement Runls;
include "sys.m"; sys: Sys;
include "draw.m";
include "sh.m";
Runls: module {
init: fn(ctxt: ref Draw->Context, args: list of string);
};
init(ctxt: ref Draw->Context, args: list of string)
{
sys = load Sys Sys->PATH;
ls := load Command "/dis/ls.dis";
if(ls == nil)
die("Couldn't load /dis/ls.dis");
ls->init(ctxt, "ls" :: tl args);
}
die(s: string)
{
sys->fprint(sys->fildes(2), "runls: %s: %r", s);
raise "fail:errors";
}