local function makeDocs(name, docs)
if type(docs) ~= "table" then
error("Invalid docs. Not a table")
end
local file = fs.open(("%s_docs.txt"):format(name), "w")
if not file then
error("Unable to create file.")
end
for key, value in pairs(docs) do
local parts = {}
for text in string.gmatch(value, "([^-]+)") do
table.insert(parts, text)
end
local returnValue = parts[1]
local description = parts[2]
file.write(key)
file.write(" ")
file.write(returnValue)
file.write("\n")
file.write("->")
file.writeLine(description)
end
file.close()
end
local peripherals = peripheral.getNames()
for _, value in ipairs(peripherals) do
local perip = peripheral.wrap(value)
if not (perip["getInkLevel"] and perip["getPageSize"]) then -- Skip printing docs if peripheral is printer
local docs = perip.getDocs()
makeDocs(peripheral.getName(perip), docs)
end
end