On Tue, Apr 25, 2006 at 11:00:37PM -0600, Eric Arnold wrote:
> On 4/25/06, Benji Fisher <[EMAIL PROTECTED]> wrote:
> >
> >      I think the problem is that \%5l is a zero-width pattern.  I do not
> > know whether the docs say this, or if it is supposed to work this way,
> > but perhaps the point is that syntax highlighting applies to
> > characters, and there is no character that matches a zero-width pattern.
> > I tried
> 
> I'm fuzzy on what zero-width means.  I thought that it meant that it
> allows subseqent regexp sequences to match at the positition of the
> zero-width item, not that it couldn't an arbitrary width string.

     I think of it this way:  a zero-width pattern matches in between
two characters.  For example, /\</ matches between the space and the "b"
in "foo bar".

> > syn clear
> > syn match Visual /\%5l./
> 
> Do you mean /\%5l.*/  ?

     I am pretty sure that I tried what I typed.  My pattern should
match each character individually in the fifth line; yours should match
the whole line at once.

> > and that seems to work.  You should be able to tweak this to get a
> > rectangle.
> 
> I've gotten the rectangle I need but it took three steps.  That's
> fine, but I still don't know   syn match    and   match   are
> different.  I suppose it could be related to the zero width thing.  At
> this point, I will simply stop using   match   as a way to prototype
> regexps for   syn match.

     I can do it in one step:

:syn match Search /\%>3l\%<6l\%>2c\%<5c./ containedin=ALL

highlights a little 2x2 square as I edit this e-mail.  (I used
containedin=ALL since I did not do a :syn clear first.)

HTH                                     --Benji Fisher

Reply via email to