UDL (User-defined language) request 2: extend number style
-
How can I have UDL highlight time constant, which is defined as HH:mm:ss (e.g. 01:30:00)?
-
If the colon (
:
) is in yourUDL
>Operators & Delimiters
>Operators 1
list, then UDL will parse the01
,30
, and00
as numbers (though the colon itself will not be shown as part of the number) -
Yes, it will. But:
- The colon itself won’t be colourized as a number (but as an operator)
- In the following construct, the last numerical part is not parsed:
<Limit>00:01:00</Limit>
My definitions are:
- Operator 1:
, ( ) = + - * / % & :
- Delimiter 3: Open
<
, Close>
(to at least somehow handle XML data)
As a comment, HEREDOC cannot be set up together with my Delimiter 3 :-(
-
Unfortunately, at some point, the desires for a language-definition outgrow the abilities of the UDL. Fortunately, at that point, there is the potential for writing a custom lexer plugin for NPP. (Sorry, can’t help you there.)
-
… Then you have to ask yourself, “is the 80-90% coverage of what I want that UDL gives good enough, or do I need to invest the time and/or money in developing for myself or having someone else develop a lexer plugin to do exactly what I want?” That’s something only you can answer for yourself. Though there may be other NPP users on this forum who can help you get more out of the UDL than I know how to do.
-
Well, I didn’t expect UDL to be capable of doing it at the moment, as far as I could read the documentation, but it might eventually enhance a constant literal rule from only covering a subset of ASCII numbers (e.g.
+1,024.50
or6.19e-23
won’t be matched either, afaik) to some more complex definitions, where the time definition might find its place :-)