Module:Respell
local p = {}
function p._main(args)
local ret = {}
for i, v in ipairs(args) do
v = mw.text.trim(v)
-- Compatibility: Ignore arguments that only contain an apostrophe
if v ~= '' and v ~= "'" then
if ret[#ret]
and not (ret[#ret]:find('_') or ret[#ret]:find('%-%)?$'))
and not (v:find('_') or v:find('^%(?%-'))
then
table.insert(ret, '-')
end
if v:find('^[%u%(%)]+$') then
v = '' .. v .. ''
end
table.insert(ret, v)
end
end
ret = '' ..
table.concat(ret):gsub('_', ' ')
-- Avoid dangling hyphens
:gsub(' %-', ' -')
:gsub('^%-', '-')
.. ''
if args.link ~= 'no' then
ret = '' .. ret .. ''
end
return ret
end
function p.main(frame)
return p._main(frame:getParent().args)
end
return p