%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]
%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
tex.sprint(tc,"\\starttabulate[|rT|T|rT|lT|lT|lT|]")
for k, v in ipairs(r) do
tex.sprint(tex.ctxcatcodes, string.format("\\NC %s\\NC\\getvalue{%s}\\NC %s\\NC %s\\NC %s\\NC %s\\NC\\NR", k,
characters.contextname(v), characters.hexindex(v), characters.contextname(v),
characters.category(v), characters.description(v)))
end
tex.sprint(tex.ctxcatcodes,"\\stoptabulate")
else
tex.sprint(tex.ctxcatcodes,"unknown regime " .. regime)
end
end
\stopluacode
\unprotect
\def\showregime
{\dosingleempty\doshowregime}
\def\doshowregime[#1]%
{\ctxlua{regimes.show("#1")}}
\protect \endinput