better shell printing support

This commit is contained in:
Izaya 2020-03-18 14:03:23 +11:00
parent 36b1b4dfe0
commit 0712210768

View File

@ -10,6 +10,14 @@ local function shindex(self,k)
return _G[k]
end
local function formatValue(v)
if type(v) == "table" then
local w, rs = pcall(serial.serialize,v)
if w then return rs end
end
return tostring(v)
end
function shell.interactive()
local shenv = setmetatable({}, {__index=shindex})
local run = true
@ -26,16 +34,7 @@ function shell.interactive()
local rt = {pcall(f)}
local rs = table.remove(rt,1)
for k,v in pairs(rt) do
if type(v) == "table" then
local w, s = pcall(serial.serialize,v)
if w then
print(s)
else
print(tostring(v))
end
else
print(tostring(v))
end
print(formatValue(v))
end
end
end