6
我正在嘗試爲cf.vim
創建一個修補程序來解決散列問題。在ColdFusion中,#
標誌用於包含cfoutput
塊內的表達式。ColdFusion散列標記的vim語法高亮顯示
<cfset x = 1 />
<cfoutput> x is now #x# </cfoutput>
<!--- outputs "x is now 1" --->
問題進場時,有一個孤獨的#
,不是cfoutput
塊內:
<a href="#x">an anchored link</a>
這將導致VIM突出#
後一切就好像它是一個cfHashRegion
。
syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contained containedin=cfOutputRegion [email protected],cfScriptParenError
syn region cfOutputRegion matchgroup=NONE transparent start=+<cfoutput>+ end=+</cfoutput>+ contains=TOP
有什麼我可以添加到cfHashRegion
告訴VIM「不要進入cfHashRegion除非找到兩者的開始和結束的屬性
超級獎金:cfoutput
只是最常見的方式要在「cfOutputRegion」。任何cffunction
與輸出=「真」的行爲就好像它的塊中的一切都被包裹在cfoutput
標籤。
我不得不逃脫+,但它的工作。它並不完美,因爲'cfHashRegion'實際上可以分成多行。但實際上,它們幾乎總是在一條線上。謝謝! – mwcz 2010-03-06 17:59:39
我將此添加到我的Vim插件以獲得更好的CF支持https://github.com/davejlong/cf-utils.vim – 2012-06-13 13:57:21