Module:Check for unknown parameters: Difference between revisions

add support for preview messages
m>Mr. Stradivarius
(various changes: add a trim function, remove unnecessary parens, don't check type for wikitext values (they are always strings), and don't use mw.ustring when the string library will do (it's a lot faster))
m>Frietjes
(add support for preview messages)
Line 19: Line 19:
local knownargs = {}
local knownargs = {}
local unknown = 'Found _VALUE_, '
local unknown = 'Found _VALUE_, '
local preview = nil


local res = {}
local res = {}
Line 25: Line 26:
local commentstr = ''
local commentstr = ''
local ispreview = frame:preprocess( "{{REVISIONID}}" ) == "" and 1 or 0
-- create the list of known args, regular expressions, and the return string
-- create the list of known args, regular expressions, and the return string
for k, v in pairs(args) do
for k, v in pairs(args) do
Line 30: Line 33:
v = trim(v)
v = trim(v)
knownargs[v] = 1
knownargs[v] = 1
elseif k == 'unknown' then
elseif k == 'unknown' and ispreview == 0 then
unknown = v
unknown = v
elseif k == 'preview' and ispreview == 1 then
preview = v
elseif k:find('^regexp[1-9][0-9]*$') then
elseif k:find('^regexp[1-9][0-9]*$') then
table.insert(regexps, '^' .. v .. '$')
table.insert(regexps, '^' .. v .. '$')
end
end
end
end
 
if ispreview == 1 and preview then unknown = preview end
-- adds one result to the output tables
-- adds one result to the output tables
local function addresult(k)
local function addresult(k)
Anonymous user