On Mar 5, 7:06 pm, Tarlika Elisabeth Schmitz
<[email protected]> wrote:
> On Mon, 5 Mar 2012 07:49:50 -0800 (PST)
>
> Ben Fritz <[email protected]> wrote:
> >> This virtually does what I want:
>
> >> syn region  xyzCode matchgroup=xyzCodeMark start='{{{' end='}}}'
> >> syn region  xyzCode matchgroup=xyzCodeMark start='{{{{' end='}}}}'
>
> >> with one exception:
> >> When the code block is started with more than 3 braces, the opening
> >> set of braces must be followed by [spaces] and a new line.
>
> >syn region  xyzCode matchgroup=xyzCodeMark start='{{{{\ze\s*$'
> >end='}}}}'
>
> That's great, got that working, also thanks for the help links.
>
> Now, I have  been trying to match another, more complex
> pattern but I don't know how to tackle it:
>
> [[foo:sometext|somename|someoption]]
>
> Not all of the elements are necessarily present.
> I would like to colour teach text element differently and the markup
> [[ : | | ]] in blue.
>
> foo: is optional
> | somename is optional
> | someoption is optional
>
> Is this a case for nextgroup?
>

I'd probably define a region from [[ to ]]. Depending on what the
syntax actually is, you might be able to get away with just creating
some contained groups and adding them to the contains= of the region.
But nextgroup can be very useful, especially if the items need to come
in some defined order.

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to