diff --git a/install.lua b/install.lua index 72b15a8..8ce4f07 100644 --- a/install.lua +++ b/install.lua @@ -9,6 +9,7 @@ local LIST_FILES = { 'servers/ping-server.lua', -- programs 'programs/router.lua', -- router is not in servers folder because he's not ran on every machines + 'programs/events.lua', 'programs/ping.lua', 'programs/upgrade.lua', -- apis diff --git a/programs/events.lua b/programs/events.lua new file mode 100644 index 0000000..13ff406 --- /dev/null +++ b/programs/events.lua @@ -0,0 +1,47 @@ +local _VERSION = '1.0.0'; + +local command = ...; + +local function printUsage() + print('events usage:'); + print(); + print('\t\t\tevents'); + print('\t\t\tevents version'); + print('\t\t\tevents help'); +end + +local function valueToString(value) + if type(value) == 'string' then + return value; + end + + return textutils.serialize(value, { compact = true }); +end + +if command == 'version' or command == '-version' or command == '--version' then + print('events v' .. _VERSION); + return; +end + +if command == 'help' or command == '-help' or command == '--help' then + printUsage(); + return; +end + +if command ~= nil and command ~= '' then + printUsage(); + return; +end + +print('Listening events... Press Ctrl+T to stop.'); + +while true do + local event = table.pack(os.pullEventRaw()); + local parts = {}; + + for i = 1, event.n do + parts[i] = valueToString(event[i]); + end + + print(table.concat(parts, ' ')); +end