%D \module
%D   [       file=node-ini,
%D        version=2006.08.20,
%D          title=\CONTEXT\ Node Macros,
%D       subtitle=Initialization,
%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.

\writestatus{loading}{ConTeXt Node Support / Initialization}

\unprotect

\newcount\filterstate \filterstate\plusone % hm, public

\registerctxluafile{node-ini}{1.001}
\registerctxluafile{node-met}{1.001}
\registerctxluafile{node-nut}{1.001}
\registerctxluafile{node-res}{1.001}
\registerctxluafile{node-ppt}{1.001} % experimental
\registerctxluafile{node-dir}{1.001}
\registerctxluafile{node-aux}{1.001}
\registerctxluafile{node-tst}{1.001}
\registerctxluafile{node-tra}{1.001} % we might split it off (module)
\registerctxluafile{node-snp}{1.001}
\registerctxluafile{node-tsk}{1.001}
\registerctxluafile{node-tex}{1.001}
\registerctxluafile{node-pro}{1.001}
\registerctxluafile{node-ser}{1.001}
\registerctxluafile{node-ext}{1.001}
\registerctxluafile{node-acc}{1.001} % experimental
%registerctxluafile{node-prp}{1.001} % makes no sense (yet)
\registerctxluafile{node-ppt}{1.001}
\registerctxluafile{node-scn}{1.001}

\newcount\c_node_tracers_show_box % box number

\unexpanded\def\shownextnodes{\afterassignment\node_tracers_show_next\c_node_tracers_show_box}
\unexpanded\def\showflatnodes{\afterassignment\node_tracers_show_flat\c_node_tracers_show_box}

\def\node_tracers_show_next{\ctxlua{texio.write_nl('log',nodes.serializebox(\number\c_node_tracers_show_box,false,true))}}
\def\node_tracers_show_flat{\ctxlua{texio.write_nl('log',nodes.serializebox(\number\c_node_tracers_show_box,true, true))}}

\unexpanded\def\visualizenextnodes{\dowithnextbox{\ctxlua{nodes.visualizebox(\number\nextbox,false,true)}}}
\unexpanded\def\visualizeflatnodes{\dowithnextbox{\ctxlua{nodes.visualizebox(\number\nextbox,true,true)}}}

\unexpanded\def\starttracingnodes[#1]{\ctxlua{nodes.tracers.characters.start("#1")}}
\unexpanded\def\stoptracingnodes     {\ctxlua{nodes.tracers.characters.stop()}}

% \starttext
%     \starttracingnodes[characters]
%         \input tufte \par
%         \input tufte \par
%     \stoptracingnodes
% \stoptext

\protect \endinput
