PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.5
Code Block Pro – Beautiful Syntax Highlighting v1.27.5
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / codeql.tmLanguage.json

codeql.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.5, at build/shiki/languages/codeql.tmLanguage.json

1,538 lines 46.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "name": "codeql",
3 "scopeName": "source.ql",
4 "fileTypes": ["ql", "qll"],
5 "uuid": "7F6926BF-1C6C-468A-A7AA-215EBAC86A4E",
6 "patterns": [
7 {
8 "include": "#module-member"
9 }
10 ],
11 "repository": {
12 "id-character": {
13 "match": "(?x)[0-9A-Za-z_]"
14 },
15 "end-of-id": {
16 "match": "(?x)(?!(?:[0-9A-Za-z_]))"
17 },
18 "simple-id": {
19 "match": "(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"
20 },
21 "lower-id": {
22 "match": "(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"
23 },
24 "upper-id": {
25 "match": "(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"
26 },
27 "at-lower-id": {
28 "match": "(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"
29 },
30 "comment-start": {
31 "match": "(?x)// | /\\*"
32 },
33 "whitespace-or-comment-start": {
34 "match": "(?x)\\s | $ | (?:// | /\\*)"
35 },
36 "non-context-sensitive": {
37 "patterns": [
38 {
39 "include": "#comment"
40 },
41 {
42 "include": "#literal"
43 },
44 {
45 "include": "#operator-or-punctuation"
46 },
47 {
48 "include": "#keyword"
49 }
50 ]
51 },
52 "relational-operator": {
53 "match": "(?x)<=|<|>=|>",
54 "name": "keyword.operator.relational.ql"
55 },
56 "comparison-operator": {
57 "match": "(?x)=|\\!\\=",
58 "name": "keyword.operator.comparison.ql"
59 },
60 "arithmetic-operator": {
61 "match": "(?x)\\+|-|\\*|/|%",
62 "name": "keyword.operator.arithmetic.ql"
63 },
64 "comma": {
65 "match": "(?x),",
66 "name": "punctuation.separator.comma.ql"
67 },
68 "semicolon": {
69 "match": "(?x);",
70 "name": "punctuation.separator.statement.ql"
71 },
72 "dot": {
73 "match": "(?x)\\.",
74 "name": "punctuation.accessor.ql"
75 },
76 "dotdot": {
77 "match": "(?x)\\.\\.",
78 "name": "punctuation.operator.range.ql"
79 },
80 "pipe": {
81 "match": "(?x)\\|",
82 "name": "punctuation.separator.pipe.ql"
83 },
84 "open-paren": {
85 "match": "(?x)\\(",
86 "name": "punctuation.parenthesis.open.ql"
87 },
88 "close-paren": {
89 "match": "(?x)\\)",
90 "name": "punctuation.parenthesis.close.ql"
91 },
92 "open-brace": {
93 "match": "(?x)\\{",
94 "name": "punctuation.curlybrace.open.ql"
95 },
96 "close-brace": {
97 "match": "(?x)\\}",
98 "name": "punctuation.curlybrace.close.ql"
99 },
100 "open-bracket": {
101 "match": "(?x)\\[",
102 "name": "punctuation.squarebracket.open.ql"
103 },
104 "close-bracket": {
105 "match": "(?x)\\]",
106 "name": "punctuation.squarebracket.close.ql"
107 },
108 "open-angle": {
109 "match": "(?x)<",
110 "name": "punctuation.anglebracket.open.ql"
111 },
112 "close-angle": {
113 "match": "(?x)>",
114 "name": "punctuation.anglebracket.close.ql"
115 },
116 "operator-or-punctuation": {
117 "patterns": [
118 {
119 "include": "#relational-operator"
120 },
121 {
122 "include": "#comparison-operator"
123 },
124 {
125 "include": "#arithmetic-operator"
126 },
127 {
128 "include": "#comma"
129 },
130 {
131 "include": "#semicolon"
132 },
133 {
134 "include": "#dot"
135 },
136 {
137 "include": "#dotdot"
138 },
139 {
140 "include": "#pipe"
141 },
142 {
143 "include": "#open-paren"
144 },
145 {
146 "include": "#close-paren"
147 },
148 {
149 "include": "#open-brace"
150 },
151 {
152 "include": "#close-brace"
153 },
154 {
155 "include": "#open-bracket"
156 },
157 {
158 "include": "#close-bracket"
159 },
160 {
161 "include": "#open-angle"
162 },
163 {
164 "include": "#close-angle"
165 }
166 ]
167 },
168 "dont-care": {
169 "match": "(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))",
170 "name": "variable.language.dont-care.ql"
171 },
172 "and": {
173 "match": "(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))",
174 "name": "keyword.other.and.ql"
175 },
176 "any": {
177 "match": "(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))",
178 "name": "keyword.quantifier.any.ql"
179 },
180 "as": {
181 "match": "(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))",
182 "name": "keyword.other.as.ql"
183 },
184 "asc": {
185 "match": "(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))",
186 "name": "keyword.order.asc.ql"
187 },
188 "avg": {
189 "match": "(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))",
190 "name": "keyword.aggregate.avg.ql"
191 },
192 "boolean": {
193 "match": "(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))",
194 "name": "keyword.type.boolean.ql"
195 },
196 "by": {
197 "match": "(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))",
198 "name": "keyword.order.by.ql"
199 },
200 "class": {
201 "match": "(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))",
202 "name": "keyword.other.class.ql"
203 },
204 "concat": {
205 "match": "(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))",
206 "name": "keyword.aggregate.concat.ql"
207 },
208 "count": {
209 "match": "(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))",
210 "name": "keyword.aggregate.count.ql"
211 },
212 "date": {
213 "match": "(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))",
214 "name": "keyword.type.date.ql"
215 },
216 "desc": {
217 "match": "(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))",
218 "name": "keyword.order.desc.ql"
219 },
220 "else": {
221 "match": "(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))",
222 "name": "keyword.other.else.ql"
223 },
224 "exists": {
225 "match": "(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))",
226 "name": "keyword.quantifier.exists.ql"
227 },
228 "extends": {
229 "match": "(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))",
230 "name": "keyword.other.extends.ql"
231 },
232 "false": {
233 "match": "(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))",
234 "name": "constant.language.boolean.false.ql"
235 },
236 "float": {
237 "match": "(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))",
238 "name": "keyword.type.float.ql"
239 },
240 "forall": {
241 "match": "(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))",
242 "name": "keyword.quantifier.forall.ql"
243 },
244 "forex": {
245 "match": "(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))",
246 "name": "keyword.quantifier.forex.ql"
247 },
248 "from": {
249 "match": "(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))",
250 "name": "keyword.other.from.ql"
251 },
252 "if": {
253 "match": "(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))",
254 "name": "keyword.other.if.ql"
255 },
256 "implies": {
257 "match": "(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))",
258 "name": "keyword.other.implies.ql"
259 },
260 "import": {
261 "match": "(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))",
262 "name": "keyword.other.import.ql"
263 },
264 "in": {
265 "match": "(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))",
266 "name": "keyword.other.in.ql"
267 },
268 "instanceof": {
269 "match": "(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))",
270 "name": "keyword.other.instanceof.ql"
271 },
272 "int": {
273 "match": "(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))",
274 "name": "keyword.type.int.ql"
275 },
276 "max": {
277 "match": "(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))",
278 "name": "keyword.aggregate.max.ql"
279 },
280 "min": {
281 "match": "(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))",
282 "name": "keyword.aggregate.min.ql"
283 },
284 "module": {
285 "match": "(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))",
286 "name": "keyword.other.module.ql"
287 },
288 "newtype": {
289 "match": "(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))",
290 "name": "keyword.other.newtype.ql"
291 },
292 "none": {
293 "match": "(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))",
294 "name": "keyword.quantifier.none.ql"
295 },
296 "not": {
297 "match": "(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))",
298 "name": "keyword.other.not.ql"
299 },
300 "or": {
301 "match": "(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))",
302 "name": "keyword.other.or.ql"
303 },
304 "order": {
305 "match": "(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))",
306 "name": "keyword.order.order.ql"
307 },
308 "predicate": {
309 "match": "(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))",
310 "name": "keyword.other.predicate.ql"
311 },
312 "rank": {
313 "match": "(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))",
314 "name": "keyword.aggregate.rank.ql"
315 },
316 "result": {
317 "match": "(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))",
318 "name": "variable.language.result.ql"
319 },
320 "select": {
321 "match": "(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))",
322 "name": "keyword.query.select.ql"
323 },
324 "strictconcat": {
325 "match": "(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))",
326 "name": "keyword.aggregate.strictconcat.ql"
327 },
328 "strictcount": {
329 "match": "(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))",
330 "name": "keyword.aggregate.strictcount.ql"
331 },
332 "strictsum": {
333 "match": "(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))",
334 "name": "keyword.aggregate.strictsum.ql"
335 },
336 "string": {
337 "match": "(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))",
338 "name": "keyword.type.string.ql"
339 },
340 "sum": {
341 "match": "(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))",
342 "name": "keyword.aggregate.sum.ql"
343 },
344 "super": {
345 "match": "(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))",
346 "name": "variable.language.super.ql"
347 },
348 "then": {
349 "match": "(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))",
350 "name": "keyword.other.then.ql"
351 },
352 "this": {
353 "match": "(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))",
354 "name": "variable.language.this.ql"
355 },
356 "true": {
357 "match": "(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))",
358 "name": "constant.language.boolean.true.ql"
359 },
360 "unique": {
361 "match": "(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))",
362 "name": "keyword.aggregate.unique.ql"
363 },
364 "where": {
365 "match": "(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))",
366 "name": "keyword.query.where.ql"
367 },
368 "keyword": {
369 "patterns": [
370 {
371 "include": "#dont-care"
372 },
373 {
374 "include": "#and"
375 },
376 {
377 "include": "#any"
378 },
379 {
380 "include": "#as"
381 },
382 {
383 "include": "#asc"
384 },
385 {
386 "include": "#avg"
387 },
388 {
389 "include": "#boolean"
390 },
391 {
392 "include": "#by"
393 },
394 {
395 "include": "#class"
396 },
397 {
398 "include": "#concat"
399 },
400 {
401 "include": "#count"
402 },
403 {
404 "include": "#date"
405 },
406 {
407 "include": "#desc"
408 },
409 {
410 "include": "#else"
411 },
412 {
413 "include": "#exists"
414 },
415 {
416 "include": "#extends"
417 },
418 {
419 "include": "#false"
420 },
421 {
422 "include": "#float"
423 },
424 {
425 "include": "#forall"
426 },
427 {
428 "include": "#forex"
429 },
430 {
431 "include": "#from"
432 },
433 {
434 "include": "#if"
435 },
436 {
437 "include": "#implies"
438 },
439 {
440 "include": "#import"
441 },
442 {
443 "include": "#in"
444 },
445 {
446 "include": "#instanceof"
447 },
448 {
449 "include": "#int"
450 },
451 {
452 "include": "#max"
453 },
454 {
455 "include": "#min"
456 },
457 {
458 "include": "#module"
459 },
460 {
461 "include": "#newtype"
462 },
463 {
464 "include": "#none"
465 },
466 {
467 "include": "#not"
468 },
469 {
470 "include": "#or"
471 },
472 {
473 "include": "#order"
474 },
475 {
476 "include": "#predicate"
477 },
478 {
479 "include": "#rank"
480 },
481 {
482 "include": "#result"
483 },
484 {
485 "include": "#select"
486 },
487 {
488 "include": "#strictconcat"
489 },
490 {
491 "include": "#strictcount"
492 },
493 {
494 "include": "#strictsum"
495 },
496 {
497 "include": "#string"
498 },
499 {
500 "include": "#sum"
501 },
502 {
503 "include": "#super"
504 },
505 {
506 "include": "#then"
507 },
508 {
509 "include": "#this"
510 },
511 {
512 "include": "#true"
513 },
514 {
515 "include": "#unique"
516 },
517 {
518 "include": "#where"
519 }
520 ]
521 },
522 "predicate-start-keyword": {
523 "patterns": [
524 {
525 "include": "#boolean"
526 },
527 {
528 "include": "#date"
529 },
530 {
531 "include": "#float"
532 },
533 {
534 "include": "#int"
535 },
536 {
537 "include": "#predicate"
538 },
539 {
540 "include": "#string"
541 }
542 ]
543 },
544 "abstract": {
545 "match": "(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))",
546 "name": "storage.modifier.abstract.ql"
547 },
548 "additional": {
549 "match": "(?x)\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))",
550 "name": "storage.modifier.additional.ql"
551 },
552 "bindingset": {
553 "match": "(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))",
554 "name": "storage.modifier.bindingset.ql"
555 },
556 "cached": {
557 "match": "(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))",
558 "name": "storage.modifier.cached.ql"
559 },
560 "default": {
561 "match": "(?x)\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))",
562 "name": "storage.modifier.default.ql"
563 },
564 "deprecated": {
565 "match": "(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))",
566 "name": "storage.modifier.deprecated.ql"
567 },
568 "external": {
569 "match": "(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))",
570 "name": "storage.modifier.external.ql"
571 },
572 "final": {
573 "match": "(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))",
574 "name": "storage.modifier.final.ql"
575 },
576 "language": {
577 "match": "(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))",
578 "name": "storage.modifier.language.ql"
579 },
580 "library": {
581 "match": "(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))",
582 "name": "storage.modifier.library.ql"
583 },
584 "override": {
585 "match": "(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))",
586 "name": "storage.modifier.override.ql"
587 },
588 "pragma": {
589 "match": "(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))",
590 "name": "storage.modifier.pragma.ql"
591 },
592 "private": {
593 "match": "(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))",
594 "name": "storage.modifier.private.ql"
595 },
596 "query": {
597 "match": "(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))",
598 "name": "storage.modifier.query.ql"
599 },
600 "signature": {
601 "match": "(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))",
602 "name": "storage.modifier.signature.ql"
603 },
604 "transient": {
605 "match": "(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))",
606 "name": "storage.modifier.transient.ql"
607 },
608 "annotation-keyword": {
609 "patterns": [
610 {
611 "include": "#abstract"
612 },
613 {
614 "include": "#additional"
615 },
616 {
617 "include": "#bindingset"
618 },
619 {
620 "include": "#cached"
621 },
622 {
623 "include": "#default"
624 },
625 {
626 "include": "#deprecated"
627 },
628 {
629 "include": "#external"
630 },
631 {
632 "include": "#final"
633 },
634 {
635 "include": "#language"
636 },
637 {
638 "include": "#library"
639 },
640 {
641 "include": "#override"
642 },
643 {
644 "include": "#pragma"
645 },
646 {
647 "include": "#private"
648 },
649 {
650 "include": "#query"
651 },
652 {
653 "include": "#signature"
654 },
655 {
656 "include": "#transient"
657 }
658 ]
659 },
660 "implements": {
661 "match": "(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))",
662 "name": "keyword.other.implements.ql"
663 },
664 "comment": {
665 "patterns": [
666 {
667 "begin": "(?x)/\\*\\*",
668 "end": "(?x)\\*/",
669 "name": "comment.block.documentation.ql",
670 "patterns": [
671 {
672 "begin": "(?x)(?<=/\\*\\*)([^*]|\\*(?!/))*$",
673 "while": "(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)",
674 "patterns": [
675 {
676 "match": "(?x)\\G\\s* (@\\S+)",
677 "name": "keyword.tag.ql"
678 }
679 ]
680 }
681 ]
682 },
683 {
684 "begin": "(?x)/\\*",
685 "end": "(?x)\\*/",
686 "name": "comment.block.ql"
687 },
688 {
689 "match": "(?x)//.*$",
690 "name": "comment.line.double-slash.ql"
691 }
692 ]
693 },
694 "module-member": {
695 "patterns": [
696 {
697 "include": "#import-directive"
698 },
699 {
700 "include": "#import-as-clause"
701 },
702 {
703 "include": "#module-declaration"
704 },
705 {
706 "include": "#newtype-declaration"
707 },
708 {
709 "include": "#newtype-branch-name-with-prefix"
710 },
711 {
712 "include": "#predicate-parameter-list"
713 },
714 {
715 "include": "#predicate-body"
716 },
717 {
718 "include": "#class-declaration"
719 },
720 {
721 "include": "#select-clause"
722 },
723 {
724 "include": "#predicate-or-field-declaration"
725 },
726 {
727 "include": "#non-context-sensitive"
728 },
729 {
730 "include": "#annotation"
731 }
732 ]
733 },
734 "instantiation-args": {
735 "name": "meta.type.parameters.ql",
736 "patterns": [
737 {
738 "include": "#instantiation-args"
739 },
740 {
741 "include": "#non-context-sensitive"
742 },
743 {
744 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
745 "name": "entity.name.type.namespace.ql"
746 }
747 ],
748 "begin": "(?x)((?:<))",
749 "beginCaptures": {
750 "1": {
751 "patterns": [
752 {
753 "include": "#open-angle"
754 }
755 ]
756 }
757 },
758 "end": "(?x)((?:>))",
759 "endCaptures": {
760 "1": {
761 "patterns": [
762 {
763 "include": "#close-angle"
764 }
765 ]
766 }
767 }
768 },
769 "import-directive": {
770 "end": "(?x)(?<!\\bimport)(?<=(?:\\>)|[A-Za-z0-9_]) (?!\\s*(\\.|\\:\\:|\\,|(?:<)))",
771 "name": "meta.block.import-directive.ql",
772 "patterns": [
773 {
774 "include": "#instantiation-args"
775 },
776 {
777 "include": "#non-context-sensitive"
778 },
779 {
780 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
781 "name": "entity.name.type.namespace.ql"
782 }
783 ],
784 "begin": "(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))",
785 "beginCaptures": {
786 "1": {
787 "patterns": [
788 {
789 "include": "#import"
790 }
791 ]
792 }
793 }
794 },
795 "end-of-as-clause": {
796 "match": "(?x)(?: (?<=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?<!(?<!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"
797 },
798 "import-as-clause": {
799 "end": "(?x)(?:(?: (?<=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?<!(?<!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))",
800 "name": "meta.block.import-as-clause.ql",
801 "patterns": [
802 {
803 "include": "#non-context-sensitive"
804 },
805 {
806 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
807 "name": "entity.name.type.namespace.ql"
808 }
809 ],
810 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
811 "beginCaptures": {
812 "1": {
813 "patterns": [
814 {
815 "include": "#as"
816 }
817 ]
818 }
819 }
820 },
821 "implements-clause": {
822 "end": "(?x)(?= \\{ )",
823 "name": "meta.block.implements-clause.ql",
824 "patterns": [
825 {
826 "include": "#non-context-sensitive"
827 },
828 {
829 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
830 "name": "entity.name.type.ql"
831 }
832 ],
833 "begin": "(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))",
834 "beginCaptures": {
835 "1": {
836 "patterns": [
837 {
838 "include": "#implements"
839 }
840 ]
841 }
842 }
843 },
844 "module-declaration": {
845 "end": "(?x)(?<=\\}|;)",
846 "name": "meta.block.module-declaration.ql",
847 "patterns": [
848 {
849 "include": "#module-body"
850 },
851 {
852 "include": "#implements-clause"
853 },
854 {
855 "include": "#non-context-sensitive"
856 },
857 {
858 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
859 "name": "entity.name.type.namespace.ql"
860 }
861 ],
862 "begin": "(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))",
863 "beginCaptures": {
864 "1": {
865 "patterns": [
866 {
867 "include": "#module"
868 }
869 ]
870 }
871 }
872 },
873 "module-body": {
874 "name": "meta.block.module-body.ql",
875 "patterns": [
876 {
877 "include": "#module-member"
878 }
879 ],
880 "begin": "(?x)((?:\\{))",
881 "beginCaptures": {
882 "1": {
883 "patterns": [
884 {
885 "include": "#open-brace"
886 }
887 ]
888 }
889 },
890 "end": "(?x)((?:\\}))",
891 "endCaptures": {
892 "1": {
893 "patterns": [
894 {
895 "include": "#close-brace"
896 }
897 ]
898 }
899 }
900 },
901 "module-qualifier": {
902 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)",
903 "name": "entity.name.type.namespace.ql"
904 },
905 "predicate-or-field-declaration": {
906 "begin": "(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))",
907 "end": "(?x)(?<=\\}|;)",
908 "name": "meta.block.predicate-or-field-declaration.ql",
909 "patterns": [
910 {
911 "include": "#predicate-parameter-list"
912 },
913 {
914 "include": "#predicate-body"
915 },
916 {
917 "include": "#non-context-sensitive"
918 },
919 {
920 "include": "#module-qualifier"
921 },
922 {
923 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)",
924 "name": "variable.field.ql"
925 },
926 {
927 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
928 "name": "entity.name.function.ql"
929 },
930 {
931 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
932 "name": "entity.name.type.ql"
933 }
934 ]
935 },
936 "predicate-parameter-list": {
937 "name": "meta.block.predicate-parameter-list.ql",
938 "patterns": [
939 {
940 "include": "#non-context-sensitive"
941 },
942 {
943 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))",
944 "name": "variable.parameter.ql"
945 },
946 {
947 "include": "#module-qualifier"
948 },
949 {
950 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
951 "name": "entity.name.type.ql"
952 },
953 {
954 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
955 "name": "variable.parameter.ql"
956 }
957 ],
958 "begin": "(?x)((?:\\())",
959 "beginCaptures": {
960 "1": {
961 "patterns": [
962 {
963 "include": "#open-paren"
964 }
965 ]
966 }
967 },
968 "end": "(?x)((?:\\)))",
969 "endCaptures": {
970 "1": {
971 "patterns": [
972 {
973 "include": "#close-paren"
974 }
975 ]
976 }
977 }
978 },
979 "expr-as-clause": {
980 "end": "(?x)(?:(?: (?<=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?<!(?<!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))",
981 "name": "meta.block.expr-as-clause.ql",
982 "patterns": [
983 {
984 "include": "#non-context-sensitive"
985 },
986 {
987 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
988 "name": "variable.other.ql"
989 }
990 ],
991 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
992 "beginCaptures": {
993 "1": {
994 "patterns": [
995 {
996 "include": "#as"
997 }
998 ]
999 }
1000 }
1001 },
1002 "predicate-body-contents": {
1003 "patterns": [
1004 {
1005 "include": "#expr-as-clause"
1006 },
1007 {
1008 "include": "#non-context-sensitive"
1009 },
1010 {
1011 "include": "#module-qualifier"
1012 },
1013 {
1014 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()",
1015 "name": "entity.name.function.ql"
1016 },
1017 {
1018 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1019 "name": "variable.other.ql"
1020 },
1021 {
1022 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1023 "name": "entity.name.type.ql"
1024 }
1025 ]
1026 },
1027 "predicate-body": {
1028 "name": "meta.block.predicate-body.ql",
1029 "patterns": [
1030 {
1031 "include": "#predicate-body-contents"
1032 }
1033 ],
1034 "begin": "(?x)((?:\\{))",
1035 "beginCaptures": {
1036 "1": {
1037 "patterns": [
1038 {
1039 "include": "#open-brace"
1040 }
1041 ]
1042 }
1043 },
1044 "end": "(?x)((?:\\}))",
1045 "endCaptures": {
1046 "1": {
1047 "patterns": [
1048 {
1049 "include": "#close-brace"
1050 }
1051 ]
1052 }
1053 }
1054 },
1055 "annotation": {
1056 "patterns": [
1057 {
1058 "include": "#bindingset-annotation"
1059 },
1060 {
1061 "include": "#language-annotation"
1062 },
1063 {
1064 "include": "#pragma-annotation"
1065 },
1066 {
1067 "include": "#annotation-keyword"
1068 }
1069 ]
1070 },
1071 "bindingset-annotation": {
1072 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1073 "name": "meta.block.bindingset-annotation.ql",
1074 "patterns": [
1075 {
1076 "include": "#bindingset-annotation-body"
1077 },
1078 {
1079 "include": "#non-context-sensitive"
1080 }
1081 ],
1082 "begin": "(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))",
1083 "beginCaptures": {
1084 "1": {
1085 "patterns": [
1086 {
1087 "include": "#bindingset"
1088 }
1089 ]
1090 }
1091 }
1092 },
1093 "bindingset-annotation-body": {
1094 "name": "meta.block.bindingset-annotation-body.ql",
1095 "patterns": [
1096 {
1097 "include": "#non-context-sensitive"
1098 },
1099 {
1100 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1101 "name": "variable.parameter.ql"
1102 }
1103 ],
1104 "begin": "(?x)((?:\\[))",
1105 "beginCaptures": {
1106 "1": {
1107 "patterns": [
1108 {
1109 "include": "#open-bracket"
1110 }
1111 ]
1112 }
1113 },
1114 "end": "(?x)((?:\\]))",
1115 "endCaptures": {
1116 "1": {
1117 "patterns": [
1118 {
1119 "include": "#close-bracket"
1120 }
1121 ]
1122 }
1123 }
1124 },
1125 "language-annotation": {
1126 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1127 "name": "meta.block.language-annotation.ql",
1128 "patterns": [
1129 {
1130 "include": "#language-annotation-body"
1131 },
1132 {
1133 "include": "#non-context-sensitive"
1134 }
1135 ],
1136 "begin": "(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))",
1137 "beginCaptures": {
1138 "1": {
1139 "patterns": [
1140 {
1141 "include": "#language"
1142 }
1143 ]
1144 }
1145 }
1146 },
1147 "language-annotation-body": {
1148 "name": "meta.block.language-annotation-body.ql",
1149 "patterns": [
1150 {
1151 "include": "#non-context-sensitive"
1152 },
1153 {
1154 "match": "(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))",
1155 "name": "storage.modifier.ql"
1156 }
1157 ],
1158 "begin": "(?x)((?:\\[))",
1159 "beginCaptures": {
1160 "1": {
1161 "patterns": [
1162 {
1163 "include": "#open-bracket"
1164 }
1165 ]
1166 }
1167 },
1168 "end": "(?x)((?:\\]))",
1169 "endCaptures": {
1170 "1": {
1171 "patterns": [
1172 {
1173 "include": "#close-bracket"
1174 }
1175 ]
1176 }
1177 }
1178 },
1179 "pragma-annotation": {
1180 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1181 "name": "meta.block.pragma-annotation.ql",
1182 "patterns": [
1183 {
1184 "include": "#pragma-annotation-body"
1185 },
1186 {
1187 "include": "#non-context-sensitive"
1188 }
1189 ],
1190 "begin": "(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))",
1191 "beginCaptures": {
1192 "1": {
1193 "patterns": [
1194 {
1195 "include": "#pragma"
1196 }
1197 ]
1198 }
1199 }
1200 },
1201 "pragma-annotation-body": {
1202 "name": "meta.block.pragma-annotation-body.ql",
1203 "patterns": [
1204 {
1205 "match": "(?x)\\b(?:inline|noinline|nomagic|noopt)\\b",
1206 "name": "storage.modifier.ql"
1207 }
1208 ],
1209 "begin": "(?x)((?:\\[))",
1210 "beginCaptures": {
1211 "1": {
1212 "patterns": [
1213 {
1214 "include": "#open-bracket"
1215 }
1216 ]
1217 }
1218 },
1219 "end": "(?x)((?:\\]))",
1220 "endCaptures": {
1221 "1": {
1222 "patterns": [
1223 {
1224 "include": "#close-bracket"
1225 }
1226 ]
1227 }
1228 }
1229 },
1230 "newtype-declaration": {
1231 "end": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1232 "endCaptures": {
1233 "0": {
1234 "name": "entity.name.type.ql"
1235 }
1236 },
1237 "name": "meta.block.newtype-declaration.ql",
1238 "patterns": [
1239 {
1240 "include": "#non-context-sensitive"
1241 }
1242 ],
1243 "begin": "(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))",
1244 "beginCaptures": {
1245 "1": {
1246 "patterns": [
1247 {
1248 "include": "#newtype"
1249 }
1250 ]
1251 }
1252 }
1253 },
1254 "newtype-branch-name-with-prefix": {
1255 "begin": "(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))",
1256 "beginCaptures": {
1257 "0": {
1258 "patterns": [
1259 {
1260 "include": "#or"
1261 },
1262 {
1263 "include": "#comparison-operator"
1264 }
1265 ]
1266 }
1267 },
1268 "end": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1269 "endCaptures": {
1270 "0": {
1271 "name": "entity.name.type.ql"
1272 }
1273 },
1274 "name": "meta.block.newtype-branch-name-with-prefix.ql",
1275 "patterns": [
1276 {
1277 "include": "#non-context-sensitive"
1278 }
1279 ]
1280 },
1281 "class-declaration": {
1282 "end": "(?x)(?<= \\} | ; )",
1283 "name": "meta.block.class-declaration.ql",
1284 "patterns": [
1285 {
1286 "include": "#class-body"
1287 },
1288 {
1289 "include": "#extends-clause"
1290 },
1291 {
1292 "include": "#non-context-sensitive"
1293 },
1294 {
1295 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1296 "name": "entity.name.type.class.ql"
1297 }
1298 ],
1299 "begin": "(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))",
1300 "beginCaptures": {
1301 "1": {
1302 "patterns": [
1303 {
1304 "include": "#class"
1305 }
1306 ]
1307 }
1308 }
1309 },
1310 "extends-clause": {
1311 "end": "(?x)(?= \\{ )",
1312 "name": "meta.block.extends-clause.ql",
1313 "patterns": [
1314 {
1315 "include": "#non-context-sensitive"
1316 },
1317 {
1318 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1319 "name": "entity.name.type.ql"
1320 }
1321 ],
1322 "begin": "(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))",
1323 "beginCaptures": {
1324 "1": {
1325 "patterns": [
1326 {
1327 "include": "#extends"
1328 }
1329 ]
1330 }
1331 }
1332 },
1333 "class-body": {
1334 "name": "meta.block.class-body.ql",
1335 "patterns": [
1336 {
1337 "include": "#class-member"
1338 }
1339 ],
1340 "begin": "(?x)((?:\\{))",
1341 "beginCaptures": {
1342 "1": {
1343 "patterns": [
1344 {
1345 "include": "#open-brace"
1346 }
1347 ]
1348 }
1349 },
1350 "end": "(?x)((?:\\}))",
1351 "endCaptures": {
1352 "1": {
1353 "patterns": [
1354 {
1355 "include": "#close-brace"
1356 }
1357 ]
1358 }
1359 }
1360 },
1361 "class-member": {
1362 "patterns": [
1363 {
1364 "include": "#predicate-or-field-declaration"
1365 },
1366 {
1367 "include": "#annotation"
1368 },
1369 {
1370 "include": "#non-context-sensitive"
1371 }
1372 ]
1373 },
1374 "select-clause": {
1375 "begin": "(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1376 "end": "(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1377 "name": "meta.block.select-clause.ql",
1378 "patterns": [
1379 {
1380 "include": "#from-section"
1381 },
1382 {
1383 "include": "#where-section"
1384 },
1385 {
1386 "include": "#select-section"
1387 }
1388 ]
1389 },
1390 "from-section": {
1391 "end": "(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )",
1392 "name": "meta.block.from-section.ql",
1393 "patterns": [
1394 {
1395 "include": "#non-context-sensitive"
1396 },
1397 {
1398 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))",
1399 "name": "variable.parameter.ql"
1400 },
1401 {
1402 "include": "#module-qualifier"
1403 },
1404 {
1405 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1406 "name": "entity.name.type.ql"
1407 },
1408 {
1409 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1410 "name": "variable.parameter.ql"
1411 }
1412 ],
1413 "begin": "(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))",
1414 "beginCaptures": {
1415 "1": {
1416 "patterns": [
1417 {
1418 "include": "#from"
1419 }
1420 ]
1421 }
1422 }
1423 },
1424 "where-section": {
1425 "end": "(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1426 "name": "meta.block.where-section.ql",
1427 "patterns": [
1428 {
1429 "include": "#predicate-body-contents"
1430 }
1431 ],
1432 "begin": "(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))",
1433 "beginCaptures": {
1434 "1": {
1435 "patterns": [
1436 {
1437 "include": "#where"
1438 }
1439 ]
1440 }
1441 }
1442 },
1443 "select-section": {
1444 "end": "(?x)(?=\\n)",
1445 "name": "meta.block.select-section.ql",
1446 "patterns": [
1447 {
1448 "include": "#predicate-body-contents"
1449 },
1450 {
1451 "include": "#select-as-clause"
1452 }
1453 ],
1454 "begin": "(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1455 "beginCaptures": {
1456 "1": {
1457 "patterns": [
1458 {
1459 "include": "#select"
1460 }
1461 ]
1462 }
1463 }
1464 },
1465 "select-as-clause": {
1466 "end": "(?x)(?<=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))",
1467 "match": "(?x)meta.block.select-as-clause.ql",
1468 "patterns": [
1469 {
1470 "include": "#non-context-sensitive"
1471 },
1472 {
1473 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1474 "name": "variable.other.ql"
1475 }
1476 ],
1477 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
1478 "beginCaptures": {
1479 "1": {
1480 "patterns": [
1481 {
1482 "include": "#as"
1483 }
1484 ]
1485 }
1486 }
1487 },
1488 "literal": {
1489 "patterns": [
1490 {
1491 "include": "#float-literal"
1492 },
1493 {
1494 "include": "#int-literal"
1495 },
1496 {
1497 "include": "#string-literal"
1498 }
1499 ]
1500 },
1501 "int-literal": {
1502 "match": "(?x)-?[0-9]+(?![0-9])",
1503 "name": "constant.numeric.decimal.ql"
1504 },
1505 "float-literal": {
1506 "match": "(?x)-?[0-9]+\\.[0-9]+(?![0-9])",
1507 "name": "constant.numeric.decimal.ql"
1508 },
1509 "string-literal": {
1510 "name": "string.quoted.double.ql",
1511 "begin": "(?x)\"",
1512 "beginCaptures": {
1513 "0": {
1514 "name": "punctuation.definition.string.begin.ql"
1515 }
1516 },
1517 "end": "(?x)(\") | ((?:[^\\\\\\n])$)",
1518 "endCaptures": {
1519 "1": {
1520 "name": "punctuation.definition.string.end.ql"
1521 },
1522 "2": {
1523 "name": "invalid.illegal.newline.ql"
1524 }
1525 },
1526 "patterns": [
1527 {
1528 "include": "#string-escape"
1529 }
1530 ]
1531 },
1532 "string-escape": {
1533 "match": "(?x)\\\\[\"\\\\nrt]",
1534 "name": "constant.character.escape.ql"
1535 }
1536 }
1537 }
1538