27.4 KB1123 lines
Blame
1<!-- @generated -->
2<?xml version="1.0" encoding="UTF-8"?>
3<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4<plist version="1.0">
5<dict>
6 <key>fileTypes</key>
7 <array>
8 <string>thrift</string>
9 </array>
10 <key>keyEquivalent</key>
11 <string>^~T</string>
12 <key>name</key>
13 <string>Thrift</string>
14 <key>patterns</key>
15 <array>
16 <dict>
17 <key>include</key>
18 <string>#comments</string>
19 </dict>
20 <dict>
21 <key>captures</key>
22 <dict>
23 <key>1</key>
24 <dict>
25 <key>name</key>
26 <string>keyword.other.include.thrift</string>
27 </dict>
28 <key>2</key>
29 <dict>
30 <key>name</key>
31 <string>string.quoted.thrift</string>
32 </dict>
33 <key>3</key>
34 <dict>
35 <key>name</key>
36 <string>punctuation.definition.string.begin.thrift</string>
37 </dict>
38 <key>4</key>
39 <dict>
40 <key>name</key>
41 <string>punctuation.definition.string.end.thrift</string>
42 </dict>
43 </dict>
44 <key>match</key>
45 <string>(?&lt;!\S)(include)(?!\S)(?:\s+((['"])(?&gt;.*?(\3))))?</string>
46 <key>name</key>
47 <string>meta.include.thrift</string>
48 </dict>
49 <dict>
50 <key>captures</key>
51 <dict>
52 <key>1</key>
53 <dict>
54 <key>name</key>
55 <string>keyword.other.cpp-include.thrift</string>
56 </dict>
57 <key>2</key>
58 <dict>
59 <key>name</key>
60 <string>string.quoted.thrift</string>
61 </dict>
62 <key>3</key>
63 <dict>
64 <key>name</key>
65 <string>punctuation.definition.string.begin.thrift</string>
66 </dict>
67 <key>4</key>
68 <dict>
69 <key>name</key>
70 <string>punctuation.definition.string.end.thrift</string>
71 </dict>
72 </dict>
73 <key>match</key>
74 <string>(?&lt;!\S)(cpp_include)(?!\S)(?:\s+((['"])(?&gt;.*?(\3))))?</string>
75 <key>name</key>
76 <string>meta.cpp-include.thrift</string>
77 </dict>
78 <dict>
79 <key>captures</key>
80 <dict>
81 <key>1</key>
82 <dict>
83 <key>name</key>
84 <string>keyword.other.namespace.thrift</string>
85 </dict>
86 <key>2</key>
87 <dict>
88 <key>name</key>
89 <string>support.other.namespace-language.thrift</string>
90 </dict>
91 <key>3</key>
92 <dict>
93 <key>name</key>
94 <string>variable.other.namespace.thrift</string>
95 </dict>
96 </dict>
97 <key>match</key>
98 <string>(?&lt;!\S)(namespace)(?!\S)(?:\s+([a-zA-Z_][\w.]*)(?:\s+([a-zA-Z_][\w.]*))?)?</string>
99 <key>name</key>
100 <string>meta.namespace.thrift</string>
101 </dict>
102 <dict>
103 <key>captures</key>
104 <dict>
105 <key>1</key>
106 <dict>
107 <key>name</key>
108 <string>keyword.other.namespace.thrift</string>
109 </dict>
110 <key>2</key>
111 <dict>
112 <key>name</key>
113 <string>variable.other.namespace.thrift</string>
114 </dict>
115 </dict>
116 <key>match</key>
117 <string>(?&lt;!\S)((?:php|xsd)_namespace)(?!\S)(?:\s+([a-zA-Z_][\w.]*))?</string>
118 <key>name</key>
119 <string>meta.namespace.thrift</string>
120 </dict>
121 <dict>
122 <key>captures</key>
123 <dict>
124 <key>1</key>
125 <dict>
126 <key>name</key>
127 <string>invalid.deprecated.namespace.thrift</string>
128 </dict>
129 <key>2</key>
130 <dict>
131 <key>name</key>
132 <string>variable.other.namespace.thrift</string>
133 </dict>
134 </dict>
135 <key>match</key>
136 <string>(?&lt;!\S)((?:cpp|ruby|csharp)_namespace|py_module|(?:java|perl)_package|smalltalk_(?:category|prefix)|cocoa_prefix)(?!\S)(?:\s+([a-zA-Z_][\w.]*))?</string>
137 </dict>
138 <dict>
139 <key>begin</key>
140 <string>(?=(struct|s?enum|union|service|const|typedef|exception)\b)</string>
141 <key>comment</key>
142 <string>begin the definition list</string>
143 <key>end</key>
144 <string>(?x)$.^ # this regex should never end</string>
145 <key>patterns</key>
146 <array>
147 <dict>
148 <key>include</key>
149 <string>#comments</string>
150 </dict>
151 <dict>
152 <key>begin</key>
153 <string>(?&lt;!\S)(const)(?!\S)(?:\s+(?&lt;ft&gt;map\s*&lt;\s*\g&lt;ft&gt;\s*,\s*\g&lt;ft&gt;\s*&gt;|set\s*&lt;\s*\g&lt;ft&gt;\s*&gt;|list\s*&lt;\s*\g&lt;ft&gt;\s*&gt;\s*cpp_type|[a-zA-Z_][\w.]*)(?:\s+([a-zA-Z_][\w.]*)(?:\s*=)?)?)?</string>
154 <key>beginCaptures</key>
155 <dict>
156 <key>1</key>
157 <dict>
158 <key>name</key>
159 <string>keyword.other.const.thrift</string>
160 </dict>
161 <key>2</key>
162 <dict>
163 <key>name</key>
164 <string>storage.type.const.thrift</string>
165 </dict>
166 <key>3</key>
167 <dict>
168 <key>name</key>
169 <string>variable.other.const.thrift</string>
170 </dict>
171 </dict>
172 <key>end</key>
173 <string>$|^</string>
174 <key>name</key>
175 <string>meta.const.thrift</string>
176 <key>patterns</key>
177 <array>
178 <dict>
179 <key>include</key>
180 <string>#comments</string>
181 </dict>
182 <dict>
183 <key>include</key>
184 <string>#value</string>
185 </dict>
186 </array>
187 </dict>
188 <dict>
189 <key>begin</key>
190 <string>(?&lt;!\S)(typedef)(?!\S)(?:\s+(?&lt;ft&gt;map\s*&lt;\s*\g&lt;ft&gt;\s*,\s*\g&lt;ft&gt;\s*&gt;|set\s*&lt;\s*\g&lt;ft&gt;\s*&gt;|list\s*&lt;\s*\g&lt;ft&gt;\s*&gt;\s*cpp_type|[a-zA-Z_][\w.]*)(?:\s+([a-zA-Z_][\w.]*))?)?</string>
191 <key>beginCaptures</key>
192 <dict>
193 <key>1</key>
194 <dict>
195 <key>name</key>
196 <string>keyword.other.typedef.thrift</string>
197 </dict>
198 <key>2</key>
199 <dict>
200 <key>name</key>
201 <string>storage.type.typedef.thrift</string>
202 </dict>
203 <key>3</key>
204 <dict>
205 <key>name</key>
206 <string>variable.other.typedef.thrift</string>
207 </dict>
208 </dict>
209 <key>end</key>
210 <string>$|^</string>
211 <key>name</key>
212 <string>meta.typedef.thrift</string>
213 <key>patterns</key>
214 <array>
215 <dict>
216 <key>include</key>
217 <string>#comments</string>
218 </dict>
219 </array>
220 </dict>
221 <dict>
222 <key>begin</key>
223 <string>(?&lt;!\S)(union)(?!\S)(?:\s+([a-zA-Z_][\w.]*)\s*(?![^\s{]))?</string>
224 <key>beginCaptures</key>
225 <dict>
226 <key>1</key>
227 <dict>
228 <key>name</key>
229 <string>keyword.other.union.thrift</string>
230 </dict>
231 <key>2</key>
232 <dict>
233 <key>name</key>
234 <string>entity.name.type.union.thrift</string>
235 </dict>
236 </dict>
237 <key>end</key>
238 <string>(?&lt;=\})|$</string>
239 <key>name</key>
240 <string>meta.union.thrift</string>
241 <key>patterns</key>
242 <array>
243 <dict>
244 <key>match</key>
245 <string>(?&lt;!\S)xsd_all(?!\S)</string>
246 <key>name</key>
247 <string>keyword.other.xsd-all.thrift</string>
248 </dict>
249 <dict>
250 <key>begin</key>
251 <string>\{</string>
252 <key>beginCaptures</key>
253 <dict>
254 <key>0</key>
255 <dict>
256 <key>name</key>
257 <string>punctuation.section.union.begin.thrift</string>
258 </dict>
259 </dict>
260 <key>end</key>
261 <string>\}</string>
262 <key>endCaptures</key>
263 <dict>
264 <key>0</key>
265 <dict>
266 <key>name</key>
267 <string>punctuation.section.union.end.thrift</string>
268 </dict>
269 </dict>
270 <key>patterns</key>
271 <array>
272 <dict>
273 <key>include</key>
274 <string>#comments</string>
275 </dict>
276 <dict>
277 <key>include</key>
278 <string>#field</string>
279 </dict>
280 </array>
281 </dict>
282 </array>
283 </dict>
284 <dict>
285 <key>begin</key>
286 <string>(?&lt;!\S)(enum)(?!\S)(?:\s+([a-zA-Z_][\w.]*)\s*(?![^\s{]))?</string>
287 <key>beginCaptures</key>
288 <dict>
289 <key>1</key>
290 <dict>
291 <key>name</key>
292 <string>keyword.other.enum.thrift</string>
293 </dict>
294 <key>2</key>
295 <dict>
296 <key>name</key>
297 <string>entity.name.type.enum.thrift</string>
298 </dict>
299 </dict>
300 <key>end</key>
301 <string>(?&lt;=\})|$</string>
302 <key>name</key>
303 <string>meta.enum.thrift</string>
304 <key>patterns</key>
305 <array>
306 <dict>
307 <key>begin</key>
308 <string>\{</string>
309 <key>beginCaptures</key>
310 <dict>
311 <key>0</key>
312 <dict>
313 <key>name</key>
314 <string>punctuation.section.enum.begin.thrift</string>
315 </dict>
316 </dict>
317 <key>end</key>
318 <string>\}</string>
319 <key>endCaptures</key>
320 <dict>
321 <key>0</key>
322 <dict>
323 <key>name</key>
324 <string>punctuation.section.enum.end.thrift</string>
325 </dict>
326 </dict>
327 <key>patterns</key>
328 <array>
329 <dict>
330 <key>captures</key>
331 <dict>
332 <key>1</key>
333 <dict>
334 <key>name</key>
335 <string>variable.other.enum.thrift</string>
336 </dict>
337 <key>2</key>
338 <dict>
339 <key>name</key>
340 <string>constant.numeric.integer.thrift</string>
341 </dict>
342 </dict>
343 <key>match</key>
344 <string>(?&lt;!\S)([a-zA-Z_][\w.]*)(?:\s*=\s*(\d*)(?:\s*[,;])?)?</string>
345 </dict>
346 <dict>
347 <key>include</key>
348 <string>#comments</string>
349 </dict>
350 <dict>
351 <key>match</key>
352 <string>\S</string>
353 <key>name</key>
354 <string>invalid.illegal.thrift</string>
355 </dict>
356 </array>
357 </dict>
358 </array>
359 </dict>
360 <dict>
361 <key>begin</key>
362 <string>(?&lt;!\S)(senum)(?!\S)(?:\s+([a-zA-Z_][\w.]*)\s*(?![^\s{]))?</string>
363 <key>beginCaptures</key>
364 <dict>
365 <key>1</key>
366 <dict>
367 <key>name</key>
368 <string>keyword.other.senum.thrift</string>
369 </dict>
370 <key>2</key>
371 <dict>
372 <key>name</key>
373 <string>entity.name.type.senum.thrift</string>
374 </dict>
375 </dict>
376 <key>end</key>
377 <string>(?&lt;=\})|$</string>
378 <key>name</key>
379 <string>meta.senum.thrift</string>
380 <key>patterns</key>
381 <array>
382 <dict>
383 <key>begin</key>
384 <string>\{</string>
385 <key>beginCaptures</key>
386 <dict>
387 <key>0</key>
388 <dict>
389 <key>name</key>
390 <string>punctuation.section.senum.begin.thrift</string>
391 </dict>
392 </dict>
393 <key>end</key>
394 <string>\}</string>
395 <key>endCaptures</key>
396 <dict>
397 <key>0</key>
398 <dict>
399 <key>name</key>
400 <string>punctuation.section.senum.end.thrift</string>
401 </dict>
402 </dict>
403 <key>patterns</key>
404 <array>
405 <dict>
406 <key>captures</key>
407 <dict>
408 <key>1</key>
409 <dict>
410 <key>name</key>
411 <string>variable.other.senum.thrift</string>
412 </dict>
413 </dict>
414 <key>match</key>
415 <string>(?&lt;!\S)([a-zA-Z_][\w.]*)(?:\s*[,;])?</string>
416 </dict>
417 <dict>
418 <key>include</key>
419 <string>#comments</string>
420 </dict>
421 <dict>
422 <key>match</key>
423 <string>\S</string>
424 <key>name</key>
425 <string>invalid.illegal.thrift</string>
426 </dict>
427 </array>
428 </dict>
429 </array>
430 </dict>
431 <dict>
432 <key>begin</key>
433 <string>(?&lt;!\S)(struct)(?!\S)(?:\s+([a-zA-Z_][\w.]*)\s*(?![^\s{]))?</string>
434 <key>beginCaptures</key>
435 <dict>
436 <key>1</key>
437 <dict>
438 <key>name</key>
439 <string>keyword.other.struct.thrift</string>
440 </dict>
441 <key>2</key>
442 <dict>
443 <key>name</key>
444 <string>entity.name.type.struct.thrift</string>
445 </dict>
446 </dict>
447 <key>end</key>
448 <string>(?&lt;=\})|$</string>
449 <key>name</key>
450 <string>meta.struct.thrift</string>
451 <key>patterns</key>
452 <array>
453 <dict>
454 <key>match</key>
455 <string>(?&lt;!\S)xsd_all(?!\S)</string>
456 <key>name</key>
457 <string>keyword.other.xsd-all.thrift</string>
458 </dict>
459 <dict>
460 <key>begin</key>
461 <string>\{</string>
462 <key>beginCaptures</key>
463 <dict>
464 <key>0</key>
465 <dict>
466 <key>name</key>
467 <string>punctuation.section.struct.begin.thrift</string>
468 </dict>
469 </dict>
470 <key>end</key>
471 <string>\}</string>
472 <key>endCaptures</key>
473 <dict>
474 <key>0</key>
475 <dict>
476 <key>name</key>
477 <string>punctuation.section.struct.end.thrift</string>
478 </dict>
479 </dict>
480 <key>patterns</key>
481 <array>
482 <dict>
483 <key>include</key>
484 <string>#comments</string>
485 </dict>
486 <dict>
487 <key>include</key>
488 <string>#field</string>
489 </dict>
490 </array>
491 </dict>
492 </array>
493 </dict>
494 <dict>
495 <key>begin</key>
496 <string>(?&lt;!\S)(exception)(?!\S)(?:\s+([a-zA-Z_][\w.]*)\s*(?![^\s{]))?</string>
497 <key>beginCaptures</key>
498 <dict>
499 <key>1</key>
500 <dict>
501 <key>name</key>
502 <string>keyword.other.exception.thrift</string>
503 </dict>
504 <key>2</key>
505 <dict>
506 <key>name</key>
507 <string>entity.name.type.exception.thrift</string>
508 </dict>
509 </dict>
510 <key>end</key>
511 <string>(?&lt;=\})|$</string>
512 <key>name</key>
513 <string>meta.exception.thrift</string>
514 <key>patterns</key>
515 <array>
516 <dict>
517 <key>begin</key>
518 <string>\{</string>
519 <key>beginCaptures</key>
520 <dict>
521 <key>0</key>
522 <dict>
523 <key>name</key>
524 <string>punctuation.section.exception.begin.thrift</string>
525 </dict>
526 </dict>
527 <key>end</key>
528 <string>\}</string>
529 <key>endCaptures</key>
530 <dict>
531 <key>0</key>
532 <dict>
533 <key>name</key>
534 <string>punctuation.section.exception.end.thrift</string>
535 </dict>
536 </dict>
537 <key>patterns</key>
538 <array>
539 <dict>
540 <key>include</key>
541 <string>#comments</string>
542 </dict>
543 <dict>
544 <key>include</key>
545 <string>#field</string>
546 </dict>
547 </array>
548 </dict>
549 </array>
550 </dict>
551 <dict>
552 <key>begin</key>
553 <string>(?&lt;!\S)(service)(?!\S)(?:\s+([a-zA-z_][\w.]*)(?:\s+(extends)(?:\s+([a-zA-Z_][\w.]*))?)?\s*(?![^\s{]))?</string>
554 <key>beginCaptures</key>
555 <dict>
556 <key>1</key>
557 <dict>
558 <key>name</key>
559 <string>keyword.other.service.thrift</string>
560 </dict>
561 <key>2</key>
562 <dict>
563 <key>name</key>
564 <string>entity.name.type.service.thrift</string>
565 </dict>
566 <key>3</key>
567 <dict>
568 <key>name</key>
569 <string>keyword.other.service.extends.thrift</string>
570 </dict>
571 <key>4</key>
572 <dict>
573 <key>name</key>
574 <string>entity.other.inherited-class.thrift</string>
575 </dict>
576 </dict>
577 <key>end</key>
578 <string>(?&lt;=\})|$</string>
579 <key>name</key>
580 <string>meta.service.thrift</string>
581 <key>patterns</key>
582 <array>
583 <dict>
584 <key>begin</key>
585 <string>\{</string>
586 <key>beginCaptures</key>
587 <dict>
588 <key>0</key>
589 <dict>
590 <key>name</key>
591 <string>punctuation.section.service.begin.thrift</string>
592 </dict>
593 </dict>
594 <key>end</key>
595 <string>\}</string>
596 <key>endCaptures</key>
597 <dict>
598 <key>0</key>
599 <dict>
600 <key>name</key>
601 <string>punctuation.section.service.end.thrift</string>
602 </dict>
603 </dict>
604 <key>patterns</key>
605 <array>
606 <dict>
607 <key>include</key>
608 <string>#comments</string>
609 </dict>
610 <dict>
611 <key>begin</key>
612 <string>(?x)(?&lt;!\S)
613 (oneway(?!\S))?\s*
614 (?&lt;ft&gt;
615 map\s*&lt;\s*\g&lt;ft&gt;\s*,\s*\g&lt;ft&gt;\s*&gt; |
616 set\s*&lt;\s*\g&lt;ft&gt;\s*&gt; |
617 list\s*&lt;\s*\g&lt;ft&gt;\s*&gt;\s*(cpp_type(?!\S))? |
618 (?!oneway\b)[a-zA-Z_][\w.]*
619 )\s*
620 (?:
621 (?&lt;!\S)([a-zA-Z_][\w.]*)\s*(?![^\s(])
622 )?</string>
623 <key>beginCaptures</key>
624 <dict>
625 <key>1</key>
626 <dict>
627 <key>name</key>
628 <string>keyword.other.oneway.thrift</string>
629 </dict>
630 <key>2</key>
631 <dict>
632 <key>name</key>
633 <string>storage.type.function.thrift</string>
634 </dict>
635 <key>3</key>
636 <dict>
637 <key>name</key>
638 <string>keyword.other.cpp_type.thrift</string>
639 </dict>
640 <key>4</key>
641 <dict>
642 <key>name</key>
643 <string>entity.name.function.thrift</string>
644 </dict>
645 </dict>
646 <key>end</key>
647 <string>$|^</string>
648 <key>name</key>
649 <string>meta.service.function.thrift</string>
650 <key>patterns</key>
651 <array>
652 <dict>
653 <key>begin</key>
654 <string>\(</string>
655 <key>beginCaptures</key>
656 <dict>
657 <key>0</key>
658 <dict>
659 <key>name</key>
660 <string>punctuation.definition.arguments.begin.thrift</string>
661 </dict>
662 </dict>
663 <key>end</key>
664 <string>\)</string>
665 <key>endCaptures</key>
666 <dict>
667 <key>0</key>
668 <dict>
669 <key>name</key>
670 <string>punctuation.definition.arguments.end.thrift</string>
671 </dict>
672 </dict>
673 <key>patterns</key>
674 <array>
675 <dict>
676 <key>include</key>
677 <string>#comments</string>
678 </dict>
679 <dict>
680 <key>include</key>
681 <string>#field</string>
682 </dict>
683 </array>
684 </dict>
685 <dict>
686 <key>begin</key>
687 <string>(?&lt;![^\s)])(throws)(?![^\s(])</string>
688 <key>beginCaptures</key>
689 <dict>
690 <key>1</key>
691 <dict>
692 <key>name</key>
693 <string>keyword.other.service.function.throws.thrift</string>
694 </dict>
695 </dict>
696 <key>end</key>
697 <string>$</string>
698 <key>patterns</key>
699 <array>
700 <dict>
701 <key>begin</key>
702 <string>\(</string>
703 <key>beginCaptures</key>
704 <dict>
705 <key>0</key>
706 <dict>
707 <key>name</key>
708 <string>punctuation.definition.arguments.begin.thrift</string>
709 </dict>
710 </dict>
711 <key>end</key>
712 <string>\)</string>
713 <key>endCaptures</key>
714 <dict>
715 <key>0</key>
716 <dict>
717 <key>name</key>
718 <string>punctuation.definition.arguments.end.thrift</string>
719 </dict>
720 </dict>
721 <key>patterns</key>
722 <array>
723 <dict>
724 <key>include</key>
725 <string>#comments</string>
726 </dict>
727 <dict>
728 <key>include</key>
729 <string>#field</string>
730 </dict>
731 </array>
732 </dict>
733 </array>
734 </dict>
735 <dict>
736 <key>include</key>
737 <string>#comments</string>
738 </dict>
739 </array>
740 </dict>
741 </array>
742 </dict>
743 </array>
744 </dict>
745 </array>
746 </dict>
747 </array>
748 <key>repository</key>
749 <dict>
750 <key>comments</key>
751 <dict>
752 <key>patterns</key>
753 <array>
754 <dict>
755 <key>begin</key>
756 <string>(^[ \t]+)?(?=#)</string>
757 <key>beginCaptures</key>
758 <dict>
759 <key>1</key>
760 <dict>
761 <key>name</key>
762 <string>punctuation.whitespace.comment.leading.thrift</string>
763 </dict>
764 </dict>
765 <key>end</key>
766 <string>(?!\G)</string>
767 <key>patterns</key>
768 <array>
769 <dict>
770 <key>begin</key>
771 <string>#</string>
772 <key>beginCaptures</key>
773 <dict>
774 <key>0</key>
775 <dict>
776 <key>name</key>
777 <string>punctuation.definition.comment.thrift</string>
778 </dict>
779 </dict>
780 <key>end</key>
781 <string>\n</string>
782 <key>name</key>
783 <string>comment.line.number-sign.thrift</string>
784 </dict>
785 </array>
786 </dict>
787 <dict>
788 <key>begin</key>
789 <string>(^[ \t]+)?(?=//)</string>
790 <key>beginCaptures</key>
791 <dict>
792 <key>1</key>
793 <dict>
794 <key>name</key>
795 <string>punctuation.whitespace.comment.leading.thrift</string>
796 </dict>
797 </dict>
798 <key>end</key>
799 <string>(?!\G)</string>
800 <key>patterns</key>
801 <array>
802 <dict>
803 <key>begin</key>
804 <string>//</string>
805 <key>beginCaptures</key>
806 <dict>
807 <key>0</key>
808 <dict>
809 <key>name</key>
810 <string>punctuation.definition.comment.thrift</string>
811 </dict>
812 </dict>
813 <key>end</key>
814 <string>\n</string>
815 <key>name</key>
816 <string>comment.line.double-slash.thrift</string>
817 </dict>
818 </array>
819 </dict>
820 <dict>
821 <key>begin</key>
822 <string>/\*\*</string>
823 <key>beginCaptures</key>
824 <dict>
825 <key>0</key>
826 <dict>
827 <key>name</key>
828 <string>punctuation.definition.comment.begin.thrift</string>
829 </dict>
830 </dict>
831 <key>end</key>
832 <string>\*/</string>
833 <key>endCaptures</key>
834 <dict>
835 <key>0</key>
836 <dict>
837 <key>name</key>
838 <string>punctuation.definition.comment.end.thrift</string>
839 </dict>
840 </dict>
841 <key>name</key>
842 <string>comment.block.documentation.thrift</string>
843 </dict>
844 <dict>
845 <key>begin</key>
846 <string>/\*</string>
847 <key>beginCaptures</key>
848 <dict>
849 <key>0</key>
850 <dict>
851 <key>name</key>
852 <string>punctuation.definition.comment.begin.thrift</string>
853 </dict>
854 </dict>
855 <key>end</key>
856 <string>\*/</string>
857 <key>endCaptures</key>
858 <dict>
859 <key>0</key>
860 <dict>
861 <key>name</key>
862 <string>punctuation.definition.comment.end.thrift</string>
863 </dict>
864 </dict>
865 <key>name</key>
866 <string>comment.block.thrift</string>
867 </dict>
868 </array>
869 </dict>
870 <key>field</key>
871 <dict>
872 <key>begin</key>
873 <string>(?x)
874 (?&lt;![^\s{(])(?=\S)
875 (\d+\s*:)?[ \t]*
876 (?: (required|optional)(?!\S)[ \t]*
877 | (?=\S)(?!=required|optional|\d)
878 )</string>
879 <key>beginCaptures</key>
880 <dict>
881 <key>1</key>
882 <dict>
883 <key>name</key>
884 <string>entity.other.field-id.thrift</string>
885 </dict>
886 <key>2</key>
887 <dict>
888 <key>name</key>
889 <string>keyword.other.requiredness.thrift</string>
890 </dict>
891 </dict>
892 <key>end</key>
893 <string>[,;]|(?=[)#]|//|/\*)|$</string>
894 <key>endCaptures</key>
895 <dict>
896 <key>0</key>
897 <dict>
898 <key>name</key>
899 <string>punctuation.separator.fields.thrift</string>
900 </dict>
901 </dict>
902 <key>name</key>
903 <string>meta.field.thrift</string>
904 <key>patterns</key>
905 <array>
906 <dict>
907 <key>begin</key>
908 <string>(?x)
909 (?&lt;ft&gt;
910 map\s*&lt;\s*\g&lt;ft&gt;\s*,\s*\g&lt;ft&gt;\s*&gt; |
911 set\s*&lt;\s*\g&lt;ft&gt;\s*&gt; |
912 list\s*&lt;\s*\g&lt;ft&gt;\s*&gt;\s*(cpp_type(?!\S))? |
913 [a-zA-Z_][\w.]*
914 )[ \t]*
915 (?:([a-zA-Z_][\w.]*)[ \t]*)? # identifier
916 </string>
917 <key>beginCaptures</key>
918 <dict>
919 <key>1</key>
920 <dict>
921 <key>name</key>
922 <string>storage.type.field.thrift</string>
923 </dict>
924 <key>2</key>
925 <dict>
926 <key>name</key>
927 <string>keyword.other.cpp-type.thrift</string>
928 </dict>
929 <key>3</key>
930 <dict>
931 <key>name</key>
932 <string>variable.other.field-name.thrift</string>
933 </dict>
934 </dict>
935 <key>end</key>
936 <string>(?=[,;]|[)#]|//|/\*)|$</string>
937 <key>patterns</key>
938 <array>
939 <dict>
940 <key>begin</key>
941 <string>=</string>
942 <key>end</key>
943 <string>(?=[,;]|[)#]|//|/\*)|$</string>
944 <key>patterns</key>
945 <array>
946 <dict>
947 <key>match</key>
948 <string>(?&lt;!\S)(xsd_optional)\b</string>
949 <key>name</key>
950 <string>keyword.other.xsd_optional.thrift</string>
951 </dict>
952 <dict>
953 <key>match</key>
954 <string>(?&lt;!\S)(xsd_nillable)\b</string>
955 <key>name</key>
956 <string>keyword.other.xsd_nillable.thrift</string>
957 </dict>
958 <dict>
959 <key>include</key>
960 <string>#value</string>
961 </dict>
962 </array>
963 </dict>
964 </array>
965 </dict>
966 </array>
967 </dict>
968 <key>value</key>
969 <dict>
970 <key>patterns</key>
971 <array>
972 <dict>
973 <key>match</key>
974 <string>[+-]?\d*\.\d+([eE][+-]?\d+)?</string>
975 <key>name</key>
976 <string>constant.numeric.float.thrift</string>
977 </dict>
978 <dict>
979 <key>match</key>
980 <string>[+-]?\d+</string>
981 <key>name</key>
982 <string>constant.numeric.integer.thrift</string>
983 </dict>
984 <dict>
985 <key>match</key>
986 <string>[a-zA-Z_][\w.]*</string>
987 <key>name</key>
988 <string>constant.other.const-data.thrift</string>
989 </dict>
990 <dict>
991 <key>begin</key>
992 <string>'</string>
993 <key>beginCaptures</key>
994 <dict>
995 <key>0</key>
996 <dict>
997 <key>name</key>
998 <string>punctuation.definition.string.begin.thrift</string>
999 </dict>
1000 </dict>
1001 <key>end</key>
1002 <string>'</string>
1003 <key>endCaptures</key>
1004 <dict>
1005 <key>0</key>
1006 <dict>
1007 <key>name</key>
1008 <string>punctuation.definition.string.end.thrift</string>
1009 </dict>
1010 </dict>
1011 <key>name</key>
1012 <string>string.quoted.single.thrift</string>
1013 </dict>
1014 <dict>
1015 <key>begin</key>
1016 <string>"</string>
1017 <key>beginCaptures</key>
1018 <dict>
1019 <key>0</key>
1020 <dict>
1021 <key>name</key>
1022 <string>punctuation.definition.string.begin.thrift</string>
1023 </dict>
1024 </dict>
1025 <key>end</key>
1026 <string>"</string>
1027 <key>endCaptures</key>
1028 <dict>
1029 <key>0</key>
1030 <dict>
1031 <key>name</key>
1032 <string>punctuation.definition.string.begin.thrift</string>
1033 </dict>
1034 </dict>
1035 <key>name</key>
1036 <string>string.quoted.double.thrift</string>
1037 </dict>
1038 <dict>
1039 <key>begin</key>
1040 <string>\[</string>
1041 <key>beginCaptures</key>
1042 <dict>
1043 <key>0</key>
1044 <dict>
1045 <key>name</key>
1046 <string>punctuation.definition.array.begin.thrift</string>
1047 </dict>
1048 </dict>
1049 <key>end</key>
1050 <string>\]</string>
1051 <key>endCaptures</key>
1052 <dict>
1053 <key>0</key>
1054 <dict>
1055 <key>name</key>
1056 <string>punctuation.definition.array.end.thrift</string>
1057 </dict>
1058 </dict>
1059 <key>name</key>
1060 <string>meta.array.thrift</string>
1061 <key>patterns</key>
1062 <array>
1063 <dict>
1064 <key>match</key>
1065 <string>[,;]</string>
1066 </dict>
1067 <dict>
1068 <key>include</key>
1069 <string>#value</string>
1070 </dict>
1071 </array>
1072 </dict>
1073 <dict>
1074 <key>begin</key>
1075 <string>\{</string>
1076 <key>beginCaptures</key>
1077 <dict>
1078 <key>0</key>
1079 <dict>
1080 <key>name</key>
1081 <string>punctuation.definition.map.begin.thrift</string>
1082 </dict>
1083 </dict>
1084 <key>end</key>
1085 <string>\}</string>
1086 <key>endCaptures</key>
1087 <dict>
1088 <key>0</key>
1089 <dict>
1090 <key>name</key>
1091 <string>punctuation.definition.map.end.thrift</string>
1092 </dict>
1093 </dict>
1094 <key>name</key>
1095 <string>meta.map.thrift</string>
1096 <key>patterns</key>
1097 <array>
1098 <dict>
1099 <key>match</key>
1100 <string>[:,;]</string>
1101 </dict>
1102 <dict>
1103 <key>include</key>
1104 <string>#value</string>
1105 </dict>
1106 </array>
1107 </dict>
1108 <dict>
1109 <key>match</key>
1110 <string>\S</string>
1111 <key>name</key>
1112 <string>invalid.illegal.thrift</string>
1113 </dict>
1114 </array>
1115 </dict>
1116 </dict>
1117 <key>scopeName</key>
1118 <string>source.thrift</string>
1119 <key>uuid</key>
1120 <string>9E5704AC-54ED-4D7C-946C-6DC3727BDC4C</string>
1121</dict>
1122</plist>
1123