Mercurial > vim
annotate runtime/syntax/cf.vim @ 21005:3f0abea9bed2
Added tag v8.2.1053 for changeset 0650d220f7422f96aed6270c055ad7e7a357af28
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 25 Jun 2020 19:15:26 +0200 |
parents | 45987b1b77dc |
children |
rev | line source |
---|---|
558 | 1 " Vim syntax file |
12968 | 2 " |
3 " Language: CFML (ColdFusion) | |
4 " Author: Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com> | |
5 " License: The MIT License (MIT) | |
6 " | |
7 " Maintainer: Ernst M. van der Linden <ernst.vanderlinden@ernestoz.com> | |
8 " URL: https://github.com/ernstvanderlinden/vim-coldfusion | |
9 " Last Change: 2017 Nov 28 | |
10 " | |
11 " Filenames: *.cfc *.cfm | |
558 | 12 |
12968 | 13 " Quit when a syntax file was already loaded. |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
14 if exists("b:current_syntax") |
558 | 15 finish |
16 endif | |
17 | |
12968 | 18 " Using line continuation here. |
19 let s:cpo_save=&cpo | |
20 set cpo-=C | |
21 | |
22 sy sync fromstart | |
23 " 20171126: disabled as we have fast computers now. | |
24 "sy sync maxlines=2000 | |
25 sy case ignore | |
26 | |
27 " INCLUDES {{{ | |
28 sy include @sqlSyntax $VIMRUNTIME/syntax/sql.vim | |
29 " 20161010: Disabled include html highlighting as it contains huge keywords | |
30 " regex, so it will have impact on performance. Use own simple SGML tag | |
31 " coloring instead. | |
32 "runtime! syntax/html.vim | |
33 " / INCLUDES }}} | |
34 | |
35 " NUMBER {{{ | |
36 sy match cfmlNumber | |
37 \ "\v<\d+>" | |
38 " / NUMBER }}} | |
39 | |
40 " EQUAL SIGN {{{ | |
41 sy match cfmlEqualSign | |
42 \ "\v\=" | |
43 " / EQUAL SIGN }}} | |
44 | |
45 " BOOLEAN {{{ | |
46 sy match cfmlBoolean | |
47 \ "\v<(true|false)>" | |
48 " / BOOLEAN }}} | |
49 | |
50 " HASH SURROUNDED {{{ | |
51 sy region cfmlHashSurround | |
52 \ keepend | |
53 \ oneline | |
54 \ start="#" | |
55 \ end="#" | |
56 \ skip="##" | |
57 \ contains= | |
58 \@cfmlOperator, | |
59 \@cfmlPunctuation, | |
60 \cfmlBoolean, | |
61 \cfmlCoreKeyword, | |
62 \cfmlCoreScope, | |
63 \cfmlCustomKeyword, | |
64 \cfmlCustomScope, | |
65 \cfmlEqualSign, | |
66 \cfmlFunctionName, | |
67 \cfmlNumber | |
68 " / HASH SURROUNDED }}} | |
69 | |
70 " OPERATOR {{{ | |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
71 |
12968 | 72 " OPERATOR - ARITHMETIC {{{ |
73 " +7 -7 | |
74 " ++i --i | |
75 " i++ i-- | |
76 " + - * / % | |
77 " += -= *= /= %= | |
78 " ^ mod | |
79 sy match cfmlArithmeticOperator | |
80 \ "\v | |
81 \(\+|-)\ze\d | |
82 \|(\+\+|--)\ze\w | |
83 \|\w\zs(\+\+|--) | |
84 \|(\s( | |
85 \(\+|-|\*|\/|\%){1}\={,1} | |
86 \|\^ | |
87 \|mod | |
88 \)\s) | |
89 \" | |
90 " / OPERATOR - ARITHMETIC }}} | |
558 | 91 |
12968 | 92 " OPERATOR - BOOLEAN {{{ |
93 " not and or xor eqv imp | |
94 " ! && || | |
95 sy match cfmlBooleanOperator | |
96 \ "\v\s | |
97 \(not|and|or|xor|eqv|imp | |
98 \|\!|\&\&|\|\| | |
99 \)(\s|\)) | |
100 \|\s\!\ze\w | |
101 \" | |
102 " / OPERATOR - BOOLEAN }}} | |
103 | |
104 " OPERATOR - DECISION {{{ | |
105 "is|equal|eq | |
106 "is not|not equal|neq | |
107 "contains|does not contain | |
108 "greater than|gt | |
109 "less than|lt | |
110 "greater than or equal to|gte|ge | |
111 "less than or equal to|lte|le | |
112 "==|!=|>|<|>=|<= | |
113 sy match cfmlDecisionOperator | |
114 \ "\v\s | |
115 \(is|equal|eq | |
116 \|is not|not equal|neq | |
117 \|contains|does not contain | |
118 \|greater than|gt | |
119 \|less than|lt | |
120 \|greater than or equal to|gte|ge | |
121 \|less than or equal to|lte|le | |
122 \|(!|\<|\>|\=){1}\= | |
123 \|\< | |
124 \|\> | |
125 \)\s" | |
126 " / OPERATOR - DECISION }}} | |
127 | |
128 " OPERATOR - STRING {{{ | |
129 " & | |
130 " &= | |
131 sy match cfmlStringOperator | |
132 \ "\v\s\&\={,1}\s" | |
133 " / OPERATOR - STRING }}} | |
558 | 134 |
12968 | 135 " OPERATOR - TERNARY {{{ |
136 " ? : | |
137 sy match cfmlTernaryOperator | |
138 \ "\v\s | |
139 \\?|\: | |
140 \\s" | |
141 " / OPERATOR - TERNARY }}} | |
142 | |
143 sy cluster cfmlOperator | |
144 \ contains= | |
145 \cfmlArithmeticOperator, | |
146 \cfmlBooleanOperator, | |
147 \cfmlDecisionOperator, | |
148 \cfmlStringOperator, | |
149 \cfmlTernaryOperator | |
150 " / OPERATOR }}} | |
151 | |
152 " PARENTHESIS {{{ | |
153 sy cluster cfmlParenthesisRegionContains | |
154 \ contains= | |
155 \@cfmlAttribute, | |
156 \@cfmlComment, | |
157 \@cfmlFlowStatement, | |
158 \@cfmlOperator, | |
159 \@cfmlPunctuation, | |
160 \cfmlBoolean, | |
161 \cfmlBrace, | |
162 \cfmlCoreKeyword, | |
163 \cfmlCoreScope, | |
164 \cfmlCustomKeyword, | |
165 \cfmlCustomScope, | |
166 \cfmlEqualSign, | |
167 \cfmlFunctionName, | |
168 \cfmlNumber, | |
169 \cfmlStorageKeyword, | |
170 \cfmlStorageType | |
558 | 171 |
12968 | 172 sy region cfmlParenthesisRegion1 |
173 \ extend | |
174 \ matchgroup=cfmlParenthesis1 | |
175 \ transparent | |
176 \ start=/(/ | |
177 \ end=/)/ | |
178 \ contains= | |
179 \cfmlParenthesisRegion2, | |
180 \@cfmlParenthesisRegionContains | |
181 sy region cfmlParenthesisRegion2 | |
182 \ matchgroup=cfmlParenthesis2 | |
183 \ transparent | |
184 \ start=/(/ | |
185 \ end=/)/ | |
186 \ contains= | |
187 \cfmlParenthesisRegion3, | |
188 \@cfmlParenthesisRegionContains | |
189 sy region cfmlParenthesisRegion3 | |
190 \ matchgroup=cfmlParenthesis3 | |
191 \ transparent | |
192 \ start=/(/ | |
193 \ end=/)/ | |
194 \ contains= | |
195 \cfmlParenthesisRegion1, | |
196 \@cfmlParenthesisRegionContains | |
197 sy cluster cfmlParenthesisRegion | |
198 \ contains= | |
199 \cfmlParenthesisRegion1, | |
200 \cfmlParenthesisRegion2, | |
201 \cfmlParenthesisRegion3 | |
202 " / PARENTHESIS }}} | |
203 | |
204 " BRACE {{{ | |
205 sy match cfmlBrace | |
206 \ "{\|}" | |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
207 |
12968 | 208 sy region cfmlBraceRegion |
209 \ extend | |
210 \ fold | |
211 \ keepend | |
212 \ transparent | |
213 \ start="{" | |
214 \ end="}" | |
215 " / BRACE }}} | |
216 | |
217 " PUNCTUATION {{{ | |
218 | |
219 " PUNCTUATION - BRACKET {{{ | |
220 sy match cfmlBracket | |
221 \ "\(\[\|\]\)" | |
222 \ contained | |
223 " / PUNCTUATION - BRACKET }}} | |
224 | |
225 " PUNCTUATION - CHAR {{{ | |
226 sy match cfmlComma "," | |
227 sy match cfmlDot "\." | |
228 sy match cfmlSemiColon ";" | |
229 | |
230 " / PUNCTUATION - CHAR }}} | |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
231 |
12968 | 232 " PUNCTUATION - QUOTE {{{ |
233 sy region cfmlSingleQuotedValue | |
234 \ matchgroup=cfmlSingleQuote | |
235 \ start=/'/ | |
236 \ skip=/''/ | |
237 \ end=/'/ | |
238 \ contains= | |
239 \cfmlHashSurround | |
240 | |
241 sy region cfmlDoubleQuotedValue | |
242 \ matchgroup=cfmlDoubleQuote | |
243 \ start=/"/ | |
244 \ skip=/""/ | |
245 \ end=/"/ | |
246 \ contains= | |
247 \cfmlHashSurround | |
248 | |
249 sy cluster cfmlQuotedValue | |
250 \ contains= | |
251 \cfmlDoubleQuotedValue, | |
252 \cfmlSingleQuotedValue | |
253 | |
254 sy cluster cfmlQuote | |
255 \ contains= | |
256 \cfmlDoubleQuote, | |
257 \cfmlSingleQuote | |
258 " / PUNCTUATION - QUOTE }}} | |
558 | 259 |
12968 | 260 sy cluster cfmlPunctuation |
261 \ contains= | |
262 \@cfmlQuote, | |
263 \@cfmlQuotedValue, | |
264 \cfmlBracket, | |
265 \cfmlComma, | |
266 \cfmlDot, | |
267 \cfmlSemiColon | |
268 | |
269 " / PUNCTUATION }}} | |
270 | |
271 " TAG START AND END {{{ | |
272 " tag start | |
273 " <cf...> | |
274 " s^^ e | |
275 sy region cfmlTagStart | |
276 \ keepend | |
277 \ transparent | |
278 \ start="\c<cf_*" | |
279 \ end=">" | |
280 \ contains= | |
281 \@cfmlAttribute, | |
282 \@cfmlComment, | |
283 \@cfmlOperator, | |
284 \@cfmlParenthesisRegion, | |
285 \@cfmlPunctuation, | |
286 \@cfmlQuote, | |
287 \@cfmlQuotedValue, | |
288 \cfmlAttrEqualSign, | |
289 \cfmlBoolean, | |
290 \cfmlBrace, | |
291 \cfmlCoreKeyword, | |
292 \cfmlCoreScope, | |
293 \cfmlCustomKeyword, | |
294 \cfmlCustomScope, | |
295 \cfmlEqualSign, | |
296 \cfmlFunctionName, | |
297 \cfmlNumber, | |
298 \cfmlStorageKeyword, | |
299 \cfmlStorageType, | |
300 \cfmlTagBracket, | |
301 \cfmlTagName | |
302 | |
303 " tag end | |
304 " </cf...> | |
305 " s^^^ e | |
306 sy match cfmlTagEnd | |
307 \ transparent | |
308 \ "\c</cf_*[^>]*>" | |
309 \ contains= | |
310 \cfmlTagBracket, | |
311 \cfmlTagName | |
312 | |
313 " tag bracket | |
314 " </...> | |
315 " ^^ ^ | |
316 sy match cfmlTagBracket | |
317 \ contained | |
318 \ "\(<\|>\|\/\)" | |
319 | |
320 " tag name | |
321 " <cf...> | |
322 " s^^^e | |
323 sy match cfmlTagName | |
324 \ contained | |
325 \ "\v<\/*\zs\ccf\w*" | |
326 " / TAG START AND END }}} | |
327 | |
328 " ATTRIBUTE NAME AND VALUE {{{ | |
329 sy match cfmlAttrName | |
330 \ contained | |
331 \ "\v(var\s)@<!\w+\ze\s*\=([^\=])+" | |
332 | |
333 sy match cfmlAttrValue | |
334 \ contained | |
335 \ "\v(\=\"*)\zs\s*\w*" | |
336 | |
337 sy match cfmlAttrEqualSign | |
338 \ contained | |
339 \ "\v\=" | |
340 | |
341 sy cluster cfmlAttribute | |
342 \ contains= | |
343 \@cfmlQuotedValue, | |
344 \cfmlAttrEqualSign, | |
345 \cfmlAttrName, | |
346 \cfmlAttrValue, | |
347 \cfmlCoreKeyword, | |
348 \cfmlCoreScope | |
349 " / ATTRIBUTE NAME AND VALUE }}} | |
350 | |
351 " TAG REGION AND FOLDING {{{ | |
352 | |
353 " CFCOMPONENT REGION AND FOLD {{{ | |
354 " <cfcomponent | |
355 " s^^^^^^^^^^^ | |
356 " </cfcomponent> | |
357 " ^^^^^^^^^^^^^e | |
358 sy region cfmlComponentTagRegion | |
359 \ fold | |
360 \ keepend | |
361 \ transparent | |
362 \ start="\c<cfcomponent" | |
363 \ end="\c</cfcomponent>" | |
364 | |
365 " / CFCOMPONENT REGION AND FOLD }}} | |
366 | |
367 " CFFUNCTION REGION AND FOLD {{{ | |
368 " <cffunction | |
369 " s^^^^^^^^^^ | |
370 " </cffunction> | |
371 " ^^^^^^^^^^^^e | |
372 sy region cfmlFunctionTagRegion | |
373 \ fold | |
374 \ keepend | |
375 \ transparent | |
376 \ start="\c<cffunction" | |
377 \ end="\c</cffunction>" | |
378 " / CFFUNCTION REGION AND FOLD }}} | |
558 | 379 |
12968 | 380 " CFIF REGION AND FOLD {{{ |
381 " <cfif | |
382 " s^^^^ | |
383 " </cfif> | |
384 " ^^^^^^e | |
385 sy region cfmlIfTagRegion | |
386 \ fold | |
387 \ keepend | |
388 \ transparent | |
389 \ start="\c<cfif" | |
390 \ end="\c</cfif>" | |
391 " / CFIF REGION AND FOLD }}} | |
392 | |
393 " CFLOOP REGION AND FOLD {{{ | |
394 " <cfloop | |
395 " s^^^^^^ | |
396 " </cfloop> | |
397 " ^^^^^^^^e | |
398 sy region cfmlLoopTagRegion | |
399 \ fold | |
400 \ keepend | |
401 \ transparent | |
402 \ start="\c<cfloop" | |
403 \ end="\c</cfloop>" | |
404 " / CFLOOP REGION AND FOLD }}} | |
405 | |
406 " CFOUTPUT REGION AND FOLD {{{ | |
407 " <cfoutput | |
408 " s^^^^^^^^ | |
409 " </cfoutput> | |
410 " ^^^^^^^^^^e | |
411 sy region cfmlOutputTagRegion | |
412 \ fold | |
413 \ keepend | |
414 \ transparent | |
415 \ start="\c<cfoutput" | |
416 \ end="\c</cfoutput>" | |
417 " / CFOUTPUT REGION AND FOLD }}} | |
418 | |
419 " CFQUERY REGION AND FOLD {{{ | |
420 " <cfquery | |
421 " s^^^^^^^ | |
422 " </cfquery> | |
423 " ^^^^^^^^^e | |
424 "\@cfmlSqlStatement, | |
425 sy region cfmlQueryTagRegion | |
426 \ fold | |
427 \ keepend | |
428 \ transparent | |
429 \ start="\c<cfquery" | |
430 \ end="\c</cfquery>" | |
431 \ contains= | |
432 \@cfmlSqlStatement, | |
433 \cfmlTagStart, | |
434 \cfmlTagEnd, | |
435 \cfmlTagComment | |
436 " / CFQUERY REGION AND FOLD }}} | |
437 | |
438 " SAVECONTENT REGION AND FOLD {{{ | |
439 " <savecontent | |
440 " s^^^^^^^^^^^ | |
441 " </savecontent> | |
442 " ^^^^^^^^^^^^^e | |
443 sy region cfmlSavecontentTagRegion | |
444 \ fold | |
445 \ keepend | |
446 \ transparent | |
447 \ start="\c<cfsavecontent" | |
448 \ end="\c</cfsavecontent>" | |
449 " / SAVECONTENT REGION AND FOLD }}} | |
450 | |
451 " CFSCRIPT REGION AND FOLD {{{ | |
452 " <cfscript> | |
453 " s^^^^^^^^^ | |
454 " </cfscript> | |
455 " ^^^^^^^^^^e | |
456 "\cfmlCustomScope, | |
457 sy region cfmlScriptTagRegion | |
458 \ fold | |
459 \ keepend | |
460 \ transparent | |
461 \ start="\c<cfscript>" | |
462 \ end="\c</cfscript>" | |
463 \ contains= | |
464 \@cfmlComment, | |
465 \@cfmlFlowStatement, | |
466 \cfmlHashSurround, | |
467 \@cfmlOperator, | |
468 \@cfmlParenthesisRegion, | |
469 \@cfmlPunctuation, | |
470 \cfmlBoolean, | |
471 \cfmlBrace, | |
472 \cfmlCoreKeyword, | |
473 \cfmlCoreScope, | |
474 \cfmlCustomKeyword, | |
475 \cfmlCustomScope, | |
476 \cfmlEqualSign, | |
477 \cfmlFunctionDefinition, | |
478 \cfmlFunctionName, | |
479 \cfmlNumber, | |
480 \cfmlOddFunction, | |
481 \cfmlStorageKeyword, | |
482 \cfmlTagEnd, | |
483 \cfmlTagStart | |
484 " / CFSCRIPT REGION AND FOLD }}} | |
485 | |
486 " CFSWITCH REGION AND FOLD {{{ | |
487 " <cfswitch | |
488 " s^^^^^^^^ | |
489 " </cfswitch> | |
490 " ^^^^^^^^^^e | |
491 sy region cfmlSwitchTagRegion | |
492 \ fold | |
493 \ keepend | |
494 \ transparent | |
495 \ start="\c<cfswitch" | |
496 \ end="\c</cfswitch>" | |
497 " / CFSWITCH REGION AND FOLD }}} | |
498 | |
499 " CFTRANSACTION REGION AND FOLD {{{ | |
500 " <cftransaction | |
501 " s^^^^^^^^^^^^^ | |
502 " </cftransaction> | |
503 " ^^^^^^^^^^^^^^^e | |
504 sy region cfmlTransactionTagRegion | |
505 \ fold | |
506 \ keepend | |
507 \ transparent | |
508 \ start="\c<cftransaction" | |
509 \ end="\c</cftransaction>" | |
510 " / CFTRANSACTION REGION AND FOLD }}} | |
558 | 511 |
12968 | 512 " CUSTOM TAG REGION AND FOLD {{{ |
513 " <cf_...> | |
514 " s^^^ ^ | |
515 " </cf_...> | |
516 " ^^^^^ e | |
517 sy region cfmlCustomTagRegion | |
518 \ fold | |
519 \ keepend | |
520 \ transparent | |
521 \ start="\c<cf_[^>]*>" | |
522 \ end="\c</cf_[^>]*>" | |
523 " / CUSTOM TAG REGION AND FOLD }}} | |
524 | |
525 " / TAG REGION AND FOLDING }}} | |
526 | |
527 " COMMENT {{{ | |
528 | |
529 " COMMENT BLOCK {{{ | |
530 " /*...*/ | |
531 " s^ ^e | |
532 sy region cfmlCommentBlock | |
533 \ keepend | |
534 \ start="/\*" | |
535 \ end="\*/" | |
536 \ contains= | |
537 \cfmlMetaData | |
538 " / COMMENT BLOCK }}} | |
539 | |
540 " COMMENT LINE {{{ | |
541 " //... | |
542 " s^ | |
543 sy match cfmlCommentLine | |
544 \ "\/\/.*" | |
545 " / COMMENT LINE }}} | |
546 | |
547 sy cluster cfmlComment | |
548 \ contains= | |
549 \cfmlCommentBlock, | |
550 \cfmlCommentLine | |
551 " / COMMENT }}} | |
552 | |
553 " TAG COMMENT {{{ | |
554 " <!---...---> | |
555 " s^^^^ ^^^e | |
556 sy region cfmlTagComment | |
557 \ keepend | |
558 \ start="<!---" | |
559 \ end="--->" | |
560 \ contains= | |
561 \cfmlTagComment | |
562 " / TAG COMMENT }}} | |
563 | |
564 " FLOW STATEMENT {{{ | |
565 " BRANCH FLOW KEYWORD {{{ | |
566 sy keyword cfmlBranchFlowKeyword | |
567 \ break | |
568 \ continue | |
569 \ return | |
570 | |
571 " / BRANCH KEYWORD }}} | |
572 | |
573 " DECISION FLOW KEYWORD {{{ | |
574 sy keyword cfmlDecisionFlowKeyword | |
575 \ case | |
576 \ defaultcase | |
577 \ else | |
578 \ if | |
579 \ switch | |
580 | |
581 " / DECISION FLOW KEYWORD }}} | |
582 | |
583 " LOOP FLOW KEYWORD {{{ | |
584 sy keyword cfmlLoopFlowKeyword | |
585 \ do | |
586 \ for | |
587 \ in | |
588 \ while | |
589 | |
590 " / LOOP FLOW KEYWORD }}} | |
591 | |
592 " TRY FLOW KEYWORD {{{ | |
593 sy keyword cfmlTryFlowKeyword | |
594 \ catch | |
595 \ finally | |
596 \ rethrow | |
597 \ throw | |
598 \ try | |
599 | |
600 " / TRY FLOW KEYWORD }}} | |
601 | |
602 sy cluster cfmlFlowStatement | |
603 \ contains= | |
604 \cfmlBranchFlowKeyword, | |
605 \cfmlDecisionFlowKeyword, | |
606 \cfmlLoopFlowKeyword, | |
607 \cfmlTryFlowKeyword | |
608 | |
609 " / FLOW STATEMENT }}} | |
610 | |
611 " STORAGE KEYWORD {{{ | |
612 sy keyword cfmlStorageKeyword | |
613 \ var | |
614 " / STORAGE KEYWORD }}} | |
1620 | 615 |
12968 | 616 " STORAGE TYPE {{{ |
617 sy match cfmlStorageType | |
618 \ contained | |
619 \ "\v< | |
620 \(any | |
621 \|array | |
622 \|binary | |
623 \|boolean | |
624 \|date | |
625 \|numeric | |
626 \|query | |
627 \|string | |
628 \|struct | |
629 \|uuid | |
630 \|void | |
631 \|xml | |
632 \){1}\ze(\s*\=)@!" | |
633 " / STORAGE TYPE }}} | |
634 | |
635 " CORE KEYWORD {{{ | |
636 sy match cfmlCoreKeyword | |
637 \ "\v< | |
638 \(new | |
639 \|required | |
640 \)\ze\s" | |
641 " / CORE KEYWORD }}} | |
642 | |
643 " CORE SCOPE {{{ | |
644 sy match cfmlCoreScope | |
645 \ "\v< | |
646 \(application | |
647 \|arguments | |
648 \|attributes | |
649 \|caller | |
650 \|cfcatch | |
651 \|cffile | |
652 \|cfhttp | |
653 \|cgi | |
654 \|client | |
655 \|cookie | |
656 \|form | |
657 \|local | |
658 \|request | |
659 \|server | |
660 \|session | |
661 \|super | |
662 \|this | |
663 \|thisTag | |
664 \|thread | |
665 \|variables | |
666 \|url | |
667 \){1}\ze(,|\.|\[|\)|\s)" | |
668 " / CORE SCOPE }}} | |
558 | 669 |
12968 | 670 " SQL STATEMENT {{{ |
671 sy cluster cfmlSqlStatement | |
672 \ contains= | |
673 \@cfmlParenthesisRegion, | |
674 \@cfmlQuote, | |
675 \@cfmlQuotedValue, | |
676 \@sqlSyntax, | |
677 \cfmlBoolean, | |
678 \cfmlDot, | |
679 \cfmlEqualSign, | |
680 \cfmlFunctionName, | |
681 \cfmlHashSurround, | |
682 \cfmlNumber | |
683 " / SQL STATEMENT }}} | |
684 | |
685 " TAG IN SCRIPT {{{ | |
686 sy match cfmlTagNameInScript | |
687 \ "\vcf_*\w+\s*\ze\(" | |
688 " / TAG IN SCRIPT }}} | |
689 | |
690 " METADATA {{{ | |
691 sy region cfmlMetaData | |
692 \ contained | |
693 \ keepend | |
694 \ start="@\w\+" | |
695 \ end="$" | |
696 \ contains= | |
697 \cfmlMetaDataName | |
698 | |
699 sy match cfmlMetaDataName | |
700 \ contained | |
701 \ "@\w\+" | |
702 " / METADATA }}} | |
558 | 703 |
12968 | 704 " COMPONENT DEFINITION {{{ |
705 sy region cfmlComponentDefinition | |
706 \ start="component" | |
707 \ end="{"me=e-1 | |
708 \ contains= | |
709 \@cfmlAttribute, | |
710 \cfmlComponentKeyword | |
711 | |
712 sy match cfmlComponentKeyword | |
713 \ contained | |
714 \ "\v<component>" | |
715 " / COMPONENT DEFINITION }}} | |
716 | |
717 " INTERFACE DEFINITION {{{ | |
718 sy match cfmlInterfaceDefinition | |
719 \ "interface\s.*{"me=e-1 | |
720 \ contains= | |
721 \cfmlInterfaceKeyword | |
558 | 722 |
12968 | 723 sy match cfmlInterfaceKeyword |
724 \ contained | |
725 \ "\v<interface>" | |
726 " / INTERFACE DEFINITION }}} | |
727 | |
728 " PROPERTY {{{ | |
729 sy region cfmlProperty | |
730 \ transparent | |
731 \ start="\v<property>" | |
732 \ end=";"me=e-1 | |
733 \ contains= | |
734 \@cfmlQuotedValue, | |
735 \cfmlAttrEqualSign, | |
736 \cfmlAttrName, | |
737 \cfmlAttrValue, | |
738 \cfmlPropertyKeyword | |
739 | |
740 sy match cfmlPropertyKeyword | |
741 \ contained | |
742 \ "\v<property>" | |
743 " / PROPERTY }}} | |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
744 |
12968 | 745 " FUNCTION DEFINITION {{{ |
746 sy match cfmlFunctionDefinition | |
747 \ "\v | |
748 \(<(public|private|package)\s){,1} | |
749 \(< | |
750 \(any | |
751 \|array | |
752 \|binary | |
753 \|boolean | |
754 \|date | |
755 \|numeric | |
756 \|query | |
757 \|string | |
758 \|struct | |
759 \|uuid | |
760 \|void | |
761 \|xml | |
762 \)\s){,1} | |
763 \<function\s\w+\s*\("me=e-1 | |
764 \ contains= | |
765 \cfmlFunctionKeyword, | |
766 \cfmlFunctionModifier, | |
767 \cfmlFunctionName, | |
768 \cfmlFunctionReturnType | |
769 | |
770 " FUNCTION KEYWORD {{{ | |
771 sy match cfmlFunctionKeyword | |
772 \ contained | |
773 \ "\v<function>" | |
774 " / FUNCTION KEYWORD }}} | |
558 | 775 |
12968 | 776 " FUNCTION MODIFIER {{{ |
777 sy match cfmlFunctionModifier | |
778 \ contained | |
779 \ "\v< | |
780 \(public | |
781 \|private | |
782 \|package | |
783 \)>" | |
784 " / FUNCTION MODIFIER }}} | |
558 | 785 |
12968 | 786 " FUNCTION RETURN TYPE {{{ |
787 sy match cfmlFunctionReturnType | |
788 \ contained | |
789 \ "\v | |
790 \(any | |
791 \|array | |
792 \|binary | |
793 \|boolean | |
794 \|date | |
795 \|numeric | |
796 \|query | |
797 \|string | |
798 \|struct | |
799 \|uuid | |
800 \|void | |
801 \|xml | |
802 \)" | |
803 " / FUNCTION RETURN TYPE }}} | |
804 | |
805 " FUNCTION NAME {{{ | |
806 " specific regex for core functions decreases performance | |
807 " so use the same highlighting for both function types | |
808 sy match cfmlFunctionName | |
809 \ "\v<(cf|if|elseif|throw)@!\w+\s*\ze\(" | |
810 " / FUNCTION NAME }}} | |
558 | 811 |
12968 | 812 " / FUNCTION DEFINITION }}} |
813 | |
814 " ODD FUNCTION {{{ | |
815 sy region cfmlOddFunction | |
816 \ transparent | |
817 \ start="\v< | |
818 \(abort | |
819 \|exit | |
820 \|import | |
821 \|include | |
822 \|lock | |
823 \|pageencoding | |
824 \|param | |
825 \|savecontent | |
826 \|thread | |
827 \|transaction | |
828 \){1}" | |
829 \ end="\v(\{|;)"me=e-1 | |
830 \ contains= | |
831 \@cfmlQuotedValue, | |
832 \cfmlAttrEqualSign, | |
833 \cfmlAttrName, | |
834 \cfmlAttrValue, | |
835 \cfmlCoreKeyword, | |
836 \cfmlOddFunctionKeyword, | |
837 \cfmlCoreScope | |
558 | 838 |
12968 | 839 " ODD FUNCTION KEYWORD {{{ |
840 sy match cfmlOddFunctionKeyword | |
841 \ contained | |
842 \ "\v< | |
843 \(abort | |
844 \|exit | |
845 \|import | |
846 \|include | |
847 \|lock | |
848 \|pageencoding | |
849 \|param | |
850 \|savecontent | |
851 \|thread | |
852 \|transaction | |
853 \)\ze(\s|$|;)" | |
854 " / ODD FUNCTION KEYWORD }}} | |
2098
3259c3923c1e
Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1620
diff
changeset
|
855 |
12968 | 856 " / ODD FUNCTION }}} |
857 | |
858 " CUSTOM {{{ | |
558 | 859 |
12968 | 860 " CUSTOM KEYWORD {{{ |
861 sy match cfmlCustomKeyword | |
862 \ contained | |
863 \ "\v< | |
864 \(customKeyword1 | |
865 \|customKeyword2 | |
866 \|customKeyword3 | |
867 \)>" | |
868 " / CUSTOM KEYWORD }}} | |
558 | 869 |
12968 | 870 " CUSTOM SCOPE {{{ |
871 sy match cfmlCustomScope | |
872 \ contained | |
873 \ "\v< | |
874 \(prc | |
875 \|rc | |
876 \|event | |
877 \|(\w+Service) | |
878 \){1}\ze(\.|\[)" | |
879 " / CUSTOM SCOPE }}} | |
1620 | 880 |
12968 | 881 " / CUSTOM }}} |
1620 | 882 |
12968 | 883 " SGML TAG START AND END {{{ |
884 " SGML tag start | |
885 " <...> | |
886 " s^^^e | |
887 sy region cfmlSGMLTagStart | |
888 \ keepend | |
889 \ transparent | |
890 \ start="\v(\<cf)@!\zs\<\w+" | |
891 \ end=">" | |
892 \ contains= | |
893 \@cfmlAttribute, | |
894 \@cfmlComment, | |
895 \@cfmlOperator, | |
896 \@cfmlParenthesisRegion, | |
897 \@cfmlPunctuation, | |
898 \@cfmlQuote, | |
899 \@cfmlQuotedValue, | |
900 \cfmlAttrEqualSign, | |
901 \cfmlBoolean, | |
902 \cfmlBrace, | |
903 \cfmlCoreKeyword, | |
904 \cfmlCoreScope, | |
905 \cfmlCustomKeyword, | |
906 \cfmlCustomScope, | |
907 \cfmlEqualSign, | |
908 \cfmlFunctionName, | |
909 \cfmlNumber, | |
910 \cfmlStorageKeyword, | |
911 \cfmlStorageType, | |
912 \cfmlTagBracket, | |
913 \cfmlSGMLTagName | |
914 | |
915 " SGML tag end | |
916 " </...> | |
917 " s^^^^e | |
918 sy match cfmlSGMLTagEnd | |
919 \ transparent | |
920 \ "\v(\<\/cf)@!\zs\<\/\w+\>" | |
921 \ contains= | |
922 \cfmlTagBracket, | |
923 \cfmlSGMLTagName | |
924 | |
925 " SGML tag name | |
926 " <...> | |
927 " s^^^e | |
928 sy match cfmlSGMLTagName | |
929 \ contained | |
930 \ "\v(\<\/*)\zs\w+" | |
931 | |
932 " / SGML TAG START AND END }}} | |
933 | |
934 " HIGHLIGHTING {{{ | |
558 | 935 |
12968 | 936 hi link cfmlNumber Number |
937 hi link cfmlBoolean Boolean | |
938 hi link cfmlEqualSign Keyword | |
939 " HASH SURROUND | |
940 hi link cfmlHash PreProc | |
941 hi link cfmlHashSurround PreProc | |
942 " OPERATOR | |
943 hi link cfmlArithmeticOperator Function | |
944 hi link cfmlBooleanOperator Function | |
945 hi link cfmlDecisionOperator Function | |
946 hi link cfmlStringOperator Function | |
947 hi link cfmlTernaryOperator Function | |
948 " PARENTHESIS | |
949 hi link cfmlParenthesis1 Statement | |
950 hi link cfmlParenthesis2 String | |
951 hi link cfmlParenthesis3 Delimiter | |
952 " BRACE | |
953 hi link cfmlBrace PreProc | |
954 " PUNCTUATION - BRACKET | |
955 hi link cfmlBracket Statement | |
956 " PUNCTUATION - CHAR | |
957 hi link cfmlComma Comment | |
958 hi link cfmlDot Comment | |
959 hi link cfmlSemiColon Comment | |
960 " PUNCTUATION - QUOTE | |
961 hi link cfmlDoubleQuote String | |
962 hi link cfmlDoubleQuotedValue String | |
963 hi link cfmlSingleQuote String | |
964 hi link cfmlSingleQuotedValue String | |
965 " TAG START AND END | |
966 hi link cfmlTagName Function | |
967 hi link cfmlTagBracket Comment | |
968 " ATTRIBUTE NAME AND VALUE | |
969 hi link cfmlAttrName Type | |
970 hi link cfmlAttrValue Special | |
971 " COMMENT | |
972 hi link cfmlCommentBlock Comment | |
973 hi link cfmlCommentLine Comment | |
974 hi link cfmlTagComment Comment | |
975 " FLOW STATEMENT | |
976 hi link cfmlDecisionFlowKeyword Conditional | |
977 hi link cfmlLoopFlowKeyword Repeat | |
978 hi link cfmlTryFlowKeyword Exception | |
979 hi link cfmlBranchFlowKeyword Keyword | |
980 " STORAGE KEYWORD | |
981 hi link cfmlStorageKeyword Keyword | |
982 " STORAGE TYPE | |
983 hi link cfmlStorageType Keyword | |
984 " CORE KEYWORD | |
985 hi link cfmlCoreKeyword PreProc | |
986 " CORE SCOPE | |
987 hi link cfmlCoreScope Keyword | |
988 " TAG IN SCRIPT | |
989 hi link cfmlTagNameInScript Function | |
990 " METADATA | |
991 " meta data value = cfmlMetaData | |
992 hi link cfmlMetaData String | |
993 hi link cfmlMetaDataName Type | |
994 " COMPONENT DEFINITION | |
995 hi link cfmlComponentKeyword Keyword | |
996 " INTERFACE DEFINITION | |
997 hi link cfmlInterfaceKeyword Keyword | |
998 " PROPERTY | |
999 hi link cfmlPropertyKeyword Keyword | |
1000 " FUNCTION DEFINITION | |
1001 hi link cfmlFunctionKeyword Keyword | |
1002 hi link cfmlFunctionModifier Keyword | |
1003 hi link cfmlFunctionReturnType Keyword | |
1004 hi link cfmlFunctionName Function | |
1005 " ODD FUNCTION | |
1006 hi link cfmlOddFunctionKeyword Function | |
1007 " CUSTOM | |
1008 hi link cfmlCustomKeyword Keyword | |
1009 hi link cfmlCustomScope Structure | |
1010 " SGML TAG | |
1011 hi link cfmlSGMLTagName Ignore | |
558 | 1012 |
12968 | 1013 " / HIGHLIGHTING }}} |
558 | 1014 |
12968 | 1015 let b:current_syntax = "cfml" |
558 | 1016 |
12968 | 1017 let &cpo = s:cpo_save |
1018 unlet s:cpo_save |