[TxMt] Re: Parameter-list RE in a grammar
Allan Odgaard
mailinglist at textmate.org
Tue Sep 9 05:48:02 UTC 2008
On 5 Sep 2008, at 23:10, Fritz Anderson wrote:
> I'm building up a grammar for the Confluence wiki markup, and I'm
> having trouble with tags that take a list of parameters.
>
> Tags look like this (all strings are examples only):
>
> {noparams}
> {oneparam:key=10}
> {twoparams:keyOne=value|keyTwo=2%}
> {threeparams:keyA=a value|keyB=another value|keyC=a third value}
> [...] Could someone enlighten me, please?
You can’t get proper scopes assigned to each item of a variable length
list using just one match, so you need to change strategy and use
begin/end rules, like in this example:
{ comment = 'match a tag with parameters';
begin = '{\w+:';
end = '}';
patterns = (
{ comment = 'match one parameter in the list';
match = '\w+\|[^\|}]*';
}
);
}
The above rule only handles tags with arguments, I would probably do a
separate rule for tags without arguments to keep it simple.
More information about the textmate
mailing list