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 else 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