Files
Halyde/halyde/apps/lua.lua
T
Ponali d3d5f21ab1 lots and LOTS of stuff
i lost track sorry
2025-09-14 13:37:41 +02:00

32 lines
1.0 KiB
Lua

print("\27[44m".._VERSION.."\27[0m shell")
print('Type "exit" to exit.')
-- terminal.readHistory["lua"] = {""}
local fs = require("filesystem")
local loadedLibraries = ""
local libList = fs.list("/lib/")
for _, lib in pairs(libList) do
if lib:match("(.+)%.lua") then
loadedLibraries = loadedLibraries .. "local " .. lib:match("(.+)%.lua") .. ' = require("' .. lib:match("(.+)%.lua") .. '")\n'
end
end
while true do
local command = terminal.read("lua", "\27[44mlua>\27[0m ")
if command == "exit" then
return
elseif command~="" then
local function runCommand()
local func = load(loadedLibraries.."return "..command,"=stdin") or load(loadedLibraries..command,"=stdin")
local res = {assert(func)()}
if res and (type(res[1])~="nil" or type(res[2])~="nil") then print(table.unpack(res)) end
end
local result, reason = xpcall(runCommand, function(errMsg)
return errMsg .. "\n\n" .. debug.traceback()
end)
if not result then
print("\27[91m" .. reason)
end
end
end