mirror of
https://github.com/NeoFlock/neonucleus.git
synced 2025-09-24 09:03:32 +02:00
39 lines
1.1 KiB
Lua
39 lines
1.1 KiB
Lua
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
|
|
|