On Jul 14, 1:38 am, "Christian Brabandt" <[email protected]> wrote: > On Wed, July 13, 2011 7:13 pm, Ben Fritz wrote: > > On Jul 13, 1:11 am, "Christian Brabandt" <[email protected]> wrote: > >> I tried once using several > >> :syn match Evenl /.*/ nextgroup=Oddl > >> :syn match Oddl /.*/ nextgroup=Evenl > >> :hi Evenl ctermbg=Red ctermfg=Black > >> :hi Oddl ctermbg=Yellow ctermfg=Black > > >> Unfortunately, this did not work. I am not sure why. My understanding > >> of the syntax highlighting was, that the nextgroup parameter should > >> force matching the next group. But somehow it ends always matching the > >> same group. Not sure if this is a bug or my understanding is wrong. > > > I think it is because you aren't including the newline in the match. > > So, Oddl matches first, tries matching Evenl on the line ending (which > > fails because line endings aren't matched with '.'), and therefore > > Oddl matches again on the next line. Possibly just using ^.*\n as the > > pattern would fix it, but this will probably not work well together > > with existing syntax highlights. That's why I suggested matchadd() > > Yes, this works. Thanks for pointing me to the obvious ;) >
But, how well does it work with existing syntax? Is it easy to apply to C highlighting, for example? I imagine it would be very easy to get into a tangled mess of contains and containedin tweaks, so that it would be difficult to apply generically to all syntaxes. But I haven't ever tried, so maybe I'm just being paranoid. -- 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
