В ср, 2006-11-01 в 10:53 +1100, Peter Hodge написа: > --- ÐикÑоѬ ÐaожђÑ&аѬов <[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/
signature.asc
Description: Това е цифрово подписана част от писмото