On 5/29/2020 6:29 AM, Jairo A. del Rio wrote:
Hello list! I was reading the following:

https://wiki.contextgarden.net/Style_Alternatives

I wanted to figure out how to make a simple module. However, there's a point in the example below which I don't understand

% macros=mkvi
\startmodule[look]
\unprotect
\writestatus{loading}{ConTeXt User Module / look} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\installnamespace {look}
\installcommandhandler \????look {look} \????look

\appendtoks
\setuevalue{\currentlook}{\do_look{\currentlook}}
\to \everydefinelook

\unexpanded\def\do_look#id{%
\edef\currentlook{#id}%
\dosingleempty\do_do_look%
}

\def\do_do_look[#parms]#content{%
\begingroup
\iffirstargument\setupcurrentlook[#parms]\fi
%This handles style and color
\uselookstyleandcolor\c!style\c!color%
#content%
\endgroup%
}

\protect %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\stopmodule

What have I to do if, instead of "color" or "style", I want to use another keyword, as "dummy" and get its value? Something like

\definelook[lol][dummy = blabla]
\lol{words}
%e.g. words \emph{blabla} or something similar
so "lol" is a word, a number or whatever. I've read something about command handlers, but I'm having a hard time trying to understand them. Thank you in advance!
% macros=mkvi

\unprotect

\installnamespace {look}

\installcommandhandler \????look {look} \????look

\appendtoks
    \setuevalue{\currentlook}{\module_look_do{\currentlook}}
\to \everydefinelook

\unexpanded\def\module_look_do#id%
  {\edef\currentlook{#id}%
   \dosingleempty\module_look_do_do}

\def\module_look_do_do[#parms]#content%
  {\dontleavehmode
   \begingroup
   \iffirstargument
     \setupcurrentlook[#parms]%
   \fi
   \doifsomething{\lookparameter{title}}
     {\begingroup
        \uselookstyleandcolor\c!headstyle\c!headcolor
        \lookparameter{title}%
        \lookparameter{separator}%
      \endgroup}%
   \uselookstyleandcolor\c!style\c!color
   #content%
   \endgroup}

\protect

\starttext

\setuplook[separator={: }]

\definelook[lol][color=red,headcolor=green]

\lol[title=blabla]{words}

\stoptext



-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to