Ilya Bobir wrote:
> I'm continuing my investigation on Vim's syntax highlight for the
> following syntax rules:
>
> :syn cluster Top contains=Block,String,Identifier
> :syn region Block start=+{+ end=+}+ keepend extend [EMAIL PROTECTED]
> :syn region String start=+"+ end=+"+ contains=Identifier
> :syn region Identifier start=+\${+ end=+}+ extend
>
> and I've found that this code
>
> { block "string } extra
>
> is highlighted not exactly as I want it to be. Highlight is as follows:
>
> { block "string } extra
> SSSSSSSSS
>
> The problem is that closing brace '}' is highlighted as a String because
> Block does not have any kind of highlight and contained String region is
> forcefully terminated at the same character as enclosing Block is.
>
> So, I thought, that it would be logical that if I would limit Block
> highlight to be completely inside braces then String would not highlight
> brace character itself. It appears to be not the case. Here is a new
> matching rule for Block:
>
> :syn region Block start=+{+hs=e end=+}+he=s-1 keepend extend [EMAIL PROTECTED]
>
> Problem is that when a region is terminated because an enclosing keepend
> region is terminated, then the contained region highlight end is at the
> same point as the keepend region match end is, while, from my point of
> view, it should be where the keepend region highlight end is.
>
> Here is a patch that makes Vim do as I want. Version 1 is for an
> original syntax.c as it is in CVS now. Version 2 is for syntax.c that
> was modified by my previous patch from "extend inside normal inside
> keepend" e-mail.
Makes sense. Like the previous patch this needs to be tested for a
while.
--
ARTHUR: The swallow may fly south with the sun, or the house martin or the
plover seek warmer hot lands in winter, yet these are not strangers to
our land.
SOLDIER: Are you suggesting coconuts migrate?
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///