blob: bda24d79c4ff04af19ab6cde40b65be8a3c2351b [file] [log] [blame]
Bram Moolenaarc2065802005-11-25 19:50:52 +00001" Vim syntax file
2" Language: ColdFusion
3" Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com)
Bram Moolenaar3577c6f2008-06-24 21:16:56 +00004" Last Change: 2007 Nov 19
Bram Moolenaarc2065802005-11-25 19:50:52 +00005" Filenames: *.cfc *.cfm
6" Version: Macromedia ColdFusion MX 7
7" Usage: Note that ColdFusion has its own comment syntax
8" i.e. <!--- --->
9
10" For version 5.x, clear all syntax items.
11" For version 6.x+, quit if a syntax file is already loaded.
12if version < 600
13 syntax clear
14elseif exists("b:current_syntax")
15 finish
16endif
17
18" Use all the stuff from the HTML syntax file.
19" TODO remove this; CFML is not a superset of HTML
20if version < 600
21 source <sfile>:p:h/html.vim
22else
23 runtime! syntax/html.vim
24endif
25
26syn sync fromstart
27syn sync maxlines=200
28syn case ignore
29
30" Scopes and keywords.
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000031syn keyword cfScope contained cgi cffile cookie request caller this thistag
32syn keyword cfScope contained cfcatch variables application server session client form url attributes
33syn keyword cfScope contained arguments
Bram Moolenaarc2065802005-11-25 19:50:52 +000034syn keyword cfBool contained yes no true false
35
36" Operator strings.
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000037syn keyword cfOperator contained xor eqv and or lt le lte gt ge gte equal eq neq not is mod contains
38syn match cfOperatorMatch contained "\<does\_s\+not\_s\+contain\>"
39syn match cfOperatorMatch contained "\<\(greater\|less\)\_s\+than\(\_s\+or\_s\+equal\_s\+to\)\?\>"
Bram Moolenaarc2065802005-11-25 19:50:52 +000040syn match cfOperatorMatch contained "[\+\-\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"
41syn cluster cfOperatorCluster contains=cfOperator,cfOperatorMatch
42
43" Tag names.
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000044syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate
45syn keyword cfTagName contained cfbreak cfcache cfcalendar cfcase cfcatch
46syn keyword cfTagName contained cfchart cfchartdata cfchartseries cfcol cfcollection
47syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory
48syn keyword cfTagName contained cfdocument cfdocumentitem cfdocumentsection cfdump cfelse
49syn keyword cfTagName contained cfelseif cferror cfexecute cfexit cffile cfflush cfform
50syn keyword cfTagName contained cfformgroup cfformitem cfftp cffunction cfgraph cfgraphdata
51syn keyword cfTagName contained cfgrid cfgridcolumn cfgridrow cfgridupdate cfheader
52syn keyword cfTagName contained cfhtmlhead cfhttp cfhttpparam cfif cfimport
53syn keyword cfTagName contained cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument
54syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout
55syn keyword cfTagName contained cfloop cfmail cfmailparam cfmailpart cfmodule
56syn keyword cfTagName contained cfNTauthenticate cfobject cfobjectcache cfoutput cfparam
57syn keyword cfTagName contained cfpop cfprocessingdirective cfprocparam cfprocresult
58syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport
59syn keyword cfTagName contained cfreportparam cfrethrow cfreturn cfsavecontent cfschedule
60syn keyword cfTagName contained cfscript cfsearch cfselect cfservlet cfservletparam cfset
61syn keyword cfTagName contained cfsetting cfsilent cfslider cfstoredproc cfswitch cftable
62syn keyword cfTagName contained cftextarea cftextinput cfthrow cftimer cftrace cftransaction
63syn keyword cfTagName contained cftree cftreeitem cftry cfupdate cfwddx cfxml
Bram Moolenaarc2065802005-11-25 19:50:52 +000064
65" Tag parameters.
Bram Moolenaar3577c6f2008-06-24 21:16:56 +000066syn keyword cfArg contained abort accept access accessible action addnewline addtoken
67syn keyword cfArg contained agentname align appendkey appletsource application
68syn keyword cfArg contained applicationtimeout applicationtoken archive
69syn keyword cfArg contained argumentcollection arguments asciiextensionlist
70syn keyword cfArg contained attachmentpath attributecollection attributes autowidth
71syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname
72syn keyword cfArg contained blockfactor body bold border branch cachedafter cachedwithin
73syn keyword cfArg contained casesensitive category categorytree cc cfsqltype charset
74syn keyword cfArg contained chartheight chartwidth checked class clientmanagement
75syn keyword cfArg contained clientstorage codebase colheaderalign colheaderbold
76syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders
77syn keyword cfArg contained colheadertextcolor collection colorlist colspacing columns
78syn keyword cfArg contained completepath component condition connection contentid
79syn keyword cfArg contained context contextbytes contexthighlightbegin
80syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria
81syn keyword cfArg contained custom1 custom2 custom3 custom4 data dataalign
82syn keyword cfArg contained databackgroundcolor datacollection datasource daynames
83syn keyword cfArg contained dbname dbserver dbtype dbvarname debug default delete
84syn keyword cfArg contained deletebutton deletefile delimiter delimiters description
85syn keyword cfArg contained destination detail directory disabled display displayname
86syn keyword cfArg contained disposition dn domain editable enablecab enablecfoutputonly
87syn keyword cfArg contained enabled encoded encryption enctype enddate endrange endtime
88syn keyword cfArg contained entry errorcode exception existing expand expires expireurl
89syn keyword cfArg contained expression extendedinfo extends extensions external
90syn keyword cfArg contained failifexists failto file filefield filename filter
91syn keyword cfArg contained firstdayofweek firstrowasheaders fixnewline font fontbold
92syn keyword cfArg contained fontembed fontitalic fontsize foregroundcolor format
93syn keyword cfArg contained formfields formula from generateuniquefilenames getasbinary
94syn keyword cfArg contained grid griddataalign gridlines groovecolor group
95syn keyword cfArg contained groupcasesensitive header headeralign headerbold headerfont
96syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor
97syn keyword cfArg contained height highlighthref hint href hrefkey hscroll hspace html
98syn keyword cfArg contained htmltable id idletimeout img imgopen imgstyle index inline
99syn keyword cfArg contained input insert insertbutton interval isolation italic item
100syn keyword cfArg contained itemcolumn key keyonly label labelformat language list
101syn keyword cfArg contained listgroups locale localfile log loginstorage lookandfeel
102syn keyword cfArg contained mailerid mailto marginbottom marginleft marginright
103syn keyword cfArg contained margintop markersize markerstyle mask max maxlength maxrows
104syn keyword cfArg contained message messagenumber method mimeattach mimetype min mode
105syn keyword cfArg contained modifytype monthnames multipart multiple name nameconflict
106syn keyword cfArg contained namespace new newdirectory notsupported null numberformat
107syn keyword cfArg contained object omit onblur onchange onclick onerror onfocus
108syn keyword cfArg contained onkeydown onkeyup onload onmousedown onmouseup onreset
109syn keyword cfArg contained onsubmit onvalidate operation orderby orientation output
110syn keyword cfArg contained outputfile overwrite ownerpassword pageencoding pageheight
111syn keyword cfArg contained pagetype pagewidth paintstyle param_1 param_2 param_3
112syn keyword cfArg contained param_4 param_5 param_6 param_7 param_8 param_9 parent
113syn keyword cfArg contained parrent passive passthrough password path pattern
114syn keyword cfArg contained permissions picturebar pieslicestyle port porttypename
115syn keyword cfArg contained prefix preloader preservedata previouscriteria procedure
116syn keyword cfArg contained protocol provider providerdsn proxybypass proxypassword
117syn keyword cfArg contained proxyport proxyserver proxyuser publish query queryasroot
118syn keyword cfArg contained queryposition range rebind recurse redirect referral
119syn keyword cfArg contained refreshlabel remotefile replyto report requesttimeout
120syn keyword cfArg contained required reset resoleurl resolveurl result resultset
121syn keyword cfArg contained retrycount returnasbinary returncode returntype
122syn keyword cfArg contained returnvariable roles rotated rowheaderalign rowheaderbold
123syn keyword cfArg contained rowheaderfont rowheaderfontsize rowheaderitalic rowheaders
124syn keyword cfArg contained rowheadertextcolor rowheaderwidth rowheight scale scalefrom
125syn keyword cfArg contained scaleto scope scriptprotect scriptsrc secure securitycontext
126syn keyword cfArg contained select selectcolor selected selecteddate selectedindex
127syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement
128syn keyword cfArg contained server serviceport serviceportname sessionmanagement
129syn keyword cfArg contained sessiontimeout setclientcookies setcookie setdomaincookies
130syn keyword cfArg contained show3d showborder showdebugoutput showerror showlegend
131syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort
132syn keyword cfArg contained sortascendingbutton sortcontrol sortdescendingbutton
133syn keyword cfArg contained sortxaxis source spoolenable sql src srcfile start startdate
134syn keyword cfArg contained startrange startrow starttime status statuscode statustext
135syn keyword cfArg contained step stoponerror style subject suggestions
136syn keyword cfArg contained suppresswhitespace tablename tableowner tablequalifier
137syn keyword cfArg contained taglib target task template text textcolor textqualifier
138syn keyword cfArg contained throwonerror throwonerror throwonfailure throwontimeout
139syn keyword cfArg contained timeout timespan tipbgcolor tipstyle title to tooltip
140syn keyword cfArg contained toplevelvariable transfermode type uid unit url urlpath
141syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate
142syn keyword cfArg contained validateat value valuecolumn values valuesdelimiter
143syn keyword cfArg contained valuesdisplay var variable vertical visible vscroll vspace
144syn keyword cfArg contained webservice width wmode wraptext wsdlfile xaxistitle
145syn keyword cfArg contained xaxistype xoffset yaxistitle yaxistype yoffset
Bram Moolenaarc2065802005-11-25 19:50:52 +0000146
147" ColdFusion Functions.
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000148syn keyword cfFunctionName contained ACos ASin Abs AddSOAPRequestHeader AddSOAPResponseHeader
149syn keyword cfFunctionName contained ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ArrayInsertAt
150syn keyword cfFunctionName contained ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArrayNew
151syn keyword cfFunctionName contained ArrayPrepend ArrayResize ArraySet ArraySort ArraySum
152syn keyword cfFunctionName contained ArraySwap ArrayToList Asc Atn AuthenticatedContext
153syn keyword cfFunctionName contained AuthenticatedUser BinaryDecode BinaryEncode BitAnd
154syn keyword cfFunctionName contained BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN
155syn keyword cfFunctionName contained BitSHRN BitXor CJustify Ceiling CharsetDecode CharsetEncode
156syn keyword cfFunctionName contained Chr Compare CompareNoCase Cos CreateDate CreateDateTime
157syn keyword cfFunctionName contained CreateODBCDate CreateODBCDateTime CreateODBCTime
158syn keyword cfFunctionName contained CreateObject CreateTime CreateTimeSpan CreateUUID DE DateAdd
159syn keyword cfFunctionName contained DateCompare DateConvert DateDiff DateFormat DatePart Day
160syn keyword cfFunctionName contained DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear
161syn keyword cfFunctionName contained DecimalFormat DecrementValue Decrypt DecryptBinary
162syn keyword cfFunctionName contained DeleteClientVariable DirectoryExists DollarFormat Duplicate
163syn keyword cfFunctionName contained Encrypt EncryptBinary Evaluate Exp ExpandPath FileExists
164syn keyword cfFunctionName contained Find FindNoCase FindOneOf FirstDayOfMonth Fix FormatBaseN
165syn keyword cfFunctionName contained GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList
166syn keyword cfFunctionName contained GetBaseTemplatePath GetClientVariablesList GetContextRoot
167syn keyword cfFunctionName contained GetCurrentTemplatePath GetDirectoryFromPath GetEncoding
168syn keyword cfFunctionName contained GetException GetFileFromPath GetFunctionList
169syn keyword cfFunctionName contained GetGatewayHelper GetHttpRequestData GetHttpTimeString
170syn keyword cfFunctionName contained GetLocalHostIP
171syn keyword cfFunctionName contained GetLocale GetLocaleDisplayName GetMetaData GetMetricData
172syn keyword cfFunctionName contained GetPageContext GetProfileSections GetProfileString
173syn keyword cfFunctionName contained GetSOAPRequest GetSOAPRequestHeader GetSOAPResponse
174syn keyword cfFunctionName contained GetSOAPResponseHeader GetTempDirectory GetTempFile
175syn keyword cfFunctionName contained GetTickCount GetTimeZoneInfo GetToken
176syn keyword cfFunctionName contained HTMLCodeFormat HTMLEditFormat Hash Hour IIf IncrementValue
177syn keyword cfFunctionName contained InputBaseN Insert Int IsArray IsAuthenticated IsAuthorized
178syn keyword cfFunctionName contained IsBinary IsBoolean IsCustomFunction IsDate IsDebugMode
179syn keyword cfFunctionName contained IsDefined
180syn keyword cfFunctionName contained IsLeapYear IsLocalHost IsNumeric
181syn keyword cfFunctionName contained IsNumericDate IsObject IsProtected IsQuery IsSOAPRequest
182syn keyword cfFunctionName contained IsSimpleValue IsStruct IsUserInRole IsValid IsWDDX IsXML
183syn keyword cfFunctionName contained IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot
184syn keyword cfFunctionName contained JSStringFormat JavaCast LCase LJustify LSCurrencyFormat
185syn keyword cfFunctionName contained LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate
186syn keyword cfFunctionName contained LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime
187syn keyword cfFunctionName contained LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Left
188syn keyword cfFunctionName contained Len ListAppend ListChangeDelims ListContains
189syn keyword cfFunctionName contained ListContainsNoCase ListDeleteAt ListFind ListFindNoCase
190syn keyword cfFunctionName contained ListFirst ListGetAt ListInsertAt ListLast ListLen
191syn keyword cfFunctionName contained ListPrepend ListQualify ListRest ListSetAt ListSort
192syn keyword cfFunctionName contained ListToArray ListValueCount ListValueCountNoCase Log Log10
193syn keyword cfFunctionName contained Max Mid Min Minute Month MonthAsString Now NumberFormat
194syn keyword cfFunctionName contained ParagraphFormat ParseDateTime Pi
195syn keyword cfFunctionName contained PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow
196syn keyword cfFunctionName contained QueryNew QuerySetCell QuotedValueList REFind REFindNoCase
197syn keyword cfFunctionName contained REReplace REReplaceNoCase RJustify RTrim Rand RandRange
198syn keyword cfFunctionName contained Randomize ReleaseComObject RemoveChars RepeatString Replace
199syn keyword cfFunctionName contained ReplaceList ReplaceNoCase Reverse Right Round Second
200syn keyword cfFunctionName contained SendGatewayMessage SetEncoding SetLocale SetProfileString
201syn keyword cfFunctionName contained SetVariable Sgn Sin SpanExcluding SpanIncluding Sqr StripCR
202syn keyword cfFunctionName contained StructAppend StructClear StructCopy StructCount StructDelete
203syn keyword cfFunctionName contained StructFind StructFindKey StructFindValue StructGet
204syn keyword cfFunctionName contained StructInsert StructIsEmpty StructKeyArray StructKeyExists
205syn keyword cfFunctionName contained StructKeyList StructNew StructSort StructUpdate Tan
206syn keyword cfFunctionName contained TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase
207syn keyword cfFunctionName contained URLDecode URLEncodedFormat URLSessionFormat Val ValueList
208syn keyword cfFunctionName contained Week Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat
209syn keyword cfFunctionName contained XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform
210syn keyword cfFunctionName contained XmlValidate Year YesNoFormat
211
212" Deprecated tags and functions.
213syn keyword cfDeprecated contained cfauthenticate cfimpersonate cfgraph cfgraphdata
214syn keyword cfDeprecated contained cfservlet cfservletparam cftextinput
215syn keyword cfDeprecated contained GetK2ServerDocCount GetK2ServerDocCountLimit GetTemplatePath
216syn keyword cfDeprecated contained IsK2ServerABroker IsK2ServerDocCountExceeded IsK2ServerOnline
217syn keyword cfDeprecated contained ParameterExists
Bram Moolenaarc2065802005-11-25 19:50:52 +0000218
219syn cluster htmlTagNameCluster add=cfTagName
220syn cluster htmlArgCluster add=cfArg,cfHashRegion,cfScope
221syn cluster htmlPreproc add=cfHashRegion
222
223syn cluster cfExpressionCluster contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool
224
225" Evaluation; skip strings ( this helps with cases like nested IIf() )
226syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contains=@cfExpressionCluster,cfScriptParenError
227
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000228" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit
229" evaluation) and have 'var'
Bram Moolenaarc2065802005-11-25 19:50:52 +0000230syn region cfSetRegion start="<cfset " start="<cfreturn " start="<cfelseif " start="<cfif " end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptType
231syn region cfSetLHSRegion contained start="<cfreturn" start="<cfelseif" start="<cfif" start="<cfset" end=" " keepend contains=cfTagName,htmlTag
232syn match cfSetTagEnd contained '>'
233
234" CF comments: similar to SGML comments
235syn region cfComment start='<!---' end='--->' keepend contains=cfCommentTodo
236syn keyword cfCommentTodo contained TODO FIXME XXX TBD WTF
237
238" CFscript
239syn match cfScriptLineComment contained "\/\/.*$" contains=cfCommentTodo
240syn region cfScriptComment contained start="/\*" end="\*/" contains=cfCommentTodo
241" in CF, quotes are escaped by doubling
242syn region cfScriptStringD contained start=+"+ skip=+\\\\\|""+ end=+"+ extend contains=@htmlPreproc,cfHashRegion
243syn region cfScriptStringS contained start=+'+ skip=+\\\\\|''+ end=+'+ extend contains=@htmlPreproc,cfHashRegion
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000244syn match cfScriptNumber contained "\<\d\+\>"
Bram Moolenaarc2065802005-11-25 19:50:52 +0000245syn keyword cfScriptConditional contained if else
246syn keyword cfScriptRepeat contained while for in
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000247syn keyword cfScriptBranch contained break switch case default try catch continue
Bram Moolenaarc2065802005-11-25 19:50:52 +0000248syn keyword cfScriptFunction contained function
249syn keyword cfScriptType contained var
250syn match cfScriptBraces contained "[{}]"
251syn keyword cfScriptStatement contained return
252
253syn cluster cfScriptCluster contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,cfScriptType,@cfExpressionCluster,cfScriptStatement
254
255" Errors caused by wrong parenthesis; skip strings
256syn region cfScriptParen contained transparent skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+ contains=@cfScriptCluster
257syn match cfScrParenError contained +)+
258
259syn region cfscriptBlock matchgroup=NONE start="<cfscript>" end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError
260syn region cfscriptTag contained start='<cfscript' end='>' keepend contains=cfTagName,htmlTag
261
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000262" CFML
263syn cluster cfmlCluster contains=cfComment,@htmlTagNameCluster,@htmlPreproc,cfSetRegion,cfscriptBlock
264
265" cfquery = sql
266unlet b:current_syntax
267syn include @cfSql <sfile>:p:h/sql.vim
268unlet b:current_syntax
269syn region cfqueryTag contained start=+<cfquery+ end=+>+ keepend contains=cfTagName,htmlTag
270syn region cfSqlregion start=+<cfquery[^>]*>+ keepend end=+<\/cfquery>+me=s-1 matchgroup=NONE contains=@cfSql,cfComment,@htmlTagNameCluster,cfqueryTag
271
Bram Moolenaarc2065802005-11-25 19:50:52 +0000272" Define the default highlighting.
273if version >= 508 || !exists("did_cf_syn_inits")
274 if version < 508
275 let did_cf_syn_inits = 1
276 command -nargs=+ HiLink hi link <args>
277 else
278 command -nargs=+ HiLink hi def link <args>
279 endif
280
281 HiLink cfTagName Statement
282 HiLink cfArg Type
283 HiLink cfFunctionName Function
284 HiLink cfHashRegion PreProc
285 HiLink cfComment Comment
286 HiLink cfCommentTodo Todo
287 HiLink cfOperator Operator
288 HiLink cfOperatorMatch Operator
289 HiLink cfScope Title
290 HiLink cfBool Constant
291
292 HiLink cfscriptBlock Special
293 HiLink cfscriptTag htmlTag
294 HiLink cfSetRegion PreProc
295 HiLink cfSetLHSRegion htmlTag
296 HiLink cfSetTagEnd htmlTag
297
298 HiLink cfScriptLineComment Comment
299 HiLink cfScriptComment Comment
300 HiLink cfScriptStringS String
301 HiLink cfScriptStringD String
302 HiLink cfScriptNumber cfScriptValue
303 HiLink cfScriptConditional Conditional
304 HiLink cfScriptRepeat Repeat
305 HiLink cfScriptBranch Conditional
306 HiLink cfScriptType Type
307 HiLink cfScriptStatement Statement
308 HiLink cfScriptBraces Function
309 HiLink cfScriptFunction Function
310 HiLink cfScriptError Error
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000311 HiLink cfDeprecated Error
Bram Moolenaarc2065802005-11-25 19:50:52 +0000312 HiLink cfScrParenError cfScriptError
313
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000314 HiLink cfqueryTag htmlTag
315
Bram Moolenaarc2065802005-11-25 19:50:52 +0000316 delcommand HiLink
317endif
318
319let b:current_syntax = "cf"
320
321" vim: ts=8 sw=2