मैं हैश के साथ किसी समस्या को हल करने के लिए cf.vim
के लिए पैच बनाने की कोशिश कर रहा हूं। कोल्डफ्यूजन में, #
संकेतों का उपयोग cfoutput
ब्लॉक के अंदर एक अभिव्यक्ति को संलग्न करने के लिए किया जाता है।कोल्डफ्यूजन हैश अंकों के विम सिंटैक्स हाइलाइटिंग
<cfset x = 1 />
<cfoutput> x is now #x# </cfoutput>
<!--- outputs "x is now 1" --->
समस्या खेलने में आता है जब एक अकेला #
है वहाँ एक cfoutput
ब्लॉक के अंदर नहीं:
<a href="#x">an anchored link</a>
यह जैसे कि यह एक cfHashRegion
में थे vim #
के बाद सब कुछ उजागर करने के लिए कारण होगा।
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
उत्पादन के साथ = "true" के रूप में यदि अपने ब्लॉक के अंदर सब कुछ cfoutput
टैग में लिपटे रहे थे व्यवहार करेगा।
मुझे + से बचना पड़ा, लेकिन यह काम किया। यह सही नहीं है, क्योंकि 'cfHashRegion' वास्तव में कई लाइनों पर विभाजित किया जा सकता है। अभ्यास में हालांकि, वे लगभग हमेशा एक पंक्ति पर हैं। धन्यवाद! – mwcz
मैंने बेहतर सीएफ समर्थन के लिए इसे अपने विम प्लगइन में जोड़ा https://github.com/davejlong/cf-utils.vim –