12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019 |
- " Vim syntax file
- "
- " Language: CFML (ColdFusion)
- " Author: Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com>
- " License: The MIT License (MIT)
- "
- " Maintainer: Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com>
- " URL: https://github.com/ernstvanderlinden/vim-coldfusion
- " Last Change: 2017 Nov 28
- "
- " Filenames: *.cfc *.cfm
- " Quit when a syntax file was already loaded.
- if exists("b:current_syntax")
- finish
- endif
- " Using line continuation here.
- let s:cpo_save=&cpo
- set cpo-=C
- sy sync fromstart
- " 20171126: disabled as we have fast computers now.
- "sy sync maxlines=2000
- sy case ignore
- " INCLUDES {{{
- sy include @sqlSyntax $VIMRUNTIME/syntax/sql.vim
- " 20161010: Disabled include html highlighting as it contains huge keywords
- " regex, so it will have impact on performance. Use own simple SGML tag
- " coloring instead.
- "runtime! syntax/html.vim
- " / INCLUDES }}}
- " NUMBER {{{
- sy match cfmlNumber
- \ "\v<\d+>"
- " / NUMBER }}}
- " EQUAL SIGN {{{
- sy match cfmlEqualSign
- \ "\v\="
- " / EQUAL SIGN }}}
- " BOOLEAN {{{
- sy match cfmlBoolean
- \ "\v<(true|false)>"
- " / BOOLEAN }}}
- " HASH SURROUNDED {{{
- sy region cfmlHashSurround
- \ keepend
- \ oneline
- \ start="#"
- \ end="#"
- \ skip="##"
- \ contains=
- \@cfmlOperator,
- \@cfmlPunctuation,
- \cfmlBoolean,
- \cfmlCoreKeyword,
- \cfmlCoreScope,
- \cfmlCustomKeyword,
- \cfmlCustomScope,
- \cfmlEqualSign,
- \cfmlFunctionName,
- \cfmlNumber
- " / HASH SURROUNDED }}}
- " OPERATOR {{{
- " OPERATOR - ARITHMETIC {{{
- " +7 -7
- " ++i --i
- " i++ i--
- " + - * / %
- " += -= *= /= %=
- " ^ mod
- sy match cfmlArithmeticOperator
- \ "\v
- \(\+|-)\ze\d
- \|(\+\+|--)\ze\w
- \|\w\zs(\+\+|--)
- \|(\s(
- \(\+|-|\*|\/|\%){1}\={,1}
- \|\^
- \|mod
- \)\s)
- \"
- " / OPERATOR - ARITHMETIC }}}
- " OPERATOR - BOOLEAN {{{
- " not and or xor eqv imp
- " ! && ||
- sy match cfmlBooleanOperator
- \ "\v\s
- \(not|and|or|xor|eqv|imp
- \|\!|\&\&|\|\|
- \)(\s|\))
- \|\s\!\ze\w
- \"
- " / OPERATOR - BOOLEAN }}}
- " OPERATOR - DECISION {{{
- "is|equal|eq
- "is not|not equal|neq
- "contains|does not contain
- "greater than|gt
- "less than|lt
- "greater than or equal to|gte|ge
- "less than or equal to|lte|le
- "==|!=|>|<|>=|<=
- sy match cfmlDecisionOperator
- \ "\v\s
- \(is|equal|eq
- \|is not|not equal|neq
- \|contains|does not contain
- \|greater than|gt
- \|less than|lt
- \|greater than or equal to|gte|ge
- \|less than or equal to|lte|le
- \|(!|\<|\>|\=){1}\=
- \|\<
- \|\>
- \)\s"
- " / OPERATOR - DECISION }}}
- " OPERATOR - STRING {{{
- " &
- " &=
- sy match cfmlStringOperator
- \ "\v\s\&\={,1}\s"
- " / OPERATOR - STRING }}}
- " OPERATOR - TERNARY {{{
- " ? :
- sy match cfmlTernaryOperator
- \ "\v\s
- \\?|\:
- \\s"
- " / OPERATOR - TERNARY }}}
- sy cluster cfmlOperator
- \ contains=
- \cfmlArithmeticOperator,
- \cfmlBooleanOperator,
- \cfmlDecisionOperator,
- \cfmlStringOperator,
- \cfmlTernaryOperator
- " / OPERATOR }}}
- " PARENTHESIS {{{
- sy cluster cfmlParenthesisRegionContains
- \ contains=
- \@cfmlAttribute,
- \@cfmlComment,
- \@cfmlFlowStatement,
- \@cfmlOperator,
- \@cfmlPunctuation,
- \cfmlBoolean,
- \cfmlBrace,
- \cfmlCoreKeyword,
- \cfmlCoreScope,
- \cfmlCustomKeyword,
- \cfmlCustomScope,
- \cfmlEqualSign,
- \cfmlFunctionName,
- \cfmlNumber,
- \cfmlStorageKeyword,
- \cfmlStorageType
- sy region cfmlParenthesisRegion1
- \ extend
- \ matchgroup=cfmlParenthesis1
- \ transparent
- \ start=/(/
- \ end=/)/
- \ contains=
- \cfmlParenthesisRegion2,
- \@cfmlParenthesisRegionContains
- sy region cfmlParenthesisRegion2
- \ matchgroup=cfmlParenthesis2
- \ transparent
- \ start=/(/
- \ end=/)/
- \ contains=
- \cfmlParenthesisRegion3,
- \@cfmlParenthesisRegionContains
- sy region cfmlParenthesisRegion3
- \ matchgroup=cfmlParenthesis3
- \ transparent
- \ start=/(/
- \ end=/)/
- \ contains=
- \cfmlParenthesisRegion1,
- \@cfmlParenthesisRegionContains
- sy cluster cfmlParenthesisRegion
- \ contains=
- \cfmlParenthesisRegion1,
- \cfmlParenthesisRegion2,
- \cfmlParenthesisRegion3
- " / PARENTHESIS }}}
- " BRACE {{{
- sy match cfmlBrace
- \ "{\|}"
- sy region cfmlBraceRegion
- \ extend
- \ fold
- \ keepend
- \ transparent
- \ start="{"
- \ end="}"
- " / BRACE }}}
- " PUNCTUATION {{{
- " PUNCTUATION - BRACKET {{{
- sy match cfmlBracket
- \ "\(\[\|\]\)"
- \ contained
- " / PUNCTUATION - BRACKET }}}
- " PUNCTUATION - CHAR {{{
- sy match cfmlComma ","
- sy match cfmlDot "\."
- sy match cfmlSemiColon ";"
- " / PUNCTUATION - CHAR }}}
- " PUNCTUATION - QUOTE {{{
- sy region cfmlSingleQuotedValue
- \ matchgroup=cfmlSingleQuote
- \ start=/'/
- \ skip=/''/
- \ end=/'/
- \ contains=
- \cfmlHashSurround
- sy region cfmlDoubleQuotedValue
- \ matchgroup=cfmlDoubleQuote
- \ start=/"/
- \ skip=/""/
- \ end=/"/
- \ contains=
- \cfmlHashSurround
- sy cluster cfmlQuotedValue
- \ contains=
- \cfmlDoubleQuotedValue,
- \cfmlSingleQuotedValue
- sy cluster cfmlQuote
- \ contains=
- \cfmlDoubleQuote,
- \cfmlSingleQuote
- " / PUNCTUATION - QUOTE }}}
- sy cluster cfmlPunctuation
- \ contains=
- \@cfmlQuote,
- \@cfmlQuotedValue,
- \cfmlBracket,
- \cfmlComma,
- \cfmlDot,
- \cfmlSemiColon
- " / PUNCTUATION }}}
- " TAG START AND END {{{
- " tag start
- " <cf...>
- " s^^ e
- sy region cfmlTagStart
- \ keepend
- \ transparent
- \ start="\c<cf_*"
- \ end=">"
- \ contains=
- \@cfmlAttribute,
- \@cfmlComment,
- \@cfmlOperator,
- \@cfmlParenthesisRegion,
- \@cfmlPunctuation,
- \@cfmlQuote,
- \@cfmlQuotedValue,
- \cfmlAttrEqualSign,
- \cfmlBoolean,
- \cfmlBrace,
- \cfmlCoreKeyword,
- \cfmlCoreScope,
- \cfmlCustomKeyword,
- \cfmlCustomScope,
- \cfmlEqualSign,
- \cfmlFunctionName,
- \cfmlNumber,
- \cfmlStorageKeyword,
- \cfmlStorageType,
- \cfmlTagBracket,
- \cfmlTagName
- " tag end
- " </cf...>
- " s^^^ e
- sy match cfmlTagEnd
- \ transparent
- \ "\c</cf_*[^>]*>"
- \ contains=
- \cfmlTagBracket,
- \cfmlTagName
- " tag bracket
- " </...>
- " ^^ ^
- sy match cfmlTagBracket
- \ contained
- \ "\(<\|>\|\/\)"
- " tag name
- " <cf...>
- " s^^^e
- sy match cfmlTagName
- \ contained
- \ "\v<\/*\zs\ccf\w*"
- " / TAG START AND END }}}
- " ATTRIBUTE NAME AND VALUE {{{
- sy match cfmlAttrName
- \ contained
- \ "\v(var\s)@<!\w+\ze\s*\=([^\=])+"
- sy match cfmlAttrValue
- \ contained
- \ "\v(\=\"*)\zs\s*\w*"
- sy match cfmlAttrEqualSign
- \ contained
- \ "\v\="
- sy cluster cfmlAttribute
- \ contains=
- \@cfmlQuotedValue,
- \cfmlAttrEqualSign,
- \cfmlAttrName,
- \cfmlAttrValue,
- \cfmlCoreKeyword,
- \cfmlCoreScope
- " / ATTRIBUTE NAME AND VALUE }}}
- " TAG REGION AND FOLDING {{{
- " CFCOMPONENT REGION AND FOLD {{{
- " <cfcomponent
- " s^^^^^^^^^^^
- " </cfcomponent>
- " ^^^^^^^^^^^^^e
- sy region cfmlComponentTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfcomponent"
- \ end="\c</cfcomponent>"
- " / CFCOMPONENT REGION AND FOLD }}}
- " CFFUNCTION REGION AND FOLD {{{
- " <cffunction
- " s^^^^^^^^^^
- " </cffunction>
- " ^^^^^^^^^^^^e
- sy region cfmlFunctionTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cffunction"
- \ end="\c</cffunction>"
- " / CFFUNCTION REGION AND FOLD }}}
- " CFIF REGION AND FOLD {{{
- " <cfif
- " s^^^^
- " </cfif>
- " ^^^^^^e
- sy region cfmlIfTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfif"
- \ end="\c</cfif>"
- " / CFIF REGION AND FOLD }}}
- " CFLOOP REGION AND FOLD {{{
- " <cfloop
- " s^^^^^^
- " </cfloop>
- " ^^^^^^^^e
- sy region cfmlLoopTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfloop"
- \ end="\c</cfloop>"
- " / CFLOOP REGION AND FOLD }}}
- " CFOUTPUT REGION AND FOLD {{{
- " <cfoutput
- " s^^^^^^^^
- " </cfoutput>
- " ^^^^^^^^^^e
- sy region cfmlOutputTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfoutput"
- \ end="\c</cfoutput>"
- " / CFOUTPUT REGION AND FOLD }}}
- " CFQUERY REGION AND FOLD {{{
- " <cfquery
- " s^^^^^^^
- " </cfquery>
- " ^^^^^^^^^e
- "\@cfmlSqlStatement,
- sy region cfmlQueryTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfquery"
- \ end="\c</cfquery>"
- \ contains=
- \@cfmlSqlStatement,
- \cfmlTagStart,
- \cfmlTagEnd,
- \cfmlTagComment
- " / CFQUERY REGION AND FOLD }}}
- " SAVECONTENT REGION AND FOLD {{{
- " <savecontent
- " s^^^^^^^^^^^
- " </savecontent>
- " ^^^^^^^^^^^^^e
- sy region cfmlSavecontentTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfsavecontent"
- \ end="\c</cfsavecontent>"
- " / SAVECONTENT REGION AND FOLD }}}
- " CFSCRIPT REGION AND FOLD {{{
- " <cfscript>
- " s^^^^^^^^^
- " </cfscript>
- " ^^^^^^^^^^e
- "\cfmlCustomScope,
- sy region cfmlScriptTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfscript>"
- \ end="\c</cfscript>"
- \ contains=
- \@cfmlComment,
- \@cfmlFlowStatement,
- \cfmlHashSurround,
- \@cfmlOperator,
- \@cfmlParenthesisRegion,
- \@cfmlPunctuation,
- \cfmlBoolean,
- \cfmlBrace,
- \cfmlCoreKeyword,
- \cfmlCoreScope,
- \cfmlCustomKeyword,
- \cfmlCustomScope,
- \cfmlEqualSign,
- \cfmlFunctionDefinition,
- \cfmlFunctionName,
- \cfmlNumber,
- \cfmlOddFunction,
- \cfmlStorageKeyword,
- \cfmlTagEnd,
- \cfmlTagStart
- " / CFSCRIPT REGION AND FOLD }}}
- " CFSWITCH REGION AND FOLD {{{
- " <cfswitch
- " s^^^^^^^^
- " </cfswitch>
- " ^^^^^^^^^^e
- sy region cfmlSwitchTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cfswitch"
- \ end="\c</cfswitch>"
- " / CFSWITCH REGION AND FOLD }}}
- " CFTRANSACTION REGION AND FOLD {{{
- " <cftransaction
- " s^^^^^^^^^^^^^
- " </cftransaction>
- " ^^^^^^^^^^^^^^^e
- sy region cfmlTransactionTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cftransaction"
- \ end="\c</cftransaction>"
- " / CFTRANSACTION REGION AND FOLD }}}
- " CUSTOM TAG REGION AND FOLD {{{
- " <cf_...>
- " s^^^ ^
- " </cf_...>
- " ^^^^^ e
- sy region cfmlCustomTagRegion
- \ fold
- \ keepend
- \ transparent
- \ start="\c<cf_[^>]*>"
- \ end="\c</cf_[^>]*>"
- " / CUSTOM TAG REGION AND FOLD }}}
- " / TAG REGION AND FOLDING }}}
- " COMMENT {{{
- " COMMENT BLOCK {{{
- " /*...*/
- " s^ ^e
- sy region cfmlCommentBlock
- \ keepend
- \ start="/\*"
- \ end="\*/"
- \ contains=
- \cfmlMetaData
- " / COMMENT BLOCK }}}
- " COMMENT LINE {{{
- " //...
- " s^
- sy match cfmlCommentLine
- \ "\/\/.*"
- " / COMMENT LINE }}}
- sy cluster cfmlComment
- \ contains=
- \cfmlCommentBlock,
- \cfmlCommentLine
- " / COMMENT }}}
- " TAG COMMENT {{{
- " <!---...--->
- " s^^^^ ^^^e
- sy region cfmlTagComment
- \ keepend
- \ start="<!---"
- \ end="--->"
- \ contains=
- \cfmlTagComment
- " / TAG COMMENT }}}
- " FLOW STATEMENT {{{
- " BRANCH FLOW KEYWORD {{{
- sy keyword cfmlBranchFlowKeyword
- \ break
- \ continue
- \ return
- " / BRANCH KEYWORD }}}
- " DECISION FLOW KEYWORD {{{
- sy keyword cfmlDecisionFlowKeyword
- \ case
- \ defaultcase
- \ else
- \ if
- \ switch
- " / DECISION FLOW KEYWORD }}}
- " LOOP FLOW KEYWORD {{{
- sy keyword cfmlLoopFlowKeyword
- \ do
- \ for
- \ in
- \ while
- " / LOOP FLOW KEYWORD }}}
- " TRY FLOW KEYWORD {{{
- sy keyword cfmlTryFlowKeyword
- \ catch
- \ finally
- \ rethrow
- \ throw
- \ try
- " / TRY FLOW KEYWORD }}}
- sy cluster cfmlFlowStatement
- \ contains=
- \cfmlBranchFlowKeyword,
- \cfmlDecisionFlowKeyword,
- \cfmlLoopFlowKeyword,
- \cfmlTryFlowKeyword
- " / FLOW STATEMENT }}}
- " STORAGE KEYWORD {{{
- sy keyword cfmlStorageKeyword
- \ var
- " / STORAGE KEYWORD }}}
- " STORAGE TYPE {{{
- sy match cfmlStorageType
- \ contained
- \ "\v<
- \(any
- \|array
- \|binary
- \|boolean
- \|date
- \|numeric
- \|query
- \|string
- \|struct
- \|uuid
- \|void
- \|xml
- \){1}\ze(\s*\=)@!"
- " / STORAGE TYPE }}}
- " CORE KEYWORD {{{
- sy match cfmlCoreKeyword
- \ "\v<
- \(new
- \|required
- \)\ze\s"
- " / CORE KEYWORD }}}
- " CORE SCOPE {{{
- sy match cfmlCoreScope
- \ "\v<
- \(application
- \|arguments
- \|attributes
- \|caller
- \|cfcatch
- \|cffile
- \|cfhttp
- \|cgi
- \|client
- \|cookie
- \|form
- \|local
- \|request
- \|server
- \|session
- \|super
- \|this
- \|thisTag
- \|thread
- \|variables
- \|url
- \){1}\ze(,|\.|\[|\)|\s)"
- " / CORE SCOPE }}}
- " SQL STATEMENT {{{
- sy cluster cfmlSqlStatement
- \ contains=
- \@cfmlParenthesisRegion,
- \@cfmlQuote,
- \@cfmlQuotedValue,
- \@sqlSyntax,
- \cfmlBoolean,
- \cfmlDot,
- \cfmlEqualSign,
- \cfmlFunctionName,
- \cfmlHashSurround,
- \cfmlNumber
- " / SQL STATEMENT }}}
- " TAG IN SCRIPT {{{
- sy match cfmlTagNameInScript
- \ "\vcf_*\w+\s*\ze\("
- " / TAG IN SCRIPT }}}
- " METADATA {{{
- sy region cfmlMetaData
- \ contained
- \ keepend
- \ start="@\w\+"
- \ end="$"
- \ contains=
- \cfmlMetaDataName
- sy match cfmlMetaDataName
- \ contained
- \ "@\w\+"
- " / METADATA }}}
- " COMPONENT DEFINITION {{{
- sy region cfmlComponentDefinition
- \ start="component"
- \ end="{"me=e-1
- \ contains=
- \@cfmlAttribute,
- \cfmlComponentKeyword
- sy match cfmlComponentKeyword
- \ contained
- \ "\v<component>"
- " / COMPONENT DEFINITION }}}
- " INTERFACE DEFINITION {{{
- sy match cfmlInterfaceDefinition
- \ "interface\s.*{"me=e-1
- \ contains=
- \cfmlInterfaceKeyword
- sy match cfmlInterfaceKeyword
- \ contained
- \ "\v<interface>"
- " / INTERFACE DEFINITION }}}
- " PROPERTY {{{
- sy region cfmlProperty
- \ transparent
- \ start="\v<property>"
- \ end=";"me=e-1
- \ contains=
- \@cfmlQuotedValue,
- \cfmlAttrEqualSign,
- \cfmlAttrName,
- \cfmlAttrValue,
- \cfmlPropertyKeyword
- sy match cfmlPropertyKeyword
- \ contained
- \ "\v<property>"
- " / PROPERTY }}}
- " FUNCTION DEFINITION {{{
- sy match cfmlFunctionDefinition
- \ "\v
- \(<(public|private|package)\s){,1}
- \(<
- \(any
- \|array
- \|binary
- \|boolean
- \|date
- \|numeric
- \|query
- \|string
- \|struct
- \|uuid
- \|void
- \|xml
- \)\s){,1}
- \<function\s\w+\s*\("me=e-1
- \ contains=
- \cfmlFunctionKeyword,
- \cfmlFunctionModifier,
- \cfmlFunctionName,
- \cfmlFunctionReturnType
- " FUNCTION KEYWORD {{{
- sy match cfmlFunctionKeyword
- \ contained
- \ "\v<function>"
- " / FUNCTION KEYWORD }}}
- " FUNCTION MODIFIER {{{
- sy match cfmlFunctionModifier
- \ contained
- \ "\v<
- \(public
- \|private
- \|package
- \)>"
- " / FUNCTION MODIFIER }}}
- " FUNCTION RETURN TYPE {{{
- sy match cfmlFunctionReturnType
- \ contained
- \ "\v
- \(any
- \|array
- \|binary
- \|boolean
- \|date
- \|numeric
- \|query
- \|string
- \|struct
- \|uuid
- \|void
- \|xml
- \)"
- " / FUNCTION RETURN TYPE }}}
- " FUNCTION NAME {{{
- " specific regex for core functions decreases performance
- " so use the same highlighting for both function types
- sy match cfmlFunctionName
- \ "\v<(cf|if|elseif|throw)@!\w+\s*\ze\("
- " / FUNCTION NAME }}}
- " / FUNCTION DEFINITION }}}
- " ODD FUNCTION {{{
- sy region cfmlOddFunction
- \ transparent
- \ start="\v<
- \(abort
- \|exit
- \|import
- \|include
- \|lock
- \|pageencoding
- \|param
- \|savecontent
- \|thread
- \|transaction
- \){1}"
- \ end="\v(\{|;)"me=e-1
- \ contains=
- \@cfmlQuotedValue,
- \cfmlAttrEqualSign,
- \cfmlAttrName,
- \cfmlAttrValue,
- \cfmlCoreKeyword,
- \cfmlOddFunctionKeyword,
- \cfmlCoreScope
- " ODD FUNCTION KEYWORD {{{
- sy match cfmlOddFunctionKeyword
- \ contained
- \ "\v<
- \(abort
- \|exit
- \|import
- \|include
- \|lock
- \|pageencoding
- \|param
- \|savecontent
- \|thread
- \|transaction
- \)\ze(\s|$|;)"
- " / ODD FUNCTION KEYWORD }}}
- " / ODD FUNCTION }}}
- " CUSTOM {{{
- " CUSTOM KEYWORD {{{
- sy match cfmlCustomKeyword
- \ contained
- \ "\v<
- \(customKeyword1
- \|customKeyword2
- \|customKeyword3
- \)>"
- " / CUSTOM KEYWORD }}}
- " CUSTOM SCOPE {{{
- sy match cfmlCustomScope
- \ contained
- \ "\v<
- \(prc
- \|rc
- \|event
- \|(\w+Service)
- \){1}\ze(\.|\[)"
- " / CUSTOM SCOPE }}}
- " / CUSTOM }}}
- " SGML TAG START AND END {{{
- " SGML tag start
- " <...>
- " s^^^e
- sy region cfmlSGMLTagStart
- \ keepend
- \ transparent
- \ start="\v(\<cf)@!\zs\<\w+"
- \ end=">"
- \ contains=
- \@cfmlAttribute,
- \@cfmlComment,
- \@cfmlOperator,
- \@cfmlParenthesisRegion,
- \@cfmlPunctuation,
- \@cfmlQuote,
- \@cfmlQuotedValue,
- \cfmlAttrEqualSign,
- \cfmlBoolean,
- \cfmlBrace,
- \cfmlCoreKeyword,
- \cfmlCoreScope,
- \cfmlCustomKeyword,
- \cfmlCustomScope,
- \cfmlEqualSign,
- \cfmlFunctionName,
- \cfmlNumber,
- \cfmlStorageKeyword,
- \cfmlStorageType,
- \cfmlTagBracket,
- \cfmlSGMLTagName
- " SGML tag end
- " </...>
- " s^^^^e
- sy match cfmlSGMLTagEnd
- \ transparent
- \ "\v(\<\/cf)@!\zs\<\/\w+\>"
- \ contains=
- \cfmlTagBracket,
- \cfmlSGMLTagName
- " SGML tag name
- " <...>
- " s^^^e
- sy match cfmlSGMLTagName
- \ contained
- \ "\v(\<\/*)\zs\w+"
- " / SGML TAG START AND END }}}
- " HIGHLIGHTING {{{
- hi link cfmlNumber Number
- hi link cfmlBoolean Boolean
- hi link cfmlEqualSign Keyword
- " HASH SURROUND
- hi link cfmlHash PreProc
- hi link cfmlHashSurround PreProc
- " OPERATOR
- hi link cfmlArithmeticOperator Function
- hi link cfmlBooleanOperator Function
- hi link cfmlDecisionOperator Function
- hi link cfmlStringOperator Function
- hi link cfmlTernaryOperator Function
- " PARENTHESIS
- hi link cfmlParenthesis1 Statement
- hi link cfmlParenthesis2 String
- hi link cfmlParenthesis3 Delimiter
- " BRACE
- hi link cfmlBrace PreProc
- " PUNCTUATION - BRACKET
- hi link cfmlBracket Statement
- " PUNCTUATION - CHAR
- hi link cfmlComma Comment
- hi link cfmlDot Comment
- hi link cfmlSemiColon Comment
- " PUNCTUATION - QUOTE
- hi link cfmlDoubleQuote String
- hi link cfmlDoubleQuotedValue String
- hi link cfmlSingleQuote String
- hi link cfmlSingleQuotedValue String
- " TAG START AND END
- hi link cfmlTagName Function
- hi link cfmlTagBracket Comment
- " ATTRIBUTE NAME AND VALUE
- hi link cfmlAttrName Type
- hi link cfmlAttrValue Special
- " COMMENT
- hi link cfmlCommentBlock Comment
- hi link cfmlCommentLine Comment
- hi link cfmlTagComment Comment
- " FLOW STATEMENT
- hi link cfmlDecisionFlowKeyword Conditional
- hi link cfmlLoopFlowKeyword Repeat
- hi link cfmlTryFlowKeyword Exception
- hi link cfmlBranchFlowKeyword Keyword
- " STORAGE KEYWORD
- hi link cfmlStorageKeyword Keyword
- " STORAGE TYPE
- hi link cfmlStorageType Keyword
- " CORE KEYWORD
- hi link cfmlCoreKeyword PreProc
- " CORE SCOPE
- hi link cfmlCoreScope Keyword
- " TAG IN SCRIPT
- hi link cfmlTagNameInScript Function
- " METADATA
- " meta data value = cfmlMetaData
- hi link cfmlMetaData String
- hi link cfmlMetaDataName Type
- " COMPONENT DEFINITION
- hi link cfmlComponentKeyword Keyword
- " INTERFACE DEFINITION
- hi link cfmlInterfaceKeyword Keyword
- " PROPERTY
- hi link cfmlPropertyKeyword Keyword
- " FUNCTION DEFINITION
- hi link cfmlFunctionKeyword Keyword
- hi link cfmlFunctionModifier Keyword
- hi link cfmlFunctionReturnType Keyword
- hi link cfmlFunctionName Function
- " ODD FUNCTION
- hi link cfmlOddFunctionKeyword Function
- " CUSTOM
- hi link cfmlCustomKeyword Keyword
- hi link cfmlCustomScope Structure
- " SGML TAG
- hi link cfmlSGMLTagName Ignore
- " / HIGHLIGHTING }}}
- let b:current_syntax = "cfml"
- let &cpo = s:cpo_save
- unlet s:cpo_save
|