%D \module
%D [ file=s-reg-01,
%D version=2005.04.25,
%D title=\CONTEXT\ Style File,
%D subtitle=Extra Regime Support,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
%D \macros
%D {showregime}
%D
%D This code is moved from the kernel to here. (We could make it
%D auto-loadable).
\startluacode
--[[ldx--
The following code is rather specific.
--ldx]]--
function regimes.show(regime)
regime = regimes.synonyms[regime] or regime
local r = regimes.data[regime]
if r then
local chardata = characters.data
context.starttabulate { "|rT|T|rT|lT|lT|lT|" }
for k, v in ipairs(r) do
local chr = chardata[v]
if chr then
context.NC() context(k)
context.NC() context.getvalue(chr.contextname])
context.NC() context("%U+05X",v)
context.NC() context(chr.contextname)
context.NC() context(chr.category)
context.NC() context(chr.description)
context.NC() context.NR()
else
-- can't happen
end
end
context.stoptabulate()
else
context("unknown regime %s",regime)
end
end
\stopluacode
\unprotect
\def\showregime
{\dosingleempty\doshowregime}
\def\doshowregime[#1]%
{\ctxlua{regimes.show("#1")}}
\protect \endinput