Spade

Mini Shell

Directory:~$ /usr/share/vim/vim74/syntax/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //usr/share/vim/vim74/syntax/cf.vim

" Vim syntax file
" Language:	CFML
" Maintainer:	Toby Woodwark (toby.woodwark+vim@gmail.com)
" Last Change:	2010-03-02
" Filenames:	*.cfc *.cfm
" Version:	Adobe ColdFusion 9
" Usage:	This file contains both syntax definitions
" 		and a list of known builtin tags, functions and keywords.
" 		Refs - 
"
http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WS8f0cc78011fffa71866534d11cdad96e4e-8000.html
"
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17324-8000.html
" TODO: 
" 		Support the limited array literal and struct literal syntax in
CF8+.
" 		Highlight namespaced tags fom cfimport.
" 		Complete CF9+ cfscript support.
" 		Railo support.
" Options:
"	d_noinclude_html - set to prevent HTML highlighting.	Use this if you
are not working on HTML.

" Quit if a syntax file is already loaded.
if exists("b:current_syntax")
  finish
endif

if exists("d_noinclude_html")
  " Define alternatives to the HTML syntax file.

  " Copied from html.vim - the rules for matching a CF tag match	those
for HTML/SGML.
  " CFML syntax is more permissive when it comes to superfluous
<> chars.
  syn region	htmlString	contained start=+"+ end=+"+
contains=@htmlPreproc
  syn region	htmlString	contained start=+'+ end=+'+
contains=@htmlPreproc
  syn match	htmlValue	contained "=[\t ]*[^'" \t>][^
\t>]*"hs=s+1	contains=@htmlPreproc
  " Hacked htmlTag so that it only matches cf tags and not random
<> chars.
  syn region	htmlEndTag	start=+</cf+	end=+>+
contains=htmlTagN,htmlTagError
  syn region	htmlTag		start=+<\s*cf[^/]+	end=+>+
contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,@htmlPreproc,@htmlArgCluster
  syn match	htmlTagN	contained +<\s*[-a-zA-Z0-9]\++hs=s+1
contains=htmlTagName,@htmlTagNameCluster
  syn match	htmlTagN	contained +</\s*[-a-zA-Z0-9]\++hs=s+2
contains=htmlTagName,@htmlTagNameCluster
  syn match	htmlTagError	contained "[^>]<"ms=s+1
else
  " Use all the stuff from the HTML syntax file.
  " This means eg HTML comments are highlighted as comments, even if
they include cf tags.
  runtime! syntax/html.vim
endif

syn sync	fromstart
syn sync	maxlines=200
syn case	ignore

" Scopes and keywords.
syn keyword	cfScope		contained cgi cffile cookie request caller this
thistag
syn keyword	cfScope		contained cfcatch variables application server session
client form url local
syn keyword	cfScope		contained arguments super cfhttp attributes error
syn keyword	cfBool		contained yes no true false

" Operator strings.
" ColdFusion <=7:
syn keyword	cfOperator		contained xor eqv and or lt le lte gt ge gte equal
eq neq not is mod contains
syn match	cfOperatorMatch		contained "+" 
syn match	cfOperatorMatch		contained "\-"
syn match	cfOperatorMatch		contained
"[\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"
syn match	cfOperatorMatch		contained
"\<\(not\_s\+\)\?equal\>"
syn match	cfOperatorMatch		contained
"\<does\_s\+not\_s\+contain\>"
syn match	cfOperatorMatch		contained
"\<\(greater\|less\)\_s\+than\(\_s\+or\_s\+equal\_s\+to\)\?\>"
" ColdFusion 8:
syn keyword	cfOperator		contained imp
syn match	cfOperatorMatch		contained "[?%:!]"
syn match	cfOperatorMatch		contained "[\+\-\*\/\&]=" 
syn match	cfOperatorMatch		contained "++"
syn match	cfOperatorMatch		contained "--"
syn match	cfOperatorMatch	 	contained "&&"
syn match	cfOperatorMatch	 	contained "||"

syn cluster	cfOperatorCluster	contains=cfOperator,cfOperatorMatch

" Custom tags called with the <cf_xxx> syntax.
syn match	cfCustomTagName		contained
"\<cf_[a-zA-Z0-9_]\+\>"
" (TODO match	namespaced tags imported using cfimport, similarly.)

" Tag names.
" ColdFusion <=7:
syn keyword	cfTagName	contained cfabort cfapplet cfapplication cfargument
cfassociate
syn keyword	cfTagName	contained cfbreak cfcache cfcalendar cfcase cfcatch
syn keyword	cfTagName	contained cfchart cfchartdata cfchartseries cfcol
cfcollection
syn keyword	cfTagName	contained cfcomponent cfcontent cfcookie
cfdefaultcase cfdirectory
syn keyword	cfTagName	contained cfdocument cfdocumentitem cfdocumentsection
cfdump cfelse
syn keyword	cfTagName	contained cfelseif cferror cfexecute cfexit cffile
cfflush cfform
syn keyword	cfTagName	contained cfformgroup cfformitem cfftp cffunction
syn keyword	cfTagName	contained cfgrid cfgridcolumn cfgridrow cfgridupdate
cfheader
syn keyword	cfTagName	contained cfhtmlhead cfhttp cfhttpparam cfif cfimport
syn keyword	cfTagName	contained cfinclude cfindex cfinput cfinsert cfinvoke
cfinvokeargument
syn keyword	cfTagName	contained cfldap cflocation cflock cflog cflogin
cfloginuser cflogout
syn keyword	cfTagName	contained cfloop cfmail cfmailparam cfmailpart
cfmodule
syn keyword	cfTagName	contained cfNTauthenticate cfobject cfobjectcache
cfoutput cfparam
syn keyword	cfTagName	contained cfpop cfprocessingdirective cfprocparam
cfprocresult
syn keyword	cfTagName	contained cfproperty cfquery cfqueryparam cfregistry
cfreport
syn keyword	cfTagName	contained cfreportparam cfrethrow cfreturn
cfsavecontent cfschedule
syn keyword	cfTagName	contained cfscript cfsearch cfselect cfservletparam
cfset
syn keyword	cfTagName	contained cfsetting cfsilent cfslider cfstoredproc
cfswitch cftable
syn keyword	cfTagName	contained cftextarea cftextinput cfthrow cftimer
cftrace cftransaction
syn keyword	cfTagName	contained cftree cftreeitem cftry cfupdate cfwddx
cfxml
" ColdFusion 8:
syn keyword	cfTagName	contained cfajaximport cfajaxproxy cfdbinfo cfdiv
cfexchangecalendar
syn keyword	cfTagName	contained cfexchangeconnection cfexchangecontact
cfexchangefilter 
syn keyword	cfTagName	contained cfexchangemail cfexchangetask cffeed
syn keyword	cfTagName	contained cfinterface cflayout cflayoutarea cfmenu
cfmenuitem
syn keyword	cfTagName	contained cfpdf cfpdfform cfpdfformparam cfpdfparam
cfpdfsubform cfpod
syn keyword	cfTagName	contained cfpresentation cfpresentationslide
cfpresenter cfprint
syn keyword	cfTagName	contained cfsprydataset cfthread cftooltip cfwindow
cfzip cfzipparam
" ColdFusion 9:
syn keyword	cfTagName	contained cfcontinue cffileupload cffinally
syn keyword	cfTagName	contained cfimage cfimap 
syn keyword	cfTagName	contained cfmap cfmapitem cfmediaplayer cfmessagebox
syn keyword	cfTagName	contained cfprocparam cfprogressbar
syn keyword	cfTagName	contained cfsharepoint cfspreadsheet

" Tag attributes.
" XXX Not updated for ColdFusion 8/9.
" These are becoming a headache to maintain, so might be removed.
syn keyword	cfArg		contained abort accept access accessible action
addnewline addtoken
syn keyword	cfArg		contained agentname align appendkey appletsource
application
syn keyword	cfArg		contained applicationtimeout applicationtoken archive
syn keyword	cfArg		contained argumentcollection arguments
asciiextensionlist
syn keyword	cfArg		contained attachmentpath attributecollection attributes
autowidth
syn keyword	cfArg		contained backgroundvisible basetag bcc bgcolor bind
bindingname
syn keyword	cfArg		contained blockfactor body bold border branch
cachedafter cachedwithin
syn keyword	cfArg		contained casesensitive category categorytree cc
cfsqltype charset
syn keyword	cfArg		contained chartheight chartwidth checked class
clientmanagement
syn keyword	cfArg		contained clientstorage codebase colheaderalign
colheaderbold
syn keyword	cfArg		contained colheaderfont colheaderfontsize
colheaderitalic colheaders
syn keyword	cfArg		contained colheadertextcolor collection colorlist
colspacing columns
syn keyword	cfArg		contained completepath component condition connection
contentid
syn keyword	cfArg		contained context contextbytes contexthighlightbegin
syn keyword	cfArg		contained contexthighlightend contextpassages
cookiedomain criteria
syn keyword	cfArg		contained custom1 custom2 custom3 custom4 data dataalign
syn keyword	cfArg		contained databackgroundcolor datacollection datasource
daynames
syn keyword	cfArg		contained dbname dbserver dbtype dbvarname debug default
delete
syn keyword	cfArg		contained deletebutton deletefile delimiter delimiters
description
syn keyword	cfArg		contained destination detail directory disabled display
displayname
syn keyword	cfArg		contained disposition dn domain editable enablecab
enablecfoutputonly
syn keyword	cfArg		contained enabled encoded encryption enctype enddate
endrange endtime
syn keyword	cfArg		contained entry errorcode exception existing expand
expires expireurl
syn keyword	cfArg		contained expression extendedinfo extends extensions
external
syn keyword	cfArg		contained failifexists failto file filefield filename
filter
syn keyword	cfArg		contained firstdayofweek firstrowasheaders fixnewline
font fontbold
syn keyword	cfArg		contained fontembed fontitalic fontsize foregroundcolor
format
syn keyword	cfArg		contained formfields formula from
generateuniquefilenames getasbinary
syn keyword	cfArg		contained grid griddataalign gridlines groovecolor group
syn keyword	cfArg		contained groupcasesensitive header headeralign
headerbold headerfont
syn keyword	cfArg		contained headerfontsize headeritalic headerlines
headertextcolor
syn keyword	cfArg		contained height highlighthref hint href hrefkey hscroll
hspace html
syn keyword	cfArg		contained htmltable id idletimeout img imgopen imgstyle
index inline
syn keyword	cfArg		contained input insert insertbutton interval isolation
italic item
syn keyword	cfArg		contained itemcolumn key keyonly label labelformat
language list
syn keyword	cfArg		contained listgroups locale localfile log loginstorage
lookandfeel
syn keyword	cfArg		contained mailerid mailto marginbottom marginleft
marginright
syn keyword	cfArg		contained margintop markersize markerstyle mask max
maxlength maxrows
syn keyword	cfArg		contained message messagenumber method mimeattach
mimetype min mode
syn keyword	cfArg		contained modifytype monthnames multipart multiple name
nameconflict
syn keyword	cfArg		contained namespace new newdirectory notsupported null
numberformat
syn keyword	cfArg		contained object omit onblur onchange onclick onerror
onfocus
syn keyword	cfArg		contained onkeydown onkeyup onload onmousedown onmouseup
onreset
syn keyword	cfArg		contained onsubmit onvalidate operation orderby
orientation output
syn keyword	cfArg		contained outputfile overwrite ownerpassword
pageencoding pageheight
syn keyword	cfArg		contained pagetype pagewidth paintstyle param_1 param_2
param_3
syn keyword	cfArg		contained param_4 param_5 param_6 param_7 param_8
param_9 parent
syn keyword	cfArg		contained parrent passive passthrough password path
pattern
syn keyword	cfArg		contained permissions picturebar pieslicestyle port
porttypename
syn keyword	cfArg		contained prefix preloader preservedata previouscriteria
procedure
syn keyword	cfArg		contained protocol provider providerdsn proxybypass
proxypassword
syn keyword	cfArg		contained proxyport proxyserver proxyuser publish query
queryasroot
syn keyword	cfArg		contained queryposition range rebind recurse redirect
referral
syn keyword	cfArg		contained refreshlabel remotefile replyto report
requesttimeout
syn keyword	cfArg		contained required reset resoleurl resolveurl result
resultset
syn keyword	cfArg		contained retrycount returnasbinary returncode
returntype
syn keyword	cfArg		contained returnvariable roles rotated rowheaderalign
rowheaderbold
syn keyword	cfArg		contained rowheaderfont rowheaderfontsize
rowheaderitalic rowheaders
syn keyword	cfArg		contained rowheadertextcolor rowheaderwidth rowheight
scale scalefrom
syn keyword	cfArg		contained scaleto scope scriptprotect scriptsrc secure
securitycontext
syn keyword	cfArg		contained select selectcolor selected selecteddate
selectedindex
syn keyword	cfArg		contained selectmode separator seriescolor serieslabel
seriesplacement
syn keyword	cfArg		contained server serviceport serviceportname
sessionmanagement
syn keyword	cfArg		contained sessiontimeout setclientcookies setcookie
setdomaincookies
syn keyword	cfArg		contained show3d showborder showdebugoutput showerror
showlegend
syn keyword	cfArg		contained showmarkers showxgridlines showygridlines size
skin sort
syn keyword	cfArg		contained sortascendingbutton sortcontrol
sortdescendingbutton
syn keyword	cfArg		contained sortxaxis source spoolenable sql src srcfile
start startdate
syn keyword	cfArg		contained startrange startrow starttime status
statuscode statustext
syn keyword	cfArg		contained step stoponerror style subject suggestions
syn keyword	cfArg		contained suppresswhitespace tablename tableowner
tablequalifier
syn keyword	cfArg		contained taglib target task template text textcolor
textqualifier
syn keyword	cfArg		contained throwonerror throwonerror throwonfailure
throwontimeout
syn keyword	cfArg		contained timeout timespan tipbgcolor tipstyle title to
tooltip
syn keyword	cfArg		contained toplevelvariable transfermode type uid unit
url urlpath
syn keyword	cfArg		contained useragent username userpassword
usetimezoneinfo validate
syn keyword	cfArg		contained validateat value valuecolumn values
valuesdelimiter
syn keyword	cfArg		contained valuesdisplay var variable vertical visible
vscroll vspace
syn keyword	cfArg		contained webservice width wmode wraptext wsdlfile
xaxistitle
syn keyword	cfArg		contained xaxistype xoffset yaxistitle yaxistype yoffset

" Functions.
" ColdFusion <=7:
syn keyword	cfFunctionName		contained ACos ASin Abs AddSOAPRequestHeader
AddSOAPResponseHeader
syn keyword	cfFunctionName		contained ArrayAppend ArrayAvg ArrayClear
ArrayDeleteAt ArrayInsertAt
syn keyword	cfFunctionName		contained ArrayIsEmpty ArrayLen ArrayMax
ArrayMin ArrayNew
syn keyword	cfFunctionName		contained ArrayPrepend ArrayResize ArraySet
ArraySort ArraySum
syn keyword	cfFunctionName		contained ArraySwap ArrayToList Asc Atn
AuthenticatedContext
syn keyword	cfFunctionName		contained AuthenticatedUser BinaryDecode
BinaryEncode BitAnd
syn keyword	cfFunctionName		contained BitMaskClear BitMaskRead BitMaskSet
BitNot BitOr BitSHLN
syn keyword	cfFunctionName		contained BitSHRN BitXor CJustify Ceiling
CharsetDecode CharsetEncode
syn keyword	cfFunctionName		contained Chr Compare CompareNoCase Cos
CreateDate CreateDateTime
syn keyword	cfFunctionName		contained CreateODBCDate CreateODBCDateTime
CreateODBCTime
syn keyword	cfFunctionName		contained CreateObject CreateTime
CreateTimeSpan CreateUUID DE DateAdd
syn keyword	cfFunctionName		contained DateCompare DateConvert DateDiff
DateFormat DatePart Day
syn keyword	cfFunctionName		contained DayOfWeek DayOfWeekAsString DayOfYear
DaysInMonth DaysInYear
syn keyword	cfFunctionName		contained DecimalFormat DecrementValue Decrypt
DecryptBinary
syn keyword	cfFunctionName		contained DeleteClientVariable DirectoryExists
DollarFormat Duplicate
syn keyword	cfFunctionName		contained Encrypt EncryptBinary Evaluate Exp
ExpandPath FileExists
syn keyword	cfFunctionName		contained Find FindNoCase FindOneOf
FirstDayOfMonth Fix FormatBaseN
syn keyword	cfFunctionName		contained GenerateSecretKey GetAuthUser
GetBaseTagData GetBaseTagList
syn keyword	cfFunctionName		contained GetBaseTemplatePath
GetClientVariablesList GetContextRoot
syn keyword	cfFunctionName		contained GetCurrentTemplatePath
GetDirectoryFromPath GetEncoding
syn keyword	cfFunctionName		contained GetException GetFileFromPath
GetFunctionList
syn keyword	cfFunctionName		contained GetGatewayHelper GetHttpRequestData
GetHttpTimeString
syn keyword	cfFunctionName		contained GetLocalHostIP
syn keyword	cfFunctionName		contained GetLocale GetLocaleDisplayName
GetMetaData GetMetricData
syn keyword	cfFunctionName		contained GetPageContext GetProfileSections
GetProfileString
syn keyword	cfFunctionName		contained GetSOAPRequest GetSOAPRequestHeader
GetSOAPResponse
syn keyword	cfFunctionName		contained GetSOAPResponseHeader
GetTempDirectory GetTempFile
syn keyword	cfFunctionName		contained GetTickCount GetTimeZoneInfo GetToken
syn keyword	cfFunctionName		contained HTMLCodeFormat HTMLEditFormat Hash
Hour IIf IncrementValue
syn keyword	cfFunctionName		contained InputBaseN Insert Int IsArray
IsAuthenticated IsAuthorized
syn keyword	cfFunctionName		contained IsBinary IsBoolean IsCustomFunction
IsDate IsDebugMode
syn keyword	cfFunctionName		contained IsDefined
syn keyword	cfFunctionName		contained IsLeapYear IsLocalHost IsNumeric
syn keyword	cfFunctionName		contained IsNumericDate IsObject IsProtected
IsQuery IsSOAPRequest
syn keyword	cfFunctionName		contained IsSimpleValue IsStruct IsUserInRole
IsValid IsWDDX IsXML
syn keyword	cfFunctionName		contained IsXmlAttribute IsXmlDoc IsXmlElem
IsXmlNode IsXmlRoot
syn keyword	cfFunctionName		contained JSStringFormat JavaCast LCase
LJustify LSCurrencyFormat
syn keyword	cfFunctionName		contained LSDateFormat LSEuroCurrencyFormat
LSIsCurrency LSIsDate
syn keyword	cfFunctionName		contained LSIsNumeric LSNumberFormat
LSParseCurrency LSParseDateTime
syn keyword	cfFunctionName		contained LSParseEuroCurrency LSParseNumber
LSTimeFormat LTrim Left
syn keyword	cfFunctionName		contained Len ListAppend ListChangeDelims
ListContains
syn keyword	cfFunctionName		contained ListContainsNoCase ListDeleteAt
ListFind ListFindNoCase
syn keyword	cfFunctionName		contained ListFirst ListGetAt ListInsertAt
ListLast ListLen
syn keyword	cfFunctionName		contained ListPrepend ListQualify ListRest
ListSetAt ListSort
syn keyword	cfFunctionName		contained ListToArray ListValueCount
ListValueCountNoCase Log Log10
syn keyword	cfFunctionName		contained Max Mid Min Minute Month
MonthAsString Now NumberFormat
syn keyword	cfFunctionName		contained ParagraphFormat ParseDateTime Pi
syn keyword	cfFunctionName		contained PreserveSingleQuotes Quarter
QueryAddColumn QueryAddRow
syn keyword	cfFunctionName		contained QueryNew QuerySetCell QuotedValueList
REFind REFindNoCase
syn keyword	cfFunctionName		contained REReplace REReplaceNoCase RJustify
RTrim Rand RandRange
syn keyword	cfFunctionName		contained Randomize ReleaseComObject
RemoveChars RepeatString Replace
syn keyword	cfFunctionName		contained ReplaceList ReplaceNoCase Reverse
Right Round Second
syn keyword	cfFunctionName		contained SendGatewayMessage SetEncoding
SetLocale SetProfileString
syn keyword	cfFunctionName		contained SetVariable Sgn Sin SpanExcluding
SpanIncluding Sqr StripCR
syn keyword	cfFunctionName		contained StructAppend StructClear StructCopy
StructCount StructDelete
syn keyword	cfFunctionName		contained StructFind StructFindKey
StructFindValue StructGet
syn keyword	cfFunctionName		contained StructInsert StructIsEmpty
StructKeyArray StructKeyExists
syn keyword	cfFunctionName		contained StructKeyList StructNew StructSort
StructUpdate Tan
syn keyword	cfFunctionName		contained TimeFormat ToBase64 ToBinary ToScript
ToString Trim UCase
syn keyword	cfFunctionName		contained URLDecode URLEncodedFormat
URLSessionFormat Val ValueList
syn keyword	cfFunctionName		contained Week Wrap WriteOutput XmlChildPos
XmlElemNew XmlFormat
syn keyword	cfFunctionName		contained XmlGetNodeType XmlNew XmlParse
XmlSearch XmlTransform
syn keyword	cfFunctionName		contained XmlValidate Year YesNoFormat
" ColdFusion 8:
syn keyword	cfFunctionName		contained AjaxLink AjaxOnLoad ArrayIsDefined
BinaryDecode BinaryEncode CharsetDecode CharsetEncode 
syn keyword	cfFunctionName		contained DecryptBinary DeserializeJSON
DotNetToCFType EncryptBinary FileClose FileCopy FileDelete
syn keyword	cfFunctionName		contained FileIsEOF FileMove FileOpen FileRead
FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute
syn keyword	cfFunctionName		contained FileSetLastModified FileWrite
GenerateSecretKey GetGatewayHelper GetAuthUser GetComponentMetaData
syn keyword	cfFunctionName		contained GetContextRoot GetEncoding
GetFileInfo GetLocaleDisplayName GetLocalHostIP GetMetaData
syn keyword	cfFunctionName		contained GetPageContext GetPrinterInfo
GetProfileSections GetReadableImageFormats GetSOAPRequest
syn keyword	cfFunctionName		contained GetSOAPRequestHeader GetSOAPResponse
GetSOAPResponseHeader GetUserRoles GetWriteableImageFormats
syn keyword	cfFunctionName		contained ImageAddBorder ImageBlur
ImageClearRect ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect
syn keyword	cfFunctionName		contained ImageDrawCubicCurve ImageDrawPoint
ImageDrawLine ImageDrawLines ImageDrawOval
syn keyword	cfFunctionName		contained ImageDrawQuadraticCurve ImageDrawRect
ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob
syn keyword	cfFunctionName		contained ImageGetBufferedImage
ImageGetEXIFMetadata ImageGetEXIFTag ImageGetHeight ImageGetIPTCMetadata
syn keyword	cfFunctionName		contained ImageGetIPTCTag ImageGetWidth
ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay
syn keyword	cfFunctionName		contained ImagePaste ImageRead ImageReadBase64
ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit 
" ColdFusion 9:
syn keyword	cfFunctionName		contained ApplicationStop ArrayContains
ArrayDelete ArrayFind ArrayFindNoCase IsSpreadsheetFile
syn keyword	cfFunctionName		contained IsSpreadsheetObject FileSkipBytes
Location ObjectLoad SpreadsheetFormatColumn
syn keyword	cfFunctionName		contained SpreadsheetFormatColumns
SpreadsheetFormatRow SpreadsheetFormatRows SpreadsheetGetCellComment
syn keyword	cfFunctionName		contained CacheGetAllIds CacheGetMetadata
CacheGetProperties CacheGet CachePut ObjectSave ORMClearSession
syn keyword	cfFunctionName		contained ORMCloseSession ORMEvictQueries
ORMEvictCollection SpreadsheetGetCellFormula SpreadsheetGetCellValue
syn keyword	cfFunctionName		contained SpreadsheetInfo SpreadsheetMergeCells
SpreadsheetNew CacheRemove CacheSetProperties DirectoryCreate
syn keyword	cfFunctionName		contained DirectoryDelete DirectoryExists
ORMEvictEntity ORMEvictQueries ORMExecuteQuery ORMFlush
syn keyword	cfFunctionName		contained ORMGetSession SpreadsheetRead
SpreadsheetReadBinary SpreadsheetSetActiveSheetNumber
syn keyword	cfFunctionName		contained SpreadsheetSetCellComment
SpreadsheetSetCellFormula DirectoryList DirectoryRename EntityDelete
syn keyword	cfFunctionName		contained EntityLoad EntityLoadByExample
ORMGetSessionFactory ORMReload ObjectEquals SpreadsheetAddColumn
syn keyword	cfFunctionName		contained SpreadsheetAddFreezePane
SpreadsheetSetCellValue SpreadsheetSetActiveSheet SpreadsheetSetFooter
syn keyword	cfFunctionName		contained SpreadsheetSetHeader
SpreadsheetSetColumnWidth EntityLoadByPK EntityMerge EntityNew EntityReload
syn keyword	cfFunctionName		contained EntitySave SpreadsheetAddImage
SpreadsheetAddInfo SpreadsheetAddRow SpreadsheetAddRows
syn keyword	cfFunctionName		contained SpreadsheetAddSplitPane
SpreadsheetShiftColumns SpreadsheetShiftRows SpreadsheetSetRowHeight
syn keyword	cfFunctionName		contained SpreadsheetWrite Trace FileDelete
FileSeek FileWriteLine GetFunctionCalledName GetVFSMetaData IsIPv6
syn keyword	cfFunctionName		contained IsNull SpreadsheetCreateSheet
SpreadsheetDeleteColumn SpreadsheetDeleteColumns SpreadsheetDeleteRow
syn keyword	cfFunctionName		contained SpreadsheetDeleteRows
SpreadsheetFormatCell TransactionCommit TransactionRollback
syn keyword	cfFunctionName		contained TransactionSetSavePoint
ThreadTerminate ThreadJoin Throw Writedump Writelog 

" Deprecated or obsoleted tags and functions.
syn keyword	cfDeprecatedTag		contained cfauthenticate cfimpersonate cfgraph
cfgraphdata
syn keyword	cfDeprecatedTag		contained cfservlet cfservletparam cftextinput
syn keyword	cfDeprecatedTag		contained cfinternaladminsecurity
cfnewinternaladminsecurity
syn keyword	cfDeprecatedFunction	contained GetK2ServerDocCount
GetK2ServerDocCountLimit GetTemplatePath
syn keyword	cfDeprecatedFunction	contained IsK2ServerABroker
IsK2ServerDocCountExceeded IsK2ServerOnline
syn keyword	cfDeprecatedFunction	contained ParameterExists
AuthenticatedContext AuthenticatedUser
syn keyword	cfDeprecatedFunction	contained isAuthenticated isAuthorized
isProtected

" Add to the HTML clusters.
syn
cluster	htmlTagNameCluster	add=cfTagName,cfCustomTagName,cfDeprecatedTag
syn cluster	htmlArgCluster		add=cfArg,cfHashRegion,cfScope
syn cluster	htmlPreproc		add=cfHashRegion

syn
cluster	cfExpressionCluster	contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool,cfComment

" Evaluation; skip strings ( this helps with cases like nested IIf() )
"		containedin to add to the TOP of cfOutputRegion.
syn region	cfHashRegion		start=+#+
skip=+"[^"]*"\|'[^']*'+ end=+#+ contained
containedin=cfOutputRegion contains=@cfExpressionCluster,cfScriptParenError

" Hashmarks are significant inside cfoutput tags.
" cfoutput tags may be nested indefinitely.
syn region	cfOutputRegion		matchgroup=NONE transparent
start=+<cfoutput>+ end=+</cfoutput>+ contains=TOP

" <cfset>, <cfif>, <cfelseif>, <cfreturn> are
analogous to hashmarks (implicit
" evaluation) and have 'var'
syn region	cfSetRegion		start="<cfset\>"
start="<cfreturn\>" start="<cfelseif\>"
start="<cfif\>" end='>' keepend
contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptStatement
syn region	cfSetLHSRegion		contained start="<cfreturn"
start="<cfelseif" start="<cfif"
start="<cfset" end="." keepend
contains=cfTagName,htmlTag
syn match	cfSetTagEnd		contained '>'

" CF comments: similar to SGML comments, but can be nested.
syn region	cfComment		start='<!---' end='--->'
contains=cfCommentTodo,cfComment
syn keyword	cfCommentTodo		contained TODO FIXME XXX TBD WTF 

" CFscript 
" TODO better support for new component/function def syntax
" TODO better support for 'new'
" TODO highlight metadata (@ ...) inside comments.
syn match	cfScriptLineComment	contained "\/\/.*$"
contains=cfCommentTodo
syn region	cfScriptComment		contained
start="/\*"	end="\*/" contains=cfCommentTodo
syn match	cfScriptBraces		contained "[{}]"
syn keyword	cfScriptStatement	contained return var
" in CF, quotes are escaped by doubling
syn region	cfScriptStringD		contained
start=+"+	skip=+\\\\\|""+	end=+"+	extend
contains=@htmlPreproc,cfHashRegion
syn region	cfScriptStringS		contained
start=+'+	skip=+\\\\\|''+	end=+'+	extend
contains=@htmlPreproc,cfHashRegion
syn match	cfScriptNumber		contained "\<\d\+\>"
syn keyword	cfScriptConditional	contained if else
syn keyword	cfScriptRepeat		contained while for in
syn keyword	cfScriptBranch		contained break switch case default try catch
continue finally
syn keyword	cfScriptKeyword		contained function
" argumentCollection is a special argument to function calls
syn keyword	cfScriptSpecial		contained argumentcollection
" ColdFusion 9:
syn keyword	cfScriptStatement	contained new import
" CFscript equivalents of some tags
syn keyword	cfScriptKeyword		contained abort component exit import include
syn keyword	cfScriptKeyword		contained interface param pageencoding
property rethrow thread transaction
" function/component syntax
syn keyword	cfScriptSpecial		contained required extends


syn
cluster	cfScriptCluster	contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfDeprecatedFunction,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,@cfExpressionCluster,cfScriptStatement,cfScriptSpecial,cfScriptKeyword

" Errors caused by wrong parenthesis; skip strings
syn region	cfScriptParen	contained transparent
skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+
contains=@cfScriptCluster
syn match	cfScrParenError	contained +)+

syn region	cfscriptBlock	matchgroup=NONE
start="<cfscript>"	end="<\/cfscript>"me=s-1
keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError
syn region	cfscriptTag	contained start='<cfscript'
end='>' keepend contains=cfTagName,htmlTag

" CFML
syn
cluster	cfmlCluster	contains=cfComment,@htmlTagNameCluster,@htmlPreproc,cfSetRegion,cfscriptBlock,cfOutputRegion

" cfquery = sql syntax
if exists("b:current_syntax")
  unlet b:current_syntax
endif
syn include @cfSql $VIMRUNTIME/syntax/sql.vim
unlet b:current_syntax
syn region	cfqueryTag	contained start=+<cfquery+ end=+>+ keepend
contains=cfTagName,htmlTag
syn region	cfSqlregion	start=+<cfquery\_[^>]*>+ keepend
end=+</cfquery>+me=s-1 matchgroup=NONE
contains=@cfSql,cfComment,@htmlTagNameCluster,cfqueryTag,cfHashRegion

" Define the highlighting.
command -nargs=+ CfHiLink hi def link <args>

if exists("d_noinclude_html")
  " The default html-style highlighting copied from html.vim.
  CfHiLink htmlTag		Function
  CfHiLink htmlEndTag		Identifier
  CfHiLink htmlArg		Type
  CfHiLink htmlTagName		htmlStatement
  CfHiLink htmlValue		String
  CfHiLink htmlPreProc		PreProc
  CfHiLink htmlString		String
  CfHiLink htmlStatement	Statement
  CfHiLink htmlValue		String
  CfHiLink htmlTagError		htmlError
  CfHiLink htmlError		Error
endif

CfHiLink cfTagName		Statement
CfHiLink cfCustomTagName	Statement
CfHiLink cfArg			Type
CfHiLink cfFunctionName		Function
CfHiLink cfHashRegion		PreProc
CfHiLink cfComment		Comment
CfHiLink cfCommentTodo		Todo
CfHiLink cfOperator		Operator
CfHiLink cfOperatorMatch	Operator
CfHiLink cfScope		Title
CfHiLink cfBool			Constant

CfHiLink cfscriptBlock		Special
CfHiLink cfscriptTag		htmlTag
CfHiLink cfSetRegion		PreProc
CfHiLink cfSetLHSRegion		htmlTag
CfHiLink cfSetTagEnd		htmlTag

CfHiLink cfScriptLineComment	Comment
CfHiLink cfScriptComment	Comment
CfHiLink cfScriptStringS	String
CfHiLink cfScriptStringD	String
CfHiLink cfScriptNumber		cfScriptValue
CfHiLink cfScriptConditional	Conditional
CfHiLink cfScriptRepeat		Repeat
CfHiLink cfScriptBranch		Conditional
CfHiLink cfScriptSpecial	Type
CfHiLink cfScriptStatement	Statement
CfHiLink cfScriptBraces		Function
CfHiLink cfScriptKeyword	Function
CfHiLink cfScriptError		Error
CfHiLink cfDeprecatedTag	Error
CfHiLink cfDeprecatedFunction	Error
CfHiLink cfScrParenError	cfScriptError

CfHiLink cfqueryTag		htmlTag

delcommand CfHiLink

let b:current_syntax = "cf"

" vim: nowrap sw=2 ts=8 noet