%% luakeys-debug.tex
%% Copyright 2021-2025 Josef Friedrich
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2008/05/04 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Josef Friedrich.
%
% This work consists of the files luakeys.lua, luakeys.sty, luakeys.tex
% luakeys-debug.sty and luakeys-debug.tex.

\directlua
{
  luakeys = require('luakeys')()
  if lparse == nil then
    lparse = require('lparse')
  end
}

% https://tug.org/TUGboat/tb32-1/tb100isambert.pdf
% Not working in the LaTeX ltxdoc class! Why?
\def\createcatcodes{\bgroup
\catcode`\\=12
\catcode`\{=12
\catcode`\}=12
\catcode`\$=12
\catcode`\&=12
\catcode`\^^M=13
\catcode`\#=12
\catcode`\^=12
\catcode`\_=12
\catcode`\ =13
\catcode`\~=12
\catcode`\%=12
\savecatcodetable 31278
\egroup}
\createcatcodes

\def\Space{ }
\bgroup
  \catcode`\^^M=13\gdef^^M{\quitvmode\par}%
  \catcode`\ = 13\gdef {\quitvmode\Space}%
\egroup

\def\luakeysdebug%
{%
  \directlua%
  {
    local oarg, marg = lparse.scan('o v')
    luakeys.print_debug(marg, oarg)
  }%
}
