documentation of a sort

This commit is contained in:
Izaya 2019-01-08 22:13:52 +11:00
parent 695ac926ed
commit 95e6a18216
2 changed files with 34 additions and 1 deletions

View File

@ -1,3 +1,9 @@
# OC-PsychOS2 # OC-PsychOS2
Operating system for OpenComputers A lightweight, multi-user operating system for OpenComputers
## Documentation
To generate function documentation, run:
./finddesc.lua module/* lib/* > apidoc.md

27
finddesc.lua Normal file
View File

@ -0,0 +1,27 @@
local tA = {...}
local docfiles = {}
for _,file in pairs(tA) do
docfiles[file] = {}
local f = io.open(file)
local lines = {}
for l in f:read("*a"):gmatch("[^\n]+") do
if l:find("function") and not l:find("local") then
lines[#lines+1] = l
end
end
for k,v in pairs(lines) do
local name, args, desc = v:match("function%s+(.+)%s*%((.*)%)%s*%-%-%s*(.+)")
if name and args and desc then
docfiles[file][#docfiles[file]+1] = string.format("##%s(%s)\n%s",name,args,desc)
end
end
end
for k,v in pairs(docfiles) do
if #v > 0 then
print("#"..k)
for l,m in pairs(v) do
print(m)
end
end
end