Module:Module introspection: Difference between revisions

Ganaram inukshuk (talk | contribs)
add params to functions
Ganaram inukshuk (talk | contribs)
No edit summary
Line 226: Line 226:
table.insert(lines, '{| class="wikitable sortable"')
table.insert(lines, '{| class="wikitable sortable"')
table.insert(lines, "|+ Functions provided " .. string.format("(%d)", #module_funcs))
table.insert(lines, "|+ Functions provided " .. string.format("(%d)", #module_funcs))
table.insert(lines, "! Line")
table.insert(lines, "! Function")
table.insert(lines, "! Function")
table.insert(lines, "! Line")
table.insert(lines, "! Params")


-- Table rows
-- Table rows
for _, info in ipairs(module_funcs) do
for _, info in ipairs(module_funcs) do
-- Find params for that function, or say "none" if none
local params = {}
local params = {}
for _, param in ipairs(info.params) do
for _, param in ipairs(info.params) do
table.insert(params, param)
table.insert(params, param)
end
end
local params_string = string.format("(%s)", table.concat(params, ", "))
local params_string = ""
if #params == 0 then
params_string = "''none''"
else
params_string = string.format("(%s)", table.concat(params, ", "))
end
local link = string.format("[[Module:%s#L-%d|%s%s]]", module_name, info.line, info.name, params_string)
-- Create link to line for that function
local link = string.format("[[Module:%s#L-%d|%s]]", module_name, info.line, info.name)
-- If the function is the main function, add "main" to that cell
-- If the function is the main function, add "main" to that cell
Line 245: Line 254:
table.insert(lines, "|-")
table.insert(lines, "|-")
table.insert(lines, "| " .. info.line)
table.insert(lines, "| " .. link)
table.insert(lines, "| " .. link)
table.insert(lines, "| " .. info.line)
table.insert(lines, "| " .. params_string)
end
end
table.insert(lines, "|}")
table.insert(lines, "|}")