# Re: [NTG-context] Bug with linenumbering

On Wed, 2 May 2012, Hans Hagen wrote:


On 1-5-2012 21:43, Aditya Mahajan wrote:

Hi,

Line numbering does not respect the parameters given with
\startlinenumbering. For example:



Line numbering is a delayed operation. As they are handled when the page is constructed the settings of that moment apply. In practice only the start key is handled when you pass settings to \start.... (the only reason for having the second argument is number start/restart etc). If you want different renderings, the best is to define a specific instance of line numbering.


A little background: In the initial version of the vim module, I used to do line numbering manually (each line started with \NL macro, which expanded to a number in an appropriate style depending on whether line numbering was enabled or not. When I rewrote the module to use the filter module, I also rewrote the line numbering mechanism to use ConTeXt's inbuilt line numbering macros, but I cannot get them to work.


Consider the following example. I want to define an environment, which, amongst other things does line numbering. I want the user to control the style and color of line numbering, so I define keys numberstyle and numbercolor, which are then passed on to the line numbering macros. The most obvious implementation of this does not work.

\definenamespace
[whatever]
[
type=module,
name=whatever,
command=yes,
setup=yes,
parent=whatever,
]

\appendtoks
\definelinenumbering
[\currentwhatever]
[
color=\whateverparameter{numbercolor},
style=\whateverparameter{numberstyle},
]%
\setvalue{start\currentwhatever}{\dostartwhatever[\currentwhatever]}%
\setvalue{stop\currentwhatever}{\dostopwhatever}%
\to\everydefinewhatever

% For illustration. The actual macro is more complicated.
\def\dostartwhatever[#1]%
{\startlinenumbering[#1]}

\def\dostopwhatever
{\stoplinenumbering}

%%%%

\definewhatever[testing][numbercolor=red,numberstyle=bold]

\starttext
\starttesting
\input knuth
\stoptesting
\stoptext


When I run it, the line number is not styled. Any idea on what I can do differently?