В ср, 2006-11-01 в 10:53 +1100, Peter Hodge написа:
> --- ÐикÑоѬ ÐaожÑ&#146;Ñ&аѬов <[EMAIL PROTECTED]> wrote:
> 
> > Hello,
> > 
> > I'm working on a syntax file for .edc files. The problem before me is
> > that I want to use a different syntax file for a "script" part. I've
> > created the syntax file for the script syntax, and I've read how yto use
> > "syn include".
> > 
> > The real problem is, that in the .edc files, scripts are located within:
> > script {
> >   SCRIPT HERE
> > }
> > ,however, the scripts themselves can also have {} braces. I've written
> > the following, but it only uncludes the script syntax upto the first "}"
> > brace, and I have no idea how to make it end on the _matching_ "}" brace
> > instead:
> > 
> > -----------------------------------------------------------------------
> > syn include         @edcEmbryo      syntax/embryo.vim
> > unlet b:current_syntax
> > syn region  edcScript       start="\<script\>\s*\n*\s*{" end="}"
> > [EMAIL PROTECTED],edcScriptTag
> > syn keyword     edcScriptTag    contained script
> > -----------------------------------------------------------------------
> > 
> > So the question is, if I have:
> > script {
> >     if (foo) {
> >             bar;
> >     } else {
> >             baz;
> >     }
> > }
> > how do I make vim use the script syntax all the way up to the closing }
> > brace for the "script"?
> 
> Hello,
> 
> Your syntax file 'embryo.vim' will need regions match up all {} pairs as well.
> 
>   syn region embryoBraces matchgroup=Delimiter start=/{/ end=/}/ transparent
> 
> regards,
> Peter
> 

actually, after adding this region, what really happens, is that all the
'}' in the script part are of group Delimeter, including the '}' for the
'script {' itself. so, if there's another '}' after that, it becomes of
region edcScript (even though logically it's out of the script's scope).
There are times however, where a '}' won't follow the script's own
closing '}', thus the edcScript region will never end, as I observed in
the first case.

> 
> Send instant messages to your online friends http://au.messenger.yahoo.com 
-- 
Виктор Кожухаров /Viktor Kojouharov/

Attachment: signature.asc
Description: Това е цифрово подписана част от писмото

Reply via email to