added the touch app

This commit is contained in:
Ponali
2025-10-04 14:08:36 +02:00
parent a89953056b
commit db01a8d741
3 changed files with 33 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
Usage: touch [FLAGS] [FILE]
Creates a file with empty content.
FLAGS Specifies extra options when executing the command.
-o, --overwrite Allows emptying out a file if it already exists.
FILE The path of the file to create.²
+25
View File
@@ -0,0 +1,25 @@
local cliparse = require("cliparse")
cliparse.config({
["o"] = 0,
["overwrite"] = 0,
})
local parsed = cliparse.parse(...)
local file = parsed.args[1]
local fs = require("filesystem")
local shell = require("shell")
if not file then
return shell.run("help touch")
end
if file:sub(1, 1) ~= "/" then
file = fs.concat(shell.getWorkingDirectory(), file)
end
if fs.exists(file) and not (parsed.flags.o or parsed.flags.overwrite) then
return print("\x1b[91mFile already exists.\n│ To empty file contents, use -o.")
end
local handle = fs.open(file, "w")
handle:write("") -- just in case
handle:close()