" 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=++ 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 +]<"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 "\" 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 syntax. syn match cfCustomTagName contained "\" " (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=++ end=++ contains=TOP " , , , are analogous to hashmarks (implicit " evaluation) and have 'var' syn region cfSetRegion start="" start="" start="" start="" end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptStatement syn region cfSetLHSRegion contained start="' " CF comments: similar to SGML comments, but can be nested. syn region cfComment start='' 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="" end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError syn region cfscriptTag contained start='+ keepend contains=cfTagName,htmlTag syn region cfSqlregion start=+]*>+ keepend end=++me=s-1 matchgroup=NONE contains=@cfSql,cfComment,@htmlTagNameCluster,cfqueryTag,cfHashRegion " Define the highlighting. command -nargs=+ CfHiLink hi def link 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