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