local event=require("event") local tty=require("tty") local args={...} local gpu=tty.gpu() local interactive=io.output().tty local color,isPal,evt if interactive then color,isPal=gpu.getForeground() end io.write("Press 'Ctrl-C' to exit\n") pcall(function() repeat if#args>0 then evt=table.pack(event.pullMultiple("interrupted",table.unpack(args))) else evt=table.pack(event.pull()) end if interactive then gpu.setForeground(0xCC2200)end io.write("["..os.date("%T").."] ") if interactive then gpu.setForeground(0x44CC00)end io.write(tostring(evt[1])..string.rep(" ",math.max(10-#tostring(evt[1]),0)+1)) if interactive then gpu.setForeground(0xB0B00F)end io.write(tostring(evt[2])..string.rep(" ",37-#tostring(evt[2]))) if interactive then gpu.setForeground(0xFFFFFF)end if evt.n>2 then for i=3,evt.n do io.write(" "..tostring(evt[i])) end end io.write("\n") until evt[1]=="interrupted" end) if interactive then gpu.setForeground(color,isPal) end