diff options
Diffstat (limited to 'vim71/syntax/cf.vim')
-rw-r--r-- | vim71/syntax/cf.vim | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/vim71/syntax/cf.vim b/vim71/syntax/cf.vim new file mode 100644 index 0000000..9518406 --- /dev/null +++ b/vim71/syntax/cf.vim @@ -0,0 +1,251 @@ +" Vim syntax file +" Language: ColdFusion +" Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com) +" Last Change: 2005 Nov 25 +" Filenames: *.cfc *.cfm +" Version: Macromedia ColdFusion MX 7 +" Usage: Note that ColdFusion has its own comment syntax +" i.e. <!--- ---> + +" For version 5.x, clear all syntax items. +" For version 6.x+, quit if a syntax file is already loaded. +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Use all the stuff from the HTML syntax file. +" TODO remove this; CFML is not a superset of HTML +if version < 600 + source <sfile>:p:h/html.vim +else + runtime! syntax/html.vim +endif + +syn sync fromstart +syn sync maxlines=200 +syn case ignore + +" Scopes and keywords. +syn keyword cfScope contained cgi cffile request caller this thistag cfcatch variables application server session client form url attributes arguments +syn keyword cfBool contained yes no true false + +" Operator strings. +" Not exhaustive, since there are longhand equivalents. +syn keyword cfOperator contained xor eqv and or lt le lte gt ge gte eq neq not is mod contains +syn match cfOperatorMatch contained "[\+\-\*\/\\\^\&][\+\-\*\/\\\^\&]\@!" +syn cluster cfOperatorCluster contains=cfOperator,cfOperatorMatch + +" Tag names. +syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate cfbreak cfcache +syn keyword cfTagName contained cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection +syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory cfdocument +syn keyword cfTagName contained cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexecute +syn keyword cfTagName contained cfexit cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid +syn keyword cfTagName contained cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif +syn keyword cfTagName contained cfimport cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument +syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail +syn keyword cfTagName contained cfmailparam cfmailpart cfmodule cfNTauthenticate cfobject cfobjectcache +syn keyword cfTagName contained cfoutput cfparam cfpop cfprocessingdirective cfprocparam cfprocresult +syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow +syn keyword cfTagName contained cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting +syn keyword cfTagName contained cfsilent cfslider cfstoredproc cfswitch cftable cftextarea cfthrow cftimer +syn keyword cfTagName contained cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfxml + +" Tag parameters. +syn keyword cfArg contained abort accept access accessible action addnewline addtoken addtoken agentname +syn keyword cfArg contained align appendkey appletsource application applicationtimeout applicationtoken +syn keyword cfArg contained archive argumentcollection arguments asciiextensionlist attachmentpath +syn keyword cfArg contained attributecollection attributes attributes autowidth backgroundcolor +syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname blockfactor body bold +syn keyword cfArg contained border branch cachedafter cachedwithin casesensitive categories category +syn keyword cfArg contained categorytree cc cfsqltype charset chartheight chartwidth checked class +syn keyword cfArg contained clientmanagement clientstorage codebase colheaderalign colheaderbold +syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders colheadertextcolor +syn keyword cfArg contained collection colorlist colspacing columns completepath component condition +syn keyword cfArg contained connection contentid context contextbytes contexthighlightbegin +syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria custom1 custom2 +syn keyword cfArg contained custom3 custom4 data dataalign databackgroundcolor datacollection +syn keyword cfArg contained datalabelstyle datasource date daynames dbname dbserver dbtype dbvarname debug +syn keyword cfArg contained default delete deletebutton deletefile delimiter delimiters description +syn keyword cfArg contained destination detail directory disabled display displayname disposition dn domain +syn keyword cfArg contained enablecab enablecfoutputonly enabled encoded encryption enctype enddate +syn keyword cfArg contained endrange endrow endtime entry errorcode exception existing expand expires +syn keyword cfArg contained expireurl expression extendedinfo extends extensions external failifexists +syn keyword cfArg contained failto file filefield filename filter firstdayofweek firstrowasheaders font +syn keyword cfArg contained fontbold fontembed fontitalic fontsize foregroundcolor format formfields +syn keyword cfArg contained formula from generateuniquefilenames getasbinary grid griddataalign gridlines +syn keyword cfArg contained groovecolor group groupcasesensitive header headeralign headerbold headerfont +syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor height highlighthref +syn keyword cfArg contained hint href hrefkey hscroll hspace htmltable id idletimeout img imgopen imgstyle +syn keyword cfArg contained index inline input insert insertbutton interval isolation italic item +syn keyword cfArg contained itemcolumn key keyonly label labelformat language list listgroups locale +syn keyword cfArg contained localfile log loginstorage lookandfeel mailerid mailto marginbottom marginleft +syn keyword cfArg contained marginright marginright margintop markersize markerstyle mask maxlength maxrows +syn keyword cfArg contained message messagenumber method mimeattach mimetype mode modifytype monthnames +syn keyword cfArg contained multipart multiple name namecomplict nameconflict namespace new newdirectory +syn keyword cfArg contained notsupported null numberformat object omit onchange onclick onerror onkeydown +syn keyword cfArg contained onkeyup onload onmousedown onmouseup onreset onsubmit onvalidate operation +syn keyword cfArg contained orderby orientation output outputfile overwrite ownerpassword pageencoding +syn keyword cfArg contained pageheight pagetype pagewidth paintstyle param_1 param_2 param_3 param_4 +syn keyword cfArg contained param_5 parent passive passthrough password path pattern permissions picturebar +syn keyword cfArg contained pieslicestyle port porttypename prefix preloader preservedata previouscriteria +syn keyword cfArg contained procedure protocol provider providerdsn proxybypass proxypassword proxyport +syn keyword cfArg contained proxyserver proxyuser publish query queryasroot queryposition range rebind +syn keyword cfArg contained recurse redirect referral refreshlabel remotefile replyto report requesttimeout +syn keyword cfArg contained required reset resolveurl result resultset retrycount returnasbinary returncode +syn keyword cfArg contained returntype returnvariable roles rowheaderalign rowheaderbold rowheaderfont +syn keyword cfArg contained rowheaderfontsize rowheaderitalic rowheaders rowheadertextcolor rowheaderwidth +syn keyword cfArg contained rowheight scale scalefrom scaleto scope scriptprotect scriptsrc secure +syn keyword cfArg contained securitycontext select selectcolor selected selecteddate selectedindex +syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement server serviceport +syn keyword cfArg contained serviceportname sessionmanagement sessiontimeout setclientcookies setcookie +syn keyword cfArg contained setdomaincookies show3d showborder showdebugoutput showerror showlegend +syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort sortascendingbutton +syn keyword cfArg contained sortcontrol sortdescendingbutton sortxaxis source spoolenable sql src start +syn keyword cfArg contained startdate startrange startrow starttime status statuscode statustext step +syn keyword cfArg contained stoponerror style subject suggestions suppresswhitespace tablename tableowner +syn keyword cfArg contained tablequalifier taglib target task template text textcolor textqualifier +syn keyword cfArg contained thread throwonerror throwonfailure throwontimeout time timeout timespan tipbgcolor tipstyle +syn keyword cfArg contained title to tooltip top toplevelvariable transfermode type uid unit url urlpath +syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate validateat value +syn keyword cfArg contained valuecolumn values valuesdelimiter valuesdisplay var variable vertical visible +syn keyword cfArg contained vscroll vspace webservice width wmode wraptext wsdlfile xaxistitle xaxistype +syn keyword cfArg contained xoffset yaxistitle yaxistype yoffset + +" ColdFusion Functions. +syn keyword cfFunctionName contained Abs GetFunctionList Max ACos GetGatewayHelper Mid AddSOAPRequestHeader +syn keyword cfFunctionName contained GetHttpRequestData Min AddSOAPResponseHeader GetHttpTimeString Minute +syn keyword cfFunctionName contained ArrayAppend GetLocale Month ArrayAvg GetLocaleDisplayName MonthAsString +syn keyword cfFunctionName contained ArrayClear GetMetaData Now ArrayDeleteAt GetMetricData NumberFormat +syn keyword cfFunctionName contained ArrayInsertAt GetPageContext ParagraphFormat ArrayIsEmpty GetProfileSections +syn keyword cfFunctionName contained ParseDateTime ArrayLen GetProfileString Pi ArrayMax GetSOAPRequest +syn keyword cfFunctionName contained PreserveSingleQuotes ArrayMin GetSOAPRequestHeader Quarter ArrayNew +syn keyword cfFunctionName contained GetSOAPResponse QueryAddColumn ArrayPrepend GetSOAPResponseHeader QueryAddRow +syn keyword cfFunctionName contained ArrayResize GetTempDirectory QueryNew ArraySet GetTempFile QuerySetCell +syn keyword cfFunctionName contained ArraySort GetTickCount QuotedValueList ArraySum GetTimeZoneInfo Rand ArraySwap +syn keyword cfFunctionName contained GetToken Randomize ArrayToList Hash RandRange Asc Hour REFind ASin +syn keyword cfFunctionName contained HTMLCodeFormat REFindNoCase Atn HTMLEditFormat ReleaseComObject BinaryDecode +syn keyword cfFunctionName contained IIf RemoveChars BinaryEncode IncrementValue RepeatString BitAnd InputBaseN +syn keyword cfFunctionName contained Replace BitMaskClear Insert ReplaceList BitMaskRead Int ReplaceNoCase +syn keyword cfFunctionName contained BitMaskSet IsArray REReplace BitNot IsBinary REReplaceNoCase BitOr IsBoolean +syn keyword cfFunctionName contained Reverse BitSHLN IsCustomFunction Right BitSHRN IsDate RJustify BitXor +syn keyword cfFunctionName contained IsDebugMode Round Ceiling IsDefined RTrim CharsetDecode IsLeapYear Second +syn keyword cfFunctionName contained CharsetEncode IsNumeric SendGatewayMessage Chr IsNumericDate SetEncoding +syn keyword cfFunctionName contained CJustify IsObject SetLocale Compare IsQuery SetProfileString CompareNoCase +syn keyword cfFunctionName contained IsSimpleValue SetVariable Cos IsSOAPRequest Sgn CreateDate IsStruct Sin +syn keyword cfFunctionName contained CreateDateTime IsUserInRole SpanExcluding CreateObject IsValid SpanIncluding +syn keyword cfFunctionName contained CreateODBCDate IsWDDX Sqr CreateODBCDateTime IsXML StripCR CreateODBCTime +syn keyword cfFunctionName contained IsXmlAttribute StructAppend CreateTime IsXmlDoc StructClear CreateTimeSpan +syn keyword cfFunctionName contained IsXmlElem StructCopy CreateUUID IsXmlNode StructCount DateAdd IsXmlRoot +syn keyword cfFunctionName contained StructDelete DateCompare JavaCast StructFind DateConvert JSStringFormat +syn keyword cfFunctionName contained StructFindKey DateDiff LCase StructFindValue DateFormat Left StructGet +syn keyword cfFunctionName contained DatePart Len StructInsert Day ListAppend StructIsEmpty DayOfWeek +syn keyword cfFunctionName contained ListChangeDelims StructKeyArray DayOfWeekAsString ListContains StructKeyExists +syn keyword cfFunctionName contained DayOfYear ListContainsNoCase StructKeyList DaysInMonth ListDeleteAt StructNew +syn keyword cfFunctionName contained DaysInYear ListFind StructSort DE ListFindNoCase StructUpdate DecimalFormat +syn keyword cfFunctionName contained ListFirst Tan DecrementValue ListGetAt TimeFormat Decrypt ListInsertAt +syn keyword cfFunctionName contained ToBase64 DeleteClientVariable ListLast ToBinary DirectoryExists ListLen +syn keyword cfFunctionName contained ToScript DollarFormat ListPrepend ToString Duplicate ListQualify Trim Encrypt +syn keyword cfFunctionName contained ListRest UCase Evaluate ListSetAt URLDecode Exp ListSort URLEncodedFormat +syn keyword cfFunctionName contained ExpandPath ListToArray URLSessionFormat FileExists ListValueCount Val Find +syn keyword cfFunctionName contained ListValueCountNoCase ValueList FindNoCase LJustify Week FindOneOf Log Wrap +syn keyword cfFunctionName contained FirstDayOfMonth Log10 WriteOutput Fix LSCurrencyFormat XmlChildPos FormatBaseN +syn keyword cfFunctionName contained LSDateFormat XmlElemNew GetTempDirectory LSEuroCurrencyFormat XmlFormat +syn keyword cfFunctionName contained GetAuthUser LSIsCurrency XmlGetNodeType GetBaseTagData LSIsDate XmlNew +syn keyword cfFunctionName contained GetBaseTagList LSIsNumeric XmlParse GetBaseTemplatePath LSNumberFormat +syn keyword cfFunctionName contained XmlSearch GetClientVariablesList LSParseCurrency XmlTransform +syn keyword cfFunctionName contained GetCurrentTemplatePath LSParseDateTime XmlValidate GetDirectoryFromPath +syn keyword cfFunctionName contained LSParseEuroCurrency Year GetEncoding LSParseNumber YesNoFormat GetException +syn keyword cfFunctionName contained LSTimeFormat GetFileFromPath LTrim + +syn cluster htmlTagNameCluster add=cfTagName +syn cluster htmlArgCluster add=cfArg,cfHashRegion,cfScope +syn cluster htmlPreproc add=cfHashRegion + +syn cluster cfExpressionCluster contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool + +" Evaluation; skip strings ( this helps with cases like nested IIf() ) +syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contains=@cfExpressionCluster,cfScriptParenError + +" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit evaluation) and has 'var' +syn region cfSetRegion start="<cfset " start="<cfreturn " start="<cfelseif " start="<cfif " end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptType +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 +syn region cfComment start='<!---' end='--->' keepend contains=cfCommentTodo +syn keyword cfCommentTodo contained TODO FIXME XXX TBD WTF + +" CFscript +syn match cfScriptLineComment contained "\/\/.*$" contains=cfCommentTodo +syn region cfScriptComment contained start="/\*" end="\*/" contains=cfCommentTodo +" 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\+L\=\>" +syn keyword cfScriptConditional contained if else +syn keyword cfScriptRepeat contained while for in +syn keyword cfScriptBranch contained break switch case try catch continue +syn keyword cfScriptFunction contained function +syn keyword cfScriptType contained var +syn match cfScriptBraces contained "[{}]" +syn keyword cfScriptStatement contained return + +syn cluster cfScriptCluster contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,cfScriptType,@cfExpressionCluster,cfScriptStatement + +" 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 + +" Define the default highlighting. +if version >= 508 || !exists("did_cf_syn_inits") + if version < 508 + let did_cf_syn_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink cfTagName Statement + HiLink cfArg Type + HiLink cfFunctionName Function + HiLink cfHashRegion PreProc + HiLink cfComment Comment + HiLink cfCommentTodo Todo + HiLink cfOperator Operator + HiLink cfOperatorMatch Operator + HiLink cfScope Title + HiLink cfBool Constant + + HiLink cfscriptBlock Special + HiLink cfscriptTag htmlTag + HiLink cfSetRegion PreProc + HiLink cfSetLHSRegion htmlTag + HiLink cfSetTagEnd htmlTag + + HiLink cfScriptLineComment Comment + HiLink cfScriptComment Comment + HiLink cfScriptStringS String + HiLink cfScriptStringD String + HiLink cfScriptNumber cfScriptValue + HiLink cfScriptConditional Conditional + HiLink cfScriptRepeat Repeat + HiLink cfScriptBranch Conditional + HiLink cfScriptType Type + HiLink cfScriptStatement Statement + HiLink cfScriptBraces Function + HiLink cfScriptFunction Function + HiLink cfScriptError Error + HiLink cfScrParenError cfScriptError + + delcommand HiLink +endif + +let b:current_syntax = "cf" + +" vim: ts=8 sw=2 |