Editing Module:Template invocation
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 94: | Line 94: | ||
for k, v in ipairs(invArgs) do | for k, v in ipairs(invArgs) do | ||
if type(v) == 'string' and v:find('=', 1, true) then | if type(v) == 'string' and v:find('=', 1, true) then | ||
-- Likely something like 1=foo=bar | -- Likely something like 1=foo=bar, we need to do it as a named arg | ||
break | |||
end | end | ||
ret[#ret + 1] = seps.pipe | |||
ret[#ret + 1] = v | |||
invArgs[k] = nil -- Erase the key so that we don't add the value twice | |||
end | end | ||
local | local invArgs_list = {} -- sort a parameter list; preferable to randomly sorted output | ||
for k, | for k, v in pairs(invArgs) do | ||
invArgs_list[#invArgs_list + 1] = k | |||
end | end | ||
table.sort( | table.sort(invArgs_list) | ||
for i, v in ipairs(invArgs_list) do -- Add named args based on sorted parameter list | |||
for | |||
ret[#ret + 1] = seps.pipe | ret[#ret + 1] = seps.pipe | ||
ret[#ret + 1] = | ret[#ret + 1] = v | ||
ret[#ret + 1] = seps.equals | ret[#ret + 1] = seps.equals | ||
ret[#ret + 1] = invArgs[v] | ret[#ret + 1] = invArgs[v] |