Operating system for OpenComputers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
612B

  1. local tA = {...}
  2. local docfiles = {}
  3. for _,file in pairs(tA) do
  4. docfiles[file] = {}
  5. local f = io.open(file)
  6. local lines = {}
  7. for l in f:read("*a"):gmatch("[^\n]+") do
  8. if l:find("function") and not l:find("local") then
  9. lines[#lines+1] = l
  10. end
  11. end
  12. for k,v in pairs(lines) do
  13. local name, args, desc = v:match("function%s+(.+)%s*%((.*)%)%s*%-%-%s*(.+)")
  14. if name and args and desc then
  15. docfiles[file][#docfiles[file]+1] = string.format("##%s(%s)\n%s",name,args,desc)
  16. end
  17. end
  18. end
  19. for k,v in pairs(docfiles) do
  20. if #v > 0 then
  21. print("#"..k)
  22. for l,m in pairs(v) do
  23. print(m)
  24. end
  25. end
  26. end