Lexer and optional arguments
Daniel
xracoonx at gmx.de
Fri Jan 20 21:44:01 UTC 2023
On 2022-04-18 19:46, Jean-Marc Lasgouttes wrote:
> Le 18/03/2022 à 18:45, Daniel a écrit :
>> Is it possible to have optional arguments read with Lexer? I imagine
>> something like:
>>
>> Command <Parameter1> [<Parameter2>]
>>
>> So Parameter1 is necessary but Parameter2 is optional. The Lexer would
>> only look on the same line for an optional parameter.
>
> Going back to old mails...
Me too... Unfortunately, I still find the lexer stuff hard to understand.
> What is possible is to read one line with eatLine() and then parse it,
> possibly with the lexer itself.
Maybe someone can give me a hint on how to create a lexer from a string
that I get via eatLine()?
> Or do something like in Layout::readAlignPossible.
So, could I alternatively just use lex.next() and still don't eat too
many commands because it would be somehow reset once I use
lex.popTable(), or what would be the idea?
Background:
I am back to getting the DynamicMenuButton to work with classic menus
rather than having to hard code every menu in a cumbersome and
non-customizable way.
It works, but I would like to combine two different button styles:
(1) a simple menu when one clicks on a button (as with Custom text styles)
(2) a function on the button itself and a menu to the side (as with Paste).
So, I thought about a function like this:
DynamicMenuButton <menu> <label> [<function>]
where the last argument is optional.
/Daniel
More information about the lyx-devel
mailing list