local p = {};
function p.dashes(frame)
local sp, se
if frame.args["s"] == "thin" then
sp = " " -- U+2009 THIN SPACE
elseif frame.args["s"] == "hair" then
sp = " " -- U+200A HAIR SPACE
elseif frame.args["s"] == "space" then
sp = " " -- Regular space
else
sp = "" -- No space
end
if frame.args["d"] == "long" then
se = "—" -- U+2014 EM DASH
elseif frame.args["d"] == "med" or frame.args["d"] == "medium" then
se = "–" -- U+2013 EN DASH
elseif frame.args["d"] == "larr" then
se = "←" -- U+2190 ← LEFTWARDS ARROW
elseif frame.args["d"] == "rarr" then
se = "→" -- U+2192 → RIGHTWARDS ARROW
else
se = "-" -- Hyphen-minus
end
local out_str = frame.args["input_str"]:gsub(",%s+", sp .. se .. sp)
return "<span>" .. out_str .. "</span>"
end
return p