File: generate_wikidocs.lua

package info (click to toggle)
cataclysm-dda 0.C%2Bgit20190228.faafa3a-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 181,636 kB
  • sloc: cpp: 256,609; python: 2,621; makefile: 862; sh: 495; perl: 37; xml: 33
file content (58 lines) | stat: -rw-r--r-- 1,337 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
dofile "class_definitions.lua"

io.write("=== Global Functions ===\n")

function write_function(name, func)
    io.write("* ")
    io.write("'''"..(func.rval or "void").."'''")
    io.write(" ")
    io.write(name)
    io.write("(")
    for key, arg in ipairs(func.args) do
        io.write(arg)
        if func.argnames then
            io.write(" "..func.argnames[key])
        end
        if next(func.args, key) then
            io.write(", ")
        end
    end
    io.write(")\n")
    
    if func.desc then
        io.write("** "..func.desc.."\n")
    end
end

function write_attribute(name, attribute)
    io.write("* ")
    io.write("'''"..attribute.type.."'''")
    io.write(" ")
    io.write(name)
    if not attribute.writable then
        io.write(" ''read-only''")
    end
    io.write("\n")
    
    if attribute.desc then
        io.write("** "..attribute.desc.."\n")
    end
end

for name, func in pairs(global_functions) do
    write_function(name, func)
end

for classname, class in pairs(classes) do
    io.write("=== "..classname.." ===\n")
    
    io.write("==== Functions ====\n")
    for name, func in pairs(class.functions) do
        write_function(name, func)
    end
    
    io.write("==== Attributes ====\n")
    for name, attr in pairs(class.attributes) do
        write_attribute(name, attr)
    end
end