Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 614 lines (597 sloc) 20.884 kB
0ca5f06 @atomi Initial Commit
atomi authored
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 <plist version="1.0">
4 <dict>
5 <key>comment</key>
6 <string>Coldfusion Cfscript Language</string>
7 <key>fileTypes</key>
8 <array>
9 </array>
10 <key>firstLineMatch</key>
8930cd9 @atomi cfscript.tmlanguage clean up
atomi authored
11 <string></string>
0ca5f06 @atomi Initial Commit
atomi authored
12 <key>foldingStartMarker</key>
13 <string>^.*\bfunction\s*(\w+\s*)?\([^\)]*\)(\s*\{[^\}]*)?\s*$</string>
14 <key>foldingStopMarker</key>
15 <string>^\s*\}</string>
16 <key>keyEquivalent</key>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
17 <string></string>
0ca5f06 @atomi Initial Commit
atomi authored
18 <key>name</key>
8930cd9 @atomi cfscript.tmlanguage clean up
atomi authored
19 <string>cfscript</string>
0ca5f06 @atomi Initial Commit
atomi authored
20 <key>patterns</key>
21 <array>
22
23
24 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
25 <key>include</key>
26 <string>#cfscript</string>
27 </dict>
28 </array>
0ca5f06 @atomi Initial Commit
atomi authored
29
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
30 <key>repository</key>
31 <dict>
32
ca6d206 @atomi fixes #8 GotoSymbol for cfscript functions
atomi authored
33 <!-- functions -->
34 <key>functions</key>
35 <dict>
36 <key>begin</key>
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
37 <string>(?x)^\s*
38 (?:
08ca8b8 @atomi added additional return-type primitives to cfscript functions
atomi authored
39 (?: # optional access-control modifier and return-type
40 (?:(?:\b(private|package|public|remote))\b\s+)+\s* # access-control.modifier
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
41 (?:\b
42 (void)
43 |
08ca8b8 @atomi added additional return-type primitives to cfscript functions
atomi authored
44 (any|array|binary|boolean|component|date|guid|numeric|query|string|struct|xml|uuid) # return-type.primitive
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
45 )?
46 )?
47 )
08ca8b8 @atomi added additional return-type primitives to cfscript functions
atomi authored
48 \s*
49 (function) # storage.function
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
50 \s+
51 (\w+) # entity.name.function
52 \s*
53 (?=\() # opening parens
54 </string>
ca6d206 @atomi fixes #8 GotoSymbol for cfscript functions
atomi authored
55 <key>beginCaptures</key>
56 <dict>
57 <key>1</key>
58 <dict>
59 <key>name</key>
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
60 <string>storage.modifier.access-control.cfscript</string>
ca6d206 @atomi fixes #8 GotoSymbol for cfscript functions
atomi authored
61 </dict>
62 <key>2</key>
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
63 <dict>
64 <key>name</key>
65 <string>storage.type.return-type.void.cfscript</string>
66 </dict>
67 <key>3</key>
68 <dict>
69 <key>name</key>
70 <string>storage.type.return-type.primitive.cfscript</string>
71 </dict>
72 <key>4</key>
73 <dict>
74 <key>name</key>
75 <string>storage.type.function.cfscript</string>
76 </dict>
77 <key>5</key>
78 <dict>
79 <key>name</key>
80 <string>entity.name.function.cfscript</string>
81 </dict>
82 <key>6</key>
ca6d206 @atomi fixes #8 GotoSymbol for cfscript functions
atomi authored
83 <dict>
84 <key>name</key>
85 <string>punctuation.definition.function-parameters.begin.cfscript</string>
86 </dict>
87 </dict>
88 <key>end</key>
89 <string>\)</string>
90 <key>endCaptures</key>
91 <dict>
92 <key>0</key>
93 <dict>
94 <key>name</key>
95 <string>punctuation.definition.function-parameters.end.cfscript</string>
96 </dict>
97 </dict>
98 <key>name</key>
c4d6a8a @atomi improved cfscript function regex scoping and updated relevant Symbol …
atomi authored
99 <string>meta.definition.function.cfscript</string>
ca6d206 @atomi fixes #8 GotoSymbol for cfscript functions
atomi authored
100 <key>patterns</key>
101 <array>
102 <dict>
103 <key>match</key>
104 <string>,</string>
105 <key>name</key>
106 <string>punctuation.definition.seperator.parameter.cfscript</string>
107 </dict>
108 <dict>
109 <key>include</key>
110 <string>#cfscript-code</string>
111 </dict>
112 </array>
113 </dict>
114 <!-- /functions -->
115
116
117
118
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
119 <key>cfscript</key>
120 <dict>
121 <key>patterns</key>
122 <array>
0ca5f06 @atomi Initial Commit
atomi authored
123 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
124 <key>include</key>
125 <string>#functions</string>
0ca5f06 @atomi Initial Commit
atomi authored
126 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
127 <dict>
128 <key>include</key>
129 <string>#cfscript-code</string>
130 </dict>
131 </array>
132 </dict>
0ca5f06 @atomi Initial Commit
atomi authored
133
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
134 <key>cfscript-code</key>
135 <dict>
0ca5f06 @atomi Initial Commit
atomi authored
136 <key>patterns</key>
137 <array>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
138 <dict>
0ca5f06 @atomi Initial Commit
atomi authored
139 <key>include</key>
0b726cc @atomi added #variables and #sql-code support for cfscript
atomi authored
140 <string>#sql-code</string>
141 </dict>
142 <dict>
143 <key>include</key>
144 <string>#variables</string>
145 </dict>
146 <dict>
147 <key>include</key>
ecdab50 @atomi include storage types to main code (includes primitives and variable …
atomi authored
148 <string>#storage-types</string>
149 </dict>
150 <dict>
151 <key>include</key>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
152 <string>#constants</string>
153 </dict>
154 <dict>
155 <key>include</key>
156 <string>#comments</string>
157 </dict>
158 <dict>
159 <key>include</key>
160 <string>#strings</string>
161 </dict>
162 <dict>
163 <key>include</key>
164 <string>#keywords</string>
165 </dict>
166 <dict>
167 <key>include</key>
168 <string>#function-call</string>
0ca5f06 @atomi Initial Commit
atomi authored
169 </dict>
170 </array>
171 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
172 <!-- storage types -->
173 <key>storage-types</key>
0ca5f06 @atomi Initial Commit
atomi authored
174 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
175 <key>patterns</key>
176 <array>
0ca5f06 @atomi Initial Commit
atomi authored
177 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
178 <key>match</key>
179 <string>\b(var)\b</string>
0ca5f06 @atomi Initial Commit
atomi authored
180 <key>name</key>
880a9d4 @atomi var should be scoped variable.modifier
atomi authored
181 <string>storage.modifier.var.cfscript</string>
0ca5f06 @atomi Initial Commit
atomi authored
182 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
183 <dict>
184 <key>match</key>
185 <string>\b(string|date|struct|array|void|binary|numeric|boolean|query|xml|uuid|any)(?:\[\s*\])*\b</string>
186 <key>name</key>
187 <string>storage.type.primitive.cfscript</string>
188 </dict>
189 </array>
0ca5f06 @atomi Initial Commit
atomi authored
190 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
191 <!-- constants -->
192 <key>constants</key>
193 <dict>
194 <key>patterns</key>
195 <array>
196 <dict>
197 <key>match</key>
198 <string>\b([A-Z][A-Z0-9_]+)\b</string>
199 <key>name</key>
200 <string>constant.other.cfscript</string>
201 </dict>
202 <dict>
203 <key>match</key>
204 <string>\b(true|false|null)\b</string>
205 <key>name</key>
206 <string>constant.language.cfscript</string>
207 </dict>
208 </array>
209 </dict>
210 <!-- comments -->
211 <key>comments</key>
212 <dict>
213 <key>patterns</key>
214 <array>
215 <!-- comment block /** -->
216 <dict>
217 <key>captures</key>
218 <dict>
219 <key>0</key>
220 <dict>
221 <key>name</key>
222 <string>punctuation.definition.comment.cfscript</string>
223 </dict>
224 </dict>
225 <key>match</key>
226 <string>/\*\*/</string>
227 <key>name</key>
228 <string>comment.block.empty.cfscript</string>
229 </dict>
230 <!-- as javadoc for cfscript annotations -->
231 <dict>
232 <key>include</key>
233 <string>text.html.javadoc</string>
234 </dict>
235 <!-- block comments (bellow) -->
236 <dict>
237 <key>include</key>
238 <string>#comment-block</string>
239 </dict>
240 <!-- double-slash comment -->
241 <dict>
242 <key>captures</key>
243 <dict>
244 <key>1</key>
245 <dict>
246 <key>name</key>
247 <string>punctuation.definition.comment.cfscript</string>
248 </dict>
249 </dict>
250 <key>match</key>
251 <string>(//).*$\n?</string>
252 <key>name</key>
253 <string>comment.line.double-slash.cfscript</string>
254 </dict>
255 </array>
256 </dict>
257 <!-- comment-block /* -->
258 <key>comment-block</key>
0ca5f06 @atomi Initial Commit
atomi authored
259 <dict>
260 <key>begin</key>
261 <string>/\*</string>
262 <key>captures</key>
263 <dict>
264 <key>0</key>
265 <dict>
266 <key>name</key>
267 <string>punctuation.definition.comment.cfscript</string>
268 </dict>
269 </dict>
270 <key>end</key>
271 <string>\*/</string>
272 <key>name</key>
273 <string>comment.block.cfscript</string>
274 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
275 <!-- /comments -->
276 <!-- strings -->
277 <key>strings</key>
0ca5f06 @atomi Initial Commit
atomi authored
278 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
279 <key>patterns</key>
280 <array>
0ca5f06 @atomi Initial Commit
atomi authored
281 <dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
282 <key>include</key>
283 <string>#string-quoted-double</string>
0ca5f06 @atomi Initial Commit
atomi authored
284 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
285 <dict>
286 <key>include</key>
287 <string>#string-quoted-single</string>
288 </dict>
289 </array>
ab820ad @bbluemel More keywords, string handling in cfscript.
bbluemel authored
290 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
291 <key>string-quoted-double</key>
ab820ad @bbluemel More keywords, string handling in cfscript.
bbluemel authored
292 <dict>
293 <key>begin</key>
294 <string>"</string>
295 <key>beginCaptures</key>
296 <dict>
297 <key>0</key>
298 <dict>
299 <key>name</key>
300 <string>punctuation.definition.string.begin.cfscript</string>
301 </dict>
302 </dict>
303 <key>end</key>
304 <string>"</string>
305 <key>endCaptures</key>
306 <dict>
307 <key>0</key>
308 <dict>
309 <key>name</key>
310 <string>punctuation.definition.string.end.cfscript</string>
311 </dict>
312 </dict>
313 <key>name</key>
314 <string>string.quoted.double.cfscript</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
315 <key>patterns</key>
316 <array>
317 <dict>
318 <key>include</key>
319 <string>#nest_hash</string>
320 </dict>
321 </array>
ab820ad @bbluemel More keywords, string handling in cfscript.
bbluemel authored
322 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
323 <key>string-quoted-single</key>
ab820ad @bbluemel More keywords, string handling in cfscript.
bbluemel authored
324 <dict>
325 <key>begin</key>
326 <string>'</string>
327 <key>beginCaptures</key>
328 <dict>
329 <key>0</key>
330 <dict>
331 <key>name</key>
332 <string>punctuation.definition.string.begin.cfscript</string>
333 </dict>
334 </dict>
335 <key>end</key>
336 <string>'</string>
337 <key>endCaptures</key>
338 <dict>
339 <key>0</key>
340 <dict>
341 <key>name</key>
342 <string>punctuation.definition.string.end.cfscript</string>
343 </dict>
344 </dict>
345 <key>name</key>
346 <string>string.quoted.single.cfscript</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
347 <key>patterns</key>
348 <array>
349 <dict>
350 <key>include</key>
351 <string>#nest_hash</string>
352 </dict>
353 </array>
ab820ad @bbluemel More keywords, string handling in cfscript.
bbluemel authored
354 </dict>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
355 <!-- /strings -->
356
357 <!-- keywords -->
358 <key>keywords</key>
359 <dict>
360 <key>patterns</key>
361 <array>
362 <dict>
363 <key>match</key>
7ec7f3c @atomi added new keyword
atomi authored
364 <string>\b(new)\b</string>
365 <key>name</key>
366 <string>keyword.other.new.cfml</string>
367 </dict>
368 <dict>
369 <key>match</key>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
370 <string>\b(try|catch|throw)\b</string>
371 <key>name</key>
372 <string>keyword.control.catch-exception.cfscript</string>
373 </dict>
374 <dict>
375 <key>match</key>
376 <string>\b(return|break|do|while|for|switch|case|default|if|else)\b</string>
377 <key>name</key>
378 <string>keyword.control.cfscript</string>
379 </dict>
380 <dict>
381 <key>match</key>
382 <string>(==|!=|&lt;=|&gt;=|&lt;|&gt;)</string>
383 <key>name</key>
384 <string>keyword.operator.comparison.cfscript</string>
385 </dict>
386 <dict>
387 <key>match</key>
388 <string>(\-=|\+=|\*=|\/=|%=)</string>
389 <key>name</key>
390 <string>keyword.operator.other.cfscript</string>
391 </dict>
392 <dict>
393 <key>match</key>
394 <string>(&amp;=)</string>
395 <key>name</key>
396 <string>keyword.operator.concat.cfscript</string>
397 </dict>
398 <dict>
399 <key>match</key>
400 <string>(=)</string>
401 <key>name</key>
402 <string>keyword.operator.assignment.cfscript</string>
403 </dict>
404 <dict>
405 <key>match</key>
406 <string>(\-\-|\+\+)</string>
407 <key>name</key>
408 <string>keyword.operator.increment-decrement.cfscript</string>
409 </dict>
410 <dict>
411 <key>match</key>
412 <string>(\-|\+|\*|\/|%)</string>
413 <key>name</key>
414 <string>keyword.operator.arithmetic.cfscript</string>
415 </dict>
416 <dict>
417 <key>match</key>
418 <string>(!|&amp;&amp;|\|\|)</string>
419 <key>name</key>
420 <string>keyword.operator.logical.cfscript</string>
421 </dict>
422 <dict>
423 <key>match</key>
424 <string>;</string>
425 <key>name</key>
6bc0626 @atomi punctuation should be for cfscript not java
atomi authored
426 <string>punctuation.terminator.cfscript</string>
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
427 </dict>
428 </array>
429 </dict>
430 <!-- / keywords -->
431
432 <!-- function-call -->
433 <key>function-call</key>
434 <dict>
435 <key>begin</key>
436 <string>(\w+)(\()</string>
437 <key>beginCaptures</key>
438 <dict>
439 <key>1</key>
440 <dict>
441 <key>name</key>
442 <string>meta.function.cfscript</string>
443 </dict>
444 <key>2</key>
445 <dict>
446 <key>name</key>
447 <string>punctuation.definition.function-parameters.begin.cfscript</string>
448 </dict>
449 </dict>
450 <key>end</key>
451 <string>\)</string>
452 <key>endCaptures</key>
453 <dict>
454 <key>0</key>
455 <dict>
456 <key>name</key>
457 <string>punctuation.definition.function-parameters.end.cfscript</string>
458 </dict>
459 </dict>
460 <key>name</key>
461 <string>meta.function-call.cfscript</string>
462 <key>patterns</key>
463 <array>
464 <dict>
465 <key>match</key>
466 <string>,</string>
467 <key>name</key>
468 <string>punctuation.definition.seperator.parameter.cfscript</string>
469 </dict>
470 <dict>
471 <key>include</key>
472 <string>#cfscript-code</string>
473 </dict>
474 </array>
475 </dict>
476 <!-- /function-call -->
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
477 <!-- nest_hash -->
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
478 <key>nest_hash</key>
479 <dict>
480 <key>patterns</key>
481 <array>
482 <dict>
483 <key>match</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
484 <string>##</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
485 <key>name</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
486 <string>string.escaped.hash.cfscript</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
487 </dict>
488 <dict>
489 <key>begin</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
490 <string>(#)</string>
491 <key>beginCaptures</key>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
492 <dict>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
493 <key>1</key>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
494 <dict>
495 <key>name</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
496 <string>punctuation.definition.hash.begin.cfscript</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
497 </dict>
498 </dict>
499 <key>end</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
500 <string>(#)</string>
501 <key>endCaptures</key>
502 <dict>
503 <key>1</key>
504 <dict>
505 <key>name</key>
506 <string>punctuation.definition.hash.end.cfscript</string>
507 </dict>
508 </dict>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
509 <key>name</key>
510 <string>source.cfscript.embedded.cfscript</string>
511 <key>patterns</key>
512 <array>
513 <dict>
514 <key>include</key>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
515 <string>#function-call</string>
516 </dict>
517 <dict>
518 <key>match</key>
519 <string>\w+</string>
520 <key>name</key>
521 <string>variable.other.interpolated.cfscript</string>
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
522 </dict>
523 </array>
524 </dict>
525 </array>
526 </dict>
768f1a6 @atomi adds to nest_hash to include escaped hashes
atomi authored
527 <!-- /nest_hash -->
0b726cc @atomi added #variables and #sql-code support for cfscript
atomi authored
528 <!-- variables -->
529 <key>variables</key>
530 <dict>
531 <key>patterns</key>
532 <array>
533 <dict>
534 <key>match</key>
535 <string>\b(this)\b</string>
536 <key>name</key>
537 <string>variable.language.cfscript</string>
538 </dict>
539 <dict>
540 <key>begin</key>
541 <string>\b(this|super)\.</string>
542 <key>beginCaptures</key>
543 <dict>
544 <key>1</key>
545 <dict>
546 <key>name</key>
547 <string>variable.language.cfscript</string>
548 </dict>
549 </dict>
550 <key>end</key>
551 <string>(\w+)\b</string>
552 <key>endCaptures</key>
553 <dict>
554 <key>1</key>
555 <dict>
556 <key>name</key>
557 <string>variable.other.cfscript</string>
558 </dict>
559 </dict>
560 </dict>
561 </array>
562 </dict>
563 <!-- /variables -->
564
565 <!-- sql -->
566 <key>sql-code</key>
567 <dict>
568 <key>patterns</key>
569 <array>
570 <dict>
571 <key>begin</key>
572 <string>\.((?i:setsql))\("</string>
573 <key>beginCaptures</key>
574 <dict>
575 <key>1</key>
576 <dict>
577 <key>name</key>
578 <string>meta.function.setsql.cfscripts</string>
579 </dict>
580 </dict>
581 <key>end</key>
582 <string>("\))</string>
583 <key>endCaptures</key>
584 <dict>
585 <key>1</key>
586 <dict>
587 <key>name</key>
588 <string>punctuation.parenthesis.end.cfscript</string>
589 </dict>
590 </dict>
591 <key>name</key>
592 <string>source.sql.embedded.cfscript</string>
593 <key>patterns</key>
594 <array>
595 <dict>
596 <key>include</key>
597 <string>source.sql</string>
598 </dict>
599 </array>
600
601 </dict>
602 </array>
603 </dict>
604
38b5155 @atomi added nest_hash to singe & double quoted strings
atomi authored
605
53e159e @atomi converted cfscript tmlanguage to rely on repository for easier syntax…
atomi authored
606 </dict>
0ca5f06 @atomi Initial Commit
atomi authored
607
608 <key>scopeName</key>
609 <string>source.cfscript</string>
610 <key>uuid</key>
ee43bbc @atomi generated new uuids for all tmlanguage files
atomi authored
611 <string>D5324EE0-4226-11E1-B86C-0800200C9A66</string>
0ca5f06 @atomi Initial Commit
atomi authored
612 </dict>
613 </plist>
Something went wrong with that request. Please try again.