Stahlman Family wrote:
> 
> 
> Maxim Kim wrote:
>> On 19 фев, 00:28, Brett Stahlman <[email protected]> wrote:
>>>> Unfortunatly It doesn't work:
>>> How about something like this?
>>> :syntax region level1 start=/^![^!]\+.*/ end=/^![^!]\+.*/me=s-1 fold
>>> contains=level2
>>> :syntax region level2 start=/^!![^!]\+.*/ end=/^!!\?[^!]\+.*/me=s-1
>>> fold contained
>>>
>>> It works for me, but doesn't exclude the newlines leading up to the
>>> next level. I don't have time right now to determine why the original
>>> version with the \n\+\ze doesn't work properly. Perhaps I'll be able
>>> to look at it tonight if no one else has answered...

Incidentally, I just made your original patterns work by instructing vim 
to start syntax parsing at the beginning of the file:
:syn sync fromstart
It appears that the Vim syntax parser was getting confused by the end 
patterns that spanned lines.

:help syn-sync

Brett Stahlman

>> Thanks a lot -- it works like a charm!
>> Could you point me where I can read about "me=s-1"? Is it kind of
>> "offset" in :h search-offset?
> 
> :help syn-pattern-offset
> Without the 'contained' attribute, level2 will be allowed to occur at 
> the top level. I was assuming, perhaps incorrectly, that you didn't want 
> this. Without the 'contains=' in level1 (or a 'containedin=' in level2), 
> level2 would not *normally* be recognized inside level1. It seems to be 
> recognized in this case because of the 'transparent' attribute. You can 
> verify this by removing 'transparent' and highlighting the regions like 
> so...
> :hi level1 guifg=red
> :hi level2 guifg=blue
> ...in which case, you should find that level2 goes away. I suspect that 
> the 'transparent' attribute implies 'contained', though I did not see 
> this stated explicitly in the help...
> 
> Incidentally, you may have noticed that the sentence beginning with "It 
> works for me..." in my previous post made no sense. I see now that you 
> weren't trying to exclude newlines from the region that contained them.
> 
> Brett Stahlman
> 
>> PS:
>> By the way, if I remove contains and contained -- it still works.
>>
> 
> > 
> 

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to