From 8244f1590c580300f78a5449057dfaaadbae2f27 Mon Sep 17 00:00:00 2001 From: Ponali Date: Sun, 14 Sep 2025 16:28:15 +0200 Subject: [PATCH 1/4] added feature for checking if a component is virtual, and updated apps argentum and boot to comply with Halyde v3 --- halyde/apps/argentum.lua | 26 +++++++++++++------------- halyde/apps/boot.lua | 4 ++-- lib/component.lua | 15 ++++++++++++++- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/halyde/apps/argentum.lua b/halyde/apps/argentum.lua index a7367a7..e3ed00e 100644 --- a/halyde/apps/argentum.lua +++ b/halyde/apps/argentum.lua @@ -1,6 +1,6 @@ local packages = {...} -local command = packages[1] -table.remove(packages, 1) +local command = table.remove(packages,1) +local shell = require("shell") local fs = require("filesystem") local component = require("component") local agReg = require("/argentum/registry.cfg") @@ -107,7 +107,7 @@ local function doChecks(package) if agcfg[package].dependencies then for _, dependency in ipairs(agcfg[package].dependencies) do if not agReg[dependency] and not agcfg[dependency] then - local response = read(nil, "\27[91mPackage " .. package .. " requires dependency " .. dependency .. " that does not exist.\n[A - Abort/s - Skip]") + local response = terminal.read(nil, "\27[91mPackage " .. package .. " requires dependency " .. dependency .. " that does not exist.\n[A - Abort/s - Skip]") if response:lower() ~= "s" then fs.remove("/argentum/store/" .. package) return false @@ -166,7 +166,7 @@ local function installPackage(package, overwriteFlag) if agcfg[package].dependencies then for _, dependency in ipairs(agcfg[package].dependencies) do if not agReg[dependency] and not agcfg[dependency] then - local response = read(nil, "\27[91mPackage " .. package .. " requires dependency " .. dependency .. " that does not exist.\n[A - Abort/s - Skip]") + local response = terminal.read(nil, "\27[91mPackage " .. package .. " requires dependency " .. dependency .. " that does not exist.\n[A - Abort/s - Skip]") if response:lower() ~= "s" then fs.remove("/argentum/store/" .. package) return false @@ -199,7 +199,7 @@ local function installPackage(package, overwriteFlag) local data, errorMessage = getFile(source .. agcfg[package].maindir .. file) if not data then clearProgress() - local response = read(nil, "\27[91mCould not fetch " .. file .. ": " .. errorMessage .. "\n\27[0m[a - Abort/R - Retry/s - Skip]") + local response = terminal.read(nil, "\27[91mCould not fetch " .. file .. ": " .. errorMessage .. "\n\27[0m[a - Abort/R - Retry/s - Skip]") if response:lower() == "a" then fs.remove("/argentum/store/" .. package) return false @@ -258,7 +258,7 @@ local function removePackage(package) local result, errorMessage = fs.remove(line:sub(2)) if not result then clearProgress() - local response = read(nil, "\27[91mFailed to remove " .. line:sub(2) .. ": " .. errorMessage .. "\n\27[0m[a - Abort/r - Retry/S - Skip]") + local response = terminal.read(nil, "\27[91mFailed to remove " .. line:sub(2) .. ": " .. errorMessage .. "\n\27[0m[a - Abort/r - Retry/S - Skip]") if response:lower() == "a" then return false elseif response:lower() == "r" then @@ -274,7 +274,7 @@ local function removePackage(package) local handle, data, tmpdata = fs.open("/argentum/store/" .. package .. "/files/" .. line:sub(2), "r"), "", nil if not handle then clearProgress() - local response = read(nil, "\27[91mFailed to revert " .. line:sub(2) .. ": " .. data .. "\n\27[0m[a - Abort/R - Retry/s - Skip]") -- this is pretty stupid but i think the error message would get pushed to data + local response = terminal.read(nil, "\27[91mFailed to revert " .. line:sub(2) .. ": " .. data .. "\n\27[0m[a - Abort/R - Retry/s - Skip]") -- this is pretty stupid but i think the error message would get pushed to data if response:lower() == "a" then return false elseif response:lower() == "s" then @@ -360,7 +360,7 @@ if command == "install" then local answer if #fails == 0 then print("Packages that will be installed: " .. table.concat(packageList, ", ")) - if read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then + if terminal.read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then return end elseif #packageList == 0 then @@ -370,7 +370,7 @@ if command == "install" then print("Some packages cannot be installed.") print("Packages that will be installed: " .. table.concat(packageList, ", ")) print("Packages that cannot be installed: " .. table.concat(fails, ", ")) - if read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then + if terminal.read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then return end end @@ -452,7 +452,7 @@ elseif command == "remove" then local answer if #fails == 0 then print("Packages that will be removed: " .. table.concat(packageList, ", ")) - if read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then + if terminal.read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then return end elseif #packageList == 0 then @@ -462,7 +462,7 @@ elseif command == "remove" then print("Some packages cannot be removed.") print("Packages that will be removed: " .. table.concat(packageList, ", ")) print("Packages that cannot be removed: " .. table.concat(fails, ", ")) - if read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then + if terminal.read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then return end end @@ -560,14 +560,14 @@ elseif command == "update" then end elseif #fails == 0 then print("Packages that will be updated: " .. table.concat(packageList, ", ")) - if read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then + if terminal.read(nil, "Would you like to proceed? [Y/n] "):lower() == "n" then return end else print("Some packages cannot be updated.") print("Packages that will be updated: " .. table.concat(packageList, ", ")) print("Packages that cannot be updated: " .. table.concat(fails, ", ")) - if read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then + if terminal.read(nil, "Would you like to proceed? [y/N] "):lower() ~= "y" then return end end diff --git a/halyde/apps/boot.lua b/halyde/apps/boot.lua index 80de81e..7273c9f 100644 --- a/halyde/apps/boot.lua +++ b/halyde/apps/boot.lua @@ -38,7 +38,7 @@ if type(args[1])=="string" then return end if not force then - if componentlib.additions[compID] then + if component.virtual.check(compID) then return print("\x1b[91mThis component is virtual and cannot be booted from directly.\nID: "..compID) end local type = component.type(compID) @@ -56,5 +56,5 @@ if type(args[1])=="string" then end computer.shutdown(true) else - shell.run("help boot") + require("shell").run("help boot") end diff --git a/lib/component.lua b/lib/component.lua index 078fad4..b353ac7 100644 --- a/lib/component.lua +++ b/lib/component.lua @@ -19,7 +19,11 @@ function compLib.virtual.add(address, componentType, proxy) checkArg(2, componentType, "string") checkArg(3, proxy, "table") proxy["address"] = address - componentlib.additions[address] = {["componentType"] = componentType, ["proxy"] = proxy} + local proc + if _PUBLIC.tsched then + proc = _PUBLIC.tsched.getCurrentTask() + end + componentlib.additions[address] = {["componentType"] = componentType, ["proxy"] = proxy, ["proc"] = proc} if componentlib.removals[address] then componentlib.removals[address] = nil end @@ -34,6 +38,15 @@ function compLib.virtual.remove(address) end end +function compLib.virtual.check(address) + checkArg(1, address, "string") + if _G.componentlib.additions[address] then + return true, _G.componentlib.additions[address].proc + else + return false + end +end + function compLib.list(componentType) checkArg(1, componentType, "string", "nil") local componentList = table.copy(LLcomponent.list(componentType)) From 3c087aaddf891f369b3e41953d9d80c8f2558016 Mon Sep 17 00:00:00 2001 From: Ponali Date: Sun, 14 Sep 2025 17:45:36 +0200 Subject: [PATCH 2/4] added handling invalid invoke functions and ported a couple of apps stopped component.invoke from throwing a cryptic error, and ported over cat, cd, clear, cp, edit, ls, lsdrv, and mkdir --- halyde/apps/cat.lua | 5 +++-- halyde/apps/cd.lua | 5 +++-- halyde/apps/clear.lua | 2 +- halyde/apps/cp.lua | 5 +++-- halyde/apps/edit.lua | 28 +++++++++++++--------------- halyde/apps/ls.lua | 5 +++-- halyde/apps/lsdrv.lua | 27 ++++++++++++++++++++------- halyde/apps/mkdir.lua | 4 ++-- lib/component.lua | 1 + 9 files changed, 49 insertions(+), 33 deletions(-) diff --git a/halyde/apps/cat.lua b/halyde/apps/cat.lua index 2151914..2b18745 100644 --- a/halyde/apps/cat.lua +++ b/halyde/apps/cat.lua @@ -1,4 +1,5 @@ local files = {...} +local shell = require("shell") local fs = require("filesystem") if not files or not files[1] then shell.run("help cat") @@ -6,7 +7,7 @@ if not files or not files[1] then end for _, file in ipairs(files) do if file:sub(1, 1) ~= "/" then - file = fs.concat(shell.workingDirectory, file) + file = fs.concat(shell.getWorkingDirectory(), file) end if not fs.exists(file) then print("\27[91mFile does not exist.") @@ -15,6 +16,6 @@ for _, file in ipairs(files) do local data repeat data = handle:read(math.huge or math.maxinteger) - termlib.write(data) + terminal.write(data) until not data end diff --git a/halyde/apps/cd.lua b/halyde/apps/cd.lua index 5df313f..ddea6d1 100644 --- a/halyde/apps/cd.lua +++ b/halyde/apps/cd.lua @@ -1,14 +1,15 @@ local directory = ... local fs = require("filesystem") +local shell = require("shell") if not directory then return end if directory:sub(1, 1) ~= "/" then - directory = fs.concat(shell.workingDirectory, directory) + directory = fs.concat(shell.getWorkingDirectory(), directory) end if fs.exists(directory) and fs.isDirectory(directory) then - shell.workingDirectory = fs.canonical(directory) + shell.setWorkingDirectory(fs.canonical(directory)) else print("\27[91mNo such directory.") end diff --git a/halyde/apps/clear.lua b/halyde/apps/clear.lua index 12b9b4e..025cd5f 100644 --- a/halyde/apps/clear.lua +++ b/halyde/apps/clear.lua @@ -1,2 +1,2 @@ -clear() +terminal.clear() -- truly so much going on here diff --git a/halyde/apps/cp.lua b/halyde/apps/cp.lua index 9962779..efe6198 100644 --- a/halyde/apps/cp.lua +++ b/halyde/apps/cp.lua @@ -1,15 +1,16 @@ local fromFile, toFile = ... local fs = require("filesystem") +local shell = require("shell") if not fromFile or not toFile then shell.run("help cp") return end if fromFile:sub(1, 1) ~= "/" then - fromFile = fs.concat(shell.workingDirectory, fromFile) + fromFile = fs.concat(shell.getWorkingDirectory(), fromFile) end if toFile:sub(1, 1) ~= "/" then - toFile = fs.concat(shell.workingDirectory, toFile) + toFile = fs.concat(shell.getWorkingDirectory(), toFile) end if fromFile == toFile then print("\27[91mSource and destination are the same.") diff --git a/halyde/apps/edit.lua b/halyde/apps/edit.lua index 1281f03..0cbb9be 100644 --- a/halyde/apps/edit.lua +++ b/halyde/apps/edit.lua @@ -3,6 +3,7 @@ local fs = require("filesystem") local event = require("event") local component = require("component") local unicode = require("unicode") +local workingDirectory = require("shell").getWorkingDirectory() local gpu = component.gpu local width, height = gpu.getResolution() local scrollPosX, scrollPosY = 1, 1 @@ -15,9 +16,8 @@ local tab = " " --local ocelot = component.ocelot local function rawset(x, y, text) - termlib.cursorPosX = x - termlib.cursorPosY = y - termlib.write(text, false) + terminal.setCursorPos(x,y) + terminal.write(text, false) end local filestring, filepath, handle, data, tmpdata @@ -25,7 +25,7 @@ if file then if file:sub(1, 1) == "/" then filepath = file else - filepath = shell.workingDirectory .. file + filepath = workingDirectory .. file end handle, data, tmpdata = fs.open(filepath, "r"), "", nil if fs.exists(filepath) then @@ -44,7 +44,7 @@ if file then tmpdata = {data} end else - filepath = shell.workingDirectory .. file + filepath = workingDirectory .. file filestring = "[NEW FILE]" tmpdata = {""} end @@ -55,7 +55,7 @@ else end local function render() gpu.setActiveBuffer(renderBuffer) - clear() + terminal.clear() --ocelot.log(tostring(scrollPosY)) local realCursorX = math.min(cursorPosX, unicode.wlen(tmpdata[cursorPosY + scrollPosY - 1]) - scrollPosX + 2) if realCursorX < 1 then @@ -152,7 +152,7 @@ local function processEvent(args) if args[1] == "key_down" then local keycode = args[4] local key = keyboard.keys[keycode] - if keyboard.ctrlDown then + if keyboard.getCtrlDown() then return false, false, key end if key == "down" and cursorPosY < #tmpdata then @@ -261,14 +261,13 @@ local function save() gpu.setBackground(0xFFFFFF) gpu.setForeground(0) gpu.set(1, height - 1, string.rep(" ", width)) - termlib.cursorPosX = 1 - termlib.cursorPosY = height - 1 - local savepath = read(nil, "\27[107m\27[30mSave location: ", filepath) + terminal.setCursorPos(1, height - 1) + local savepath = terminal.read(nil, "\27[107m\27[30mSave location: ", filepath) gpu.setBackground(0xFFFFFF) gpu.setForeground(0) if fs.exists(savepath) then gpu.set(1, height - 1, string.rep(" ", width)) - local answer = read(nil, "\27[107m\27[30mFile already exists. Overwrite it? [Y/n] ") + local answer = terminal.read(nil, "\27[107m\27[30mFile already exists. Overwrite it? [Y/n] ") if answer:lower() == "n" then gpu.setBackground(0xFFFFFF) gpu.setForeground(0) @@ -301,15 +300,14 @@ while true do renderFlag, cursorRenderFlag, specialKey = processEvent(args) if specialKey == "x" then if changesMade then - termlib.cursorPosX = 1 - termlib.cursorPosY = height - 1 - local response = read(nil, "\27[107m\27[30mWould you like to save changes? [Y/n] ") + terminal.setCursorPos(1, height - 1) + local response = terminal.read(nil, "\27[107m\27[30mWould you like to save changes? [Y/n] ") if response:lower() ~= "n" then save() end end gpu.freeAllBuffers() - clear() + terminal.clear() return end if specialKey == "s" then diff --git a/halyde/apps/ls.lua b/halyde/apps/ls.lua index e7e7fe0..6f239b5 100644 --- a/halyde/apps/ls.lua +++ b/halyde/apps/ls.lua @@ -7,13 +7,14 @@ local maxLength = 0 local margin = 2 -- minimum space between filename and size local dirTable = {} local fileTable = {} +local workingDirectory = require("shell").getWorkingDirectory() if target then if target:sub(1, 1) ~= "/" then - target = fs.concat(shell.workingDirectory, target) + target = fs.concat(workingDirectory, target) end else - target = shell.workingDirectory + target = workingDirectory end local files = fs.list(target) diff --git a/halyde/apps/lsdrv.lua b/halyde/apps/lsdrv.lua index a392c7f..48be763 100644 --- a/halyde/apps/lsdrv.lua +++ b/halyde/apps/lsdrv.lua @@ -106,7 +106,7 @@ local function formatSize(mem) end local function fileExists(proxy,path) - return proxy.exists(path) and not proxy.isDirectory(path) + return proxy.exists and proxy.isDirectory and proxy.exists(path) and not proxy.isDirectory(path) end local function getBootCode(proxy) @@ -140,24 +140,37 @@ local function handleComponent(id,type) -- for i=1,#tableOut do table.insert(out,"unknown") end local slot,capacity,managed,readOnly,mount,bootable,label + local virtual,vproc = component.virtual.check(id) local cslot = component.slot(id) - if cslot==-1 then - slot="Virtual" + if virtual then + if vproc and vproc.name then + slot="Virtual ("..vproc.name..")" + else + slot="Virtual (unknown)" + end + elseif cslot==-1 then + slot="External" elseif cslot==9 then slot="EEPROM" + elseif cslot==5 or cslot==6 then + slot="HDD #"..(cslot-4) + elseif cslot==7 then + slot="Floppy" else slot="#"..(cslot+2) end - managed="Yes" + managed="No" readOnly="No" if type=="drive" then - managed="No" capacity=formatSize(proxy.getCapacity()) mount="/special/drive/"..id:sub(1,3) elseif type=="filesystem" then - capacity=formatSize(proxy.spaceTotal()) - if proxy.isReadOnly() then + managed="Yes" + if proxy.spaceTotal then + capacity=formatSize(proxy.spaceTotal()) + end + if not proxy.isReadOnly or proxy.isReadOnly() then readOnly="Yes" end mount="/mnt/"..id:sub(1,3) diff --git a/halyde/apps/mkdir.lua b/halyde/apps/mkdir.lua index 39eb0be..c14e2ad 100644 --- a/halyde/apps/mkdir.lua +++ b/halyde/apps/mkdir.lua @@ -2,11 +2,11 @@ local directory = ... local fs = require("filesystem") if not directory then - shell.run("help mkdir") + require("shell").run("help mkdir") return end if directory:sub(1, 1) ~= "/" then - directory = fs.concat(shell.workingDirectory, directory) + directory = fs.concat(require("shell").getWorkingDirectory(), directory) end if fs.exists(directory) then print("\27[91mAn object already exists at the specified path.") diff --git a/lib/component.lua b/lib/component.lua index b353ac7..e48288b 100644 --- a/lib/component.lua +++ b/lib/component.lua @@ -79,6 +79,7 @@ function compLib.invoke(address, funcName, ...) --ocelot.log("Invoking " .. funcName .. " from " .. address) if componentlib.additions[address] then --ocelot.log("vcomponent") + if not componentlib.additions[address].proxy[funcName] then error("no such method") end return componentlib.additions[address].proxy[funcName](...) else return LLcomponent.invoke(address, funcName, ...) From ff04e730f92719b1f7e8cee7db8e7d273181bfa9 Mon Sep 17 00:00:00 2001 From: Ponali Date: Sun, 14 Sep 2025 18:46:26 +0200 Subject: [PATCH 3/4] ported apps download/wget, fetch, label, and lscor/ps for the fetch app to fully work, defenv has been edited to share _OSLOGO. --- halyde/apps/download.lua | 4 ++-- halyde/apps/fetch.lua | 9 ++++++--- halyde/apps/label.lua | 4 ++-- halyde/apps/lscor.lua | 15 +++++++-------- halyde/kernel/modules/defenv.lua | 1 + 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/halyde/apps/download.lua b/halyde/apps/download.lua index 5885055..6098730 100644 --- a/halyde/apps/download.lua +++ b/halyde/apps/download.lua @@ -10,7 +10,7 @@ end if not url then print("Please enter a URL to download from.") - shell.run("help download") + require("shell").run("help download") return end @@ -39,7 +39,7 @@ until not tmpdata local saveLocation local saveLocationOK = false repeat - saveLocation = read(nil, "File save location: ", fs.concat(shell.workingDirectory, url:match("/([^/]+)$"))) + saveLocation = terminal.read(nil, "File save location: ", fs.concat(require("shell").getWorkingDirectory(), url:match("/([^/]+)$"))) if fs.isDirectory(saveLocation) then print("\27[91mThe specified location is a directory.") elseif fs.exists(saveLocation) then diff --git a/halyde/apps/fetch.lua b/halyde/apps/fetch.lua index eb71ae2..ef387a8 100644 --- a/halyde/apps/fetch.lua +++ b/halyde/apps/fetch.lua @@ -2,12 +2,14 @@ local component = require("component") local computer = require("computer") local function printstat(text) - terminal.cursorPosX = 35 + local cursorPosX, cursorPosY = terminal.getCursorPos() + terminal.setCursorPos(35, cursorPosY) terminal.write(text .. "\n", false) end terminal.write(_OSLOGO, false) -terminal.cursorPosY = terminal.cursorPosY - 17 +local cursorPosX, cursorPosY = terminal.getCursorPos() +terminal.setCursorPos(cursorPosX, cursorPosY - 17) printstat("\27[92mOS\27[0m: ".._OSVERSION) printstat("\27[92mArchitecture\27[0m: ".._VERSION) local componentCounter = 0 @@ -67,4 +69,5 @@ local width, height = component.invoke(component.list("gpu")(), "getResolution") printstat("\27[92mResolution\27[0m: "..tostring(width).."x"..tostring(height).."\n") printstat("\27[40m \27[41m \27[42m \27[43m \27[44m \27[45m \27[46m \27[47m ") printstat("\27[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ") -terminal.cursorPosY = terminal.cursorPosY + 5 +local cursorPosX, cursorPosY = terminal.getCursorPos() +terminal.setCursorPos(cursorPosX, cursorPosY + 5) diff --git a/halyde/apps/label.lua b/halyde/apps/label.lua index 2ed358e..ee7413f 100644 --- a/halyde/apps/label.lua +++ b/halyde/apps/label.lua @@ -3,7 +3,7 @@ local computer = require("computer") local args = {...} if not args then return print("\x1b[91mCannot get arguments.") end if not args[1] then - return shell.run("help label") + return require("shell").run("help label") end local inputID = args[1] local comp @@ -33,7 +33,7 @@ elseif #inputID>=3 then comp = component.proxy(fullID) else print("\x1b[91mAddress must have atleast 3 characters") - return shell.run("help label") + return require("shell").run("help label") end if not comp then return print("\x1b[91mCould not find component from \""..inputID.."\".") diff --git a/halyde/apps/lscor.lua b/halyde/apps/lscor.lua index ffe3495..3ef4cd9 100644 --- a/halyde/apps/lscor.lua +++ b/halyde/apps/lscor.lua @@ -1,9 +1,8 @@ -print("\27[93m"..tostring(#cormgr.corList).."\27[0m coroutines active") -for i=1, #cormgr.corList do - if i==#cormgr.corList then - print("\27[93m└ "..i.."\27[0m - "..cormgr.labelList[i].." \27[0m") - else - print("\27[93m├ "..i.."\27[0m - "..cormgr.labelList[i].." \27[0m") - end - +local tasks = tsched.getTasks() +print("\27[93m"..tostring(#tasks).."\27[0m coroutines active") +for i=1, #tasks do + local pipeChar = "├ " + if i==#tasks then pipeChar = "└ " end + local task = tasks[i] + print("\27[93m"..pipeChar..i.."\27[0m - "..task.name.."\27[37m "..table.concat(task.args or {}," ").." \27[0m") end diff --git a/halyde/kernel/modules/defenv.lua b/halyde/kernel/modules/defenv.lua index 430584c..2844562 100644 --- a/halyde/kernel/modules/defenv.lua +++ b/halyde/kernel/modules/defenv.lua @@ -11,6 +11,7 @@ function module.init() "print", "_VERSION", "_OSVERSION", + "_OSLOGO", "assert", "error", "getmetatable", From 66783e455cbc18facb0ce216f839ac1e6d26aea3 Mon Sep 17 00:00:00 2001 From: Ponali Date: Mon, 15 Sep 2025 07:08:19 +0200 Subject: [PATCH 4/4] ported apps lscor, mv, and rm there's partially rtest too, if you count that --- halyde/apps/lscor.lua | 2 +- halyde/apps/mv.lua | 5 +++-- halyde/apps/rm.lua | 3 ++- halyde/apps/rtest.lua | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/halyde/apps/lscor.lua b/halyde/apps/lscor.lua index 3ef4cd9..0481e47 100644 --- a/halyde/apps/lscor.lua +++ b/halyde/apps/lscor.lua @@ -4,5 +4,5 @@ for i=1, #tasks do local pipeChar = "├ " if i==#tasks then pipeChar = "└ " end local task = tasks[i] - print("\27[93m"..pipeChar..i.."\27[0m - "..task.name.."\27[37m "..table.concat(task.args or {}," ").." \27[0m") + print("\27[93m"..pipeChar..(task.id or i).."\27[0m - "..task.name.."\27[37m "..table.concat(task.args or {}," ").." \27[0m") end diff --git a/halyde/apps/mv.lua b/halyde/apps/mv.lua index d974660..4d5af43 100644 --- a/halyde/apps/mv.lua +++ b/halyde/apps/mv.lua @@ -1,4 +1,5 @@ local fromFile, toFile = ... +local shell = require("shell") local fs = require("filesystem") if not fromFile or not toFile then @@ -6,10 +7,10 @@ if not fromFile or not toFile then return end if fromFile:sub(1, 1) ~= "/" then - fromFile = fs.concat(shell.workingDirectory, fromFile) + fromFile = fs.concat(shell.getWorkingDirectory(), fromFile) end if toFile:sub(1, 1) ~= "/" then - toFile = fs.concat(shell.workingDirectory, toFile) + toFile = fs.concat(shell.getWorkingDirectory(), toFile) end if fromFile == toFile then print("\27[91mSource and destination are the same.") diff --git a/halyde/apps/rm.lua b/halyde/apps/rm.lua index d8fa1a9..bf9eccf 100644 --- a/halyde/apps/rm.lua +++ b/halyde/apps/rm.lua @@ -1,4 +1,5 @@ local file = ... +local shell = require("shell") local fs = require("filesystem") if not file then @@ -6,7 +7,7 @@ if not file then return end if file:sub(1, 1) ~= "/" then - file = fs.concat(shell.workingDirectory, file) + file = fs.concat(shell.getWorkingDirectory(), file) end if not fs.exists(file) then print("\27[91mFile does not exist.") diff --git a/halyde/apps/rtest.lua b/halyde/apps/rtest.lua index d5b202c..b9ad6f6 100644 --- a/halyde/apps/rtest.lua +++ b/halyde/apps/rtest.lua @@ -88,4 +88,4 @@ end end ]] raster.free() -termlib.cursorPosY=1 +terminal.setCursorPos(1,1)