PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.25.0
Code Block Pro – Beautiful Syntax Highlighting v1.25.0
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.25.0, at build/shiki/languages/codeql.tmLanguage.json

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