Estoy tratando de crear un parche para cf.vim
para resolver un problema con hash. En ColdFusion, los signos #
se utilizan para encerrar una expresión dentro de un bloque cfoutput
.vim resaltado de sintaxis de las marcas de hash ColdFusion
<cfset x = 1 />
<cfoutput> x is now #x# </cfoutput>
<!--- outputs "x is now 1" --->
El problema entra en juego cuando hay una solitaria #
, no dentro de un bloque cfoutput
:
<a href="#x">an anchored link</a>
Esto hará que vim para resaltar todo después de la #
como si se tratara de una 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
¿Hay algo que puedo añadir a cfHashRegion
para contar vim "No entrar en un cfHashRegion menos que las propiedades de inicio y final ambos se encuentran
Super-bono:? cfoutput
es sólo la forma más común estar en una "cfOutputRegion". Cualquier cffunction
con la salida = "true" se comportará como si todo el interior de su bloque se envuelve en cfoutput
etiquetas.
Tuve que escapar del +, pero funcionó. No es perfecto, porque un 'cfHashRegion' en realidad se puede dividir en varias líneas. En la práctica, sin embargo, casi siempre están en una sola línea. ¡Gracias! – mwcz
Agregué esto a mi plugin Vim para una mejor compatibilidad con CF https://github.com/davejlong/cf-utils.vim –