Я пытаюсь создать патч для cf.vim
, чтобы решить проблему с хэшами. В ColdFusion знаки #
используются для включения выражения в блок cfoutput
.
<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 contains=@cfExpressionCluster,cfScriptParenError
syn region cfOutputRegion matchgroup=NONE transparent start=+<cfoutput>+ end=+</cfoutput>+ contains=TOP
Есть ли что-то, что я могу добавить к cfHashRegion
, чтобы сказать vim "Не вводите cfHashRegion, если не найдены оба свойства start и end?
Супер-бонус: cfoutput
- это самый распространенный способ быть в "cfOutputRegion". Любой cffunction
с output = "true" будет вести себя так, как если бы все внутри его блока было обернуто в cfoutput
теги.