Damaged

Untitled

Mar 3rd, 2015
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2.   Made by SinZ and boq
  3. --]]
  4. local args = {...}
  5. if #args == 0 then
  6.   print("usage: docs <side> (function)")
  7.   return
  8. end
  9.  
  10. local side = args[1]
  11. local p = peripheral.wrap(side)
  12.  
  13. if not p then
  14.   print("No peripheral on '" .. side .. "'")
  15.   return
  16. end
  17.  
  18. if not p.getAdvancedMethodsData then
  19.  print("Peripheral '" .. peripheral.getType(side) .. "' is not OpenPeripheral(TM)")
  20.  return
  21. end
  22.  
  23. local info = p.getAdvancedMethodsData()
  24.  
  25. function argName(arg)
  26.   if arg.vararg then
  27.     return arg.name.."..."
  28.   elseif arg.optional then
  29.     return arg.name.."?"
  30.   else
  31.     return arg.name
  32.   end
  33. end
  34.  
  35. if #args == 1 then
  36.   outFile = fs.open(peripheral.getType(side), "w")
  37.   for name,data in pairs(info) do
  38.     args = {}
  39.     for _,arg in pairs(data.args) do
  40.       table.insert(args, argName(arg))
  41.     end
  42.     outFile.write(name.."("..table.concat(args,",")..")")
  43.     print(name.."("..table.concat(args,",")..")")
  44.   end
  45.   outFile.close()
  46. else --must be 2 or more
  47.   outFile = fs.open(peripheral.getType(side)..name,"w")
  48.   for name,data in pairs(info) do
  49.     if args[2]:lower() == name:lower() then
  50.       print(name..": "..data.description)
  51.       print("source: " .. data.source)
  52.       print("returns: "..string.lower(table.concat(data.returnTypes,',')))
  53.       outFile.write(name..": "..data.description)
  54.       outFile.write("source: " .. data.source)
  55.       outFile.write("returns: "..string.lower(table.concat(data.returnTypes,',')))
  56.       if #data.args > 0 then
  57.         print("args: ")
  58.         outFile.write("args: ")
  59.         for _,arg in ipairs(data.args) do
  60.           print(" - ("..arg.type:lower()..")"..argName(arg)..": "..arg.description)  
  61.           outFile.write(" - ("..arg.type:lower()..")"..argName(arg)..": "..arg.description)  
  62.         end
  63.       end
  64.     end
  65.   end
  66.   outFile.close()
  67. end
Advertisement
Add Comment
Please, Sign In to add comment