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

1,486 lines 45.0 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 "bindingset": {
535 "match": "(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))",
536 "name": "storage.modifier.bindingset.ql"
537 },
538 "cached": {
539 "match": "(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))",
540 "name": "storage.modifier.cached.ql"
541 },
542 "deprecated": {
543 "match": "(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))",
544 "name": "storage.modifier.deprecated.ql"
545 },
546 "external": {
547 "match": "(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))",
548 "name": "storage.modifier.external.ql"
549 },
550 "final": {
551 "match": "(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))",
552 "name": "storage.modifier.final.ql"
553 },
554 "language": {
555 "match": "(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))",
556 "name": "storage.modifier.language.ql"
557 },
558 "library": {
559 "match": "(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))",
560 "name": "storage.modifier.library.ql"
561 },
562 "override": {
563 "match": "(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))",
564 "name": "storage.modifier.override.ql"
565 },
566 "pragma": {
567 "match": "(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))",
568 "name": "storage.modifier.pragma.ql"
569 },
570 "private": {
571 "match": "(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))",
572 "name": "storage.modifier.private.ql"
573 },
574 "query": {
575 "match": "(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))",
576 "name": "storage.modifier.query.ql"
577 },
578 "signature": {
579 "match": "(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))",
580 "name": "storage.modifier.signature.ql"
581 },
582 "transient": {
583 "match": "(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))",
584 "name": "storage.modifier.transient.ql"
585 },
586 "annotation-keyword": {
587 "patterns": [
588 {
589 "include": "#abstract"
590 },
591 {
592 "include": "#bindingset"
593 },
594 {
595 "include": "#cached"
596 },
597 {
598 "include": "#deprecated"
599 },
600 {
601 "include": "#external"
602 },
603 {
604 "include": "#final"
605 },
606 {
607 "include": "#language"
608 },
609 {
610 "include": "#library"
611 },
612 {
613 "include": "#override"
614 },
615 {
616 "include": "#pragma"
617 },
618 {
619 "include": "#private"
620 },
621 {
622 "include": "#query"
623 },
624 {
625 "include": "#signature"
626 },
627 {
628 "include": "#transient"
629 }
630 ]
631 },
632 "implements": {
633 "match": "(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))",
634 "name": "keyword.other.implements.ql"
635 },
636 "comment": {
637 "patterns": [
638 {
639 "begin": "(?x)/\\*\\*",
640 "end": "(?x)\\*/",
641 "name": "comment.block.documentation.ql",
642 "patterns": [
643 {
644 "begin": "(?x)(?<=/\\*\\*)([^*]|\\*(?!/))*$",
645 "while": "(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)",
646 "patterns": [
647 {
648 "include": "text.html.markdown#fenced_code_block"
649 },
650 {
651 "include": "text.html.markdown#lists"
652 },
653 {
654 "include": "text.html.markdown#inline"
655 },
656 {
657 "match": "(?x)\\G\\s* (@\\S+)",
658 "name": "keyword.tag.ql"
659 }
660 ]
661 }
662 ]
663 },
664 {
665 "begin": "(?x)/\\*",
666 "end": "(?x)\\*/",
667 "name": "comment.block.ql"
668 },
669 {
670 "match": "(?x)//.*$",
671 "name": "comment.line.double-slash.ql"
672 }
673 ]
674 },
675 "module-member": {
676 "patterns": [
677 {
678 "include": "#import-directive"
679 },
680 {
681 "include": "#import-as-clause"
682 },
683 {
684 "include": "#module-declaration"
685 },
686 {
687 "include": "#newtype-declaration"
688 },
689 {
690 "include": "#newtype-branch-name-with-prefix"
691 },
692 {
693 "include": "#predicate-parameter-list"
694 },
695 {
696 "include": "#predicate-body"
697 },
698 {
699 "include": "#class-declaration"
700 },
701 {
702 "include": "#select-clause"
703 },
704 {
705 "include": "#predicate-or-field-declaration"
706 },
707 {
708 "include": "#non-context-sensitive"
709 },
710 {
711 "include": "#annotation"
712 }
713 ]
714 },
715 "import-directive": {
716 "end": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?!\\s*(\\.|\\:\\:))",
717 "endCaptures": {
718 "0": {
719 "name": "entity.name.type.namespace.ql"
720 }
721 },
722 "name": "meta.block.import-directive.ql",
723 "patterns": [
724 {
725 "include": "#non-context-sensitive"
726 },
727 {
728 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
729 "name": "entity.name.type.namespace.ql"
730 }
731 ],
732 "begin": "(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))",
733 "beginCaptures": {
734 "1": {
735 "patterns": [
736 {
737 "include": "#import"
738 }
739 ]
740 }
741 }
742 },
743 "end-of-as-clause": {
744 "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_])))))))"
745 },
746 "import-as-clause": {
747 "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_]))))))))",
748 "name": "meta.block.import-as-clause.ql",
749 "patterns": [
750 {
751 "include": "#non-context-sensitive"
752 },
753 {
754 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
755 "name": "entity.name.type.namespace.ql"
756 }
757 ],
758 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
759 "beginCaptures": {
760 "1": {
761 "patterns": [
762 {
763 "include": "#as"
764 }
765 ]
766 }
767 }
768 },
769 "implements-clause": {
770 "end": "(?x)(?= \\{ )",
771 "name": "meta.block.implements-clause.ql",
772 "patterns": [
773 {
774 "include": "#non-context-sensitive"
775 },
776 {
777 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
778 "name": "entity.name.type.ql"
779 }
780 ],
781 "begin": "(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))",
782 "beginCaptures": {
783 "1": {
784 "patterns": [
785 {
786 "include": "#implements"
787 }
788 ]
789 }
790 }
791 },
792 "module-declaration": {
793 "end": "(?x)(?<=\\}|;)",
794 "name": "meta.block.module-declaration.ql",
795 "patterns": [
796 {
797 "include": "#module-body"
798 },
799 {
800 "include": "#implements-clause"
801 },
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(?:module)(?:(?!(?:[0-9A-Za-z_])))))",
811 "beginCaptures": {
812 "1": {
813 "patterns": [
814 {
815 "include": "#module"
816 }
817 ]
818 }
819 }
820 },
821 "module-body": {
822 "name": "meta.block.module-body.ql",
823 "patterns": [
824 {
825 "include": "#module-member"
826 }
827 ],
828 "begin": "(?x)((?:\\{))",
829 "beginCaptures": {
830 "1": {
831 "patterns": [
832 {
833 "include": "#open-brace"
834 }
835 ]
836 }
837 },
838 "end": "(?x)((?:\\}))",
839 "endCaptures": {
840 "1": {
841 "patterns": [
842 {
843 "include": "#close-brace"
844 }
845 ]
846 }
847 }
848 },
849 "module-qualifier": {
850 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)",
851 "name": "entity.name.type.namespace.ql"
852 },
853 "predicate-or-field-declaration": {
854 "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(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[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_])))))",
855 "end": "(?x)(?<=\\}|;)",
856 "name": "meta.block.predicate-or-field-declaration.ql",
857 "patterns": [
858 {
859 "include": "#predicate-parameter-list"
860 },
861 {
862 "include": "#predicate-body"
863 },
864 {
865 "include": "#non-context-sensitive"
866 },
867 {
868 "include": "#module-qualifier"
869 },
870 {
871 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)",
872 "name": "variable.field.ql"
873 },
874 {
875 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
876 "name": "entity.name.function.ql"
877 },
878 {
879 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
880 "name": "entity.name.type.ql"
881 }
882 ]
883 },
884 "predicate-parameter-list": {
885 "name": "meta.block.predicate-parameter-list.ql",
886 "patterns": [
887 {
888 "include": "#non-context-sensitive"
889 },
890 {
891 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))",
892 "name": "variable.parameter.ql"
893 },
894 {
895 "include": "#module-qualifier"
896 },
897 {
898 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
899 "name": "entity.name.type.ql"
900 },
901 {
902 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
903 "name": "variable.parameter.ql"
904 }
905 ],
906 "begin": "(?x)((?:\\())",
907 "beginCaptures": {
908 "1": {
909 "patterns": [
910 {
911 "include": "#open-paren"
912 }
913 ]
914 }
915 },
916 "end": "(?x)((?:\\)))",
917 "endCaptures": {
918 "1": {
919 "patterns": [
920 {
921 "include": "#close-paren"
922 }
923 ]
924 }
925 }
926 },
927 "expr-as-clause": {
928 "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_]))))))))",
929 "name": "meta.block.expr-as-clause.ql",
930 "patterns": [
931 {
932 "include": "#non-context-sensitive"
933 },
934 {
935 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
936 "name": "variable.other.ql"
937 }
938 ],
939 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
940 "beginCaptures": {
941 "1": {
942 "patterns": [
943 {
944 "include": "#as"
945 }
946 ]
947 }
948 }
949 },
950 "predicate-body-contents": {
951 "patterns": [
952 {
953 "include": "#expr-as-clause"
954 },
955 {
956 "include": "#non-context-sensitive"
957 },
958 {
959 "include": "#module-qualifier"
960 },
961 {
962 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()",
963 "name": "entity.name.function.ql"
964 },
965 {
966 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
967 "name": "variable.other.ql"
968 },
969 {
970 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
971 "name": "entity.name.type.ql"
972 }
973 ]
974 },
975 "predicate-body": {
976 "name": "meta.block.predicate-body.ql",
977 "patterns": [
978 {
979 "include": "#predicate-body-contents"
980 }
981 ],
982 "begin": "(?x)((?:\\{))",
983 "beginCaptures": {
984 "1": {
985 "patterns": [
986 {
987 "include": "#open-brace"
988 }
989 ]
990 }
991 },
992 "end": "(?x)((?:\\}))",
993 "endCaptures": {
994 "1": {
995 "patterns": [
996 {
997 "include": "#close-brace"
998 }
999 ]
1000 }
1001 }
1002 },
1003 "annotation": {
1004 "patterns": [
1005 {
1006 "include": "#bindingset-annotation"
1007 },
1008 {
1009 "include": "#language-annotation"
1010 },
1011 {
1012 "include": "#pragma-annotation"
1013 },
1014 {
1015 "include": "#annotation-keyword"
1016 }
1017 ]
1018 },
1019 "bindingset-annotation": {
1020 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1021 "name": "meta.block.bindingset-annotation.ql",
1022 "patterns": [
1023 {
1024 "include": "#bindingset-annotation-body"
1025 },
1026 {
1027 "include": "#non-context-sensitive"
1028 }
1029 ],
1030 "begin": "(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))",
1031 "beginCaptures": {
1032 "1": {
1033 "patterns": [
1034 {
1035 "include": "#bindingset"
1036 }
1037 ]
1038 }
1039 }
1040 },
1041 "bindingset-annotation-body": {
1042 "name": "meta.block.bindingset-annotation-body.ql",
1043 "patterns": [
1044 {
1045 "include": "#non-context-sensitive"
1046 },
1047 {
1048 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1049 "name": "variable.parameter.ql"
1050 }
1051 ],
1052 "begin": "(?x)((?:\\[))",
1053 "beginCaptures": {
1054 "1": {
1055 "patterns": [
1056 {
1057 "include": "#open-bracket"
1058 }
1059 ]
1060 }
1061 },
1062 "end": "(?x)((?:\\]))",
1063 "endCaptures": {
1064 "1": {
1065 "patterns": [
1066 {
1067 "include": "#close-bracket"
1068 }
1069 ]
1070 }
1071 }
1072 },
1073 "language-annotation": {
1074 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1075 "name": "meta.block.language-annotation.ql",
1076 "patterns": [
1077 {
1078 "include": "#language-annotation-body"
1079 },
1080 {
1081 "include": "#non-context-sensitive"
1082 }
1083 ],
1084 "begin": "(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))",
1085 "beginCaptures": {
1086 "1": {
1087 "patterns": [
1088 {
1089 "include": "#language"
1090 }
1091 ]
1092 }
1093 }
1094 },
1095 "language-annotation-body": {
1096 "name": "meta.block.language-annotation-body.ql",
1097 "patterns": [
1098 {
1099 "include": "#non-context-sensitive"
1100 },
1101 {
1102 "match": "(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))",
1103 "name": "storage.modifier.ql"
1104 }
1105 ],
1106 "begin": "(?x)((?:\\[))",
1107 "beginCaptures": {
1108 "1": {
1109 "patterns": [
1110 {
1111 "include": "#open-bracket"
1112 }
1113 ]
1114 }
1115 },
1116 "end": "(?x)((?:\\]))",
1117 "endCaptures": {
1118 "1": {
1119 "patterns": [
1120 {
1121 "include": "#close-bracket"
1122 }
1123 ]
1124 }
1125 }
1126 },
1127 "pragma-annotation": {
1128 "end": "(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?<=\\])",
1129 "name": "meta.block.pragma-annotation.ql",
1130 "patterns": [
1131 {
1132 "include": "#pragma-annotation-body"
1133 },
1134 {
1135 "include": "#non-context-sensitive"
1136 }
1137 ],
1138 "begin": "(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))",
1139 "beginCaptures": {
1140 "1": {
1141 "patterns": [
1142 {
1143 "include": "#pragma"
1144 }
1145 ]
1146 }
1147 }
1148 },
1149 "pragma-annotation-body": {
1150 "name": "meta.block.pragma-annotation-body.ql",
1151 "patterns": [
1152 {
1153 "match": "(?x)\\b(?:inline|noinline|nomagic|noopt)\\b",
1154 "name": "storage.modifier.ql"
1155 }
1156 ],
1157 "begin": "(?x)((?:\\[))",
1158 "beginCaptures": {
1159 "1": {
1160 "patterns": [
1161 {
1162 "include": "#open-bracket"
1163 }
1164 ]
1165 }
1166 },
1167 "end": "(?x)((?:\\]))",
1168 "endCaptures": {
1169 "1": {
1170 "patterns": [
1171 {
1172 "include": "#close-bracket"
1173 }
1174 ]
1175 }
1176 }
1177 },
1178 "newtype-declaration": {
1179 "end": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1180 "endCaptures": {
1181 "0": {
1182 "name": "entity.name.type.ql"
1183 }
1184 },
1185 "name": "meta.block.newtype-declaration.ql",
1186 "patterns": [
1187 {
1188 "include": "#non-context-sensitive"
1189 }
1190 ],
1191 "begin": "(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))",
1192 "beginCaptures": {
1193 "1": {
1194 "patterns": [
1195 {
1196 "include": "#newtype"
1197 }
1198 ]
1199 }
1200 }
1201 },
1202 "newtype-branch-name-with-prefix": {
1203 "begin": "(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))",
1204 "beginCaptures": {
1205 "0": {
1206 "patterns": [
1207 {
1208 "include": "#or"
1209 },
1210 {
1211 "include": "#comparison-operator"
1212 }
1213 ]
1214 }
1215 },
1216 "end": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1217 "endCaptures": {
1218 "0": {
1219 "name": "entity.name.type.ql"
1220 }
1221 },
1222 "name": "meta.block.newtype-branch-name-with-prefix.ql",
1223 "patterns": [
1224 {
1225 "include": "#non-context-sensitive"
1226 }
1227 ]
1228 },
1229 "class-declaration": {
1230 "end": "(?x)(?<= \\} | ; )",
1231 "name": "meta.block.class-declaration.ql",
1232 "patterns": [
1233 {
1234 "include": "#class-body"
1235 },
1236 {
1237 "include": "#extends-clause"
1238 },
1239 {
1240 "include": "#non-context-sensitive"
1241 },
1242 {
1243 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1244 "name": "entity.name.type.class.ql"
1245 }
1246 ],
1247 "begin": "(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))",
1248 "beginCaptures": {
1249 "1": {
1250 "patterns": [
1251 {
1252 "include": "#class"
1253 }
1254 ]
1255 }
1256 }
1257 },
1258 "extends-clause": {
1259 "end": "(?x)(?= \\{ )",
1260 "name": "meta.block.extends-clause.ql",
1261 "patterns": [
1262 {
1263 "include": "#non-context-sensitive"
1264 },
1265 {
1266 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1267 "name": "entity.name.type.ql"
1268 }
1269 ],
1270 "begin": "(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))",
1271 "beginCaptures": {
1272 "1": {
1273 "patterns": [
1274 {
1275 "include": "#extends"
1276 }
1277 ]
1278 }
1279 }
1280 },
1281 "class-body": {
1282 "name": "meta.block.class-body.ql",
1283 "patterns": [
1284 {
1285 "include": "#class-member"
1286 }
1287 ],
1288 "begin": "(?x)((?:\\{))",
1289 "beginCaptures": {
1290 "1": {
1291 "patterns": [
1292 {
1293 "include": "#open-brace"
1294 }
1295 ]
1296 }
1297 },
1298 "end": "(?x)((?:\\}))",
1299 "endCaptures": {
1300 "1": {
1301 "patterns": [
1302 {
1303 "include": "#close-brace"
1304 }
1305 ]
1306 }
1307 }
1308 },
1309 "class-member": {
1310 "patterns": [
1311 {
1312 "include": "#predicate-or-field-declaration"
1313 },
1314 {
1315 "include": "#annotation"
1316 },
1317 {
1318 "include": "#non-context-sensitive"
1319 }
1320 ]
1321 },
1322 "select-clause": {
1323 "begin": "(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1324 "end": "(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1325 "name": "meta.block.select-clause.ql",
1326 "patterns": [
1327 {
1328 "include": "#from-section"
1329 },
1330 {
1331 "include": "#where-section"
1332 },
1333 {
1334 "include": "#select-section"
1335 }
1336 ]
1337 },
1338 "from-section": {
1339 "end": "(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )",
1340 "name": "meta.block.from-section.ql",
1341 "patterns": [
1342 {
1343 "include": "#non-context-sensitive"
1344 },
1345 {
1346 "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_]))))|$))",
1347 "name": "variable.parameter.ql"
1348 },
1349 {
1350 "include": "#module-qualifier"
1351 },
1352 {
1353 "match": "(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1354 "name": "entity.name.type.ql"
1355 },
1356 {
1357 "match": "(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1358 "name": "variable.parameter.ql"
1359 }
1360 ],
1361 "begin": "(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))",
1362 "beginCaptures": {
1363 "1": {
1364 "patterns": [
1365 {
1366 "include": "#from"
1367 }
1368 ]
1369 }
1370 }
1371 },
1372 "where-section": {
1373 "end": "(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1374 "name": "meta.block.where-section.ql",
1375 "patterns": [
1376 {
1377 "include": "#predicate-body-contents"
1378 }
1379 ],
1380 "begin": "(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))",
1381 "beginCaptures": {
1382 "1": {
1383 "patterns": [
1384 {
1385 "include": "#where"
1386 }
1387 ]
1388 }
1389 }
1390 },
1391 "select-section": {
1392 "end": "(?x)(?=\\n)",
1393 "name": "meta.block.select-section.ql",
1394 "patterns": [
1395 {
1396 "include": "#predicate-body-contents"
1397 },
1398 {
1399 "include": "#select-as-clause"
1400 }
1401 ],
1402 "begin": "(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))",
1403 "beginCaptures": {
1404 "1": {
1405 "patterns": [
1406 {
1407 "include": "#select"
1408 }
1409 ]
1410 }
1411 }
1412 },
1413 "select-as-clause": {
1414 "end": "(?x)(?<=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))",
1415 "match": "(?x)meta.block.select-as-clause.ql",
1416 "patterns": [
1417 {
1418 "include": "#non-context-sensitive"
1419 },
1420 {
1421 "match": "(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))",
1422 "name": "variable.other.ql"
1423 }
1424 ],
1425 "begin": "(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))",
1426 "beginCaptures": {
1427 "1": {
1428 "patterns": [
1429 {
1430 "include": "#as"
1431 }
1432 ]
1433 }
1434 }
1435 },
1436 "literal": {
1437 "patterns": [
1438 {
1439 "include": "#float-literal"
1440 },
1441 {
1442 "include": "#int-literal"
1443 },
1444 {
1445 "include": "#string-literal"
1446 }
1447 ]
1448 },
1449 "int-literal": {
1450 "match": "(?x)-?[0-9]+(?![0-9])",
1451 "name": "constant.numeric.decimal.ql"
1452 },
1453 "float-literal": {
1454 "match": "(?x)-?[0-9]+\\.[0-9]+(?![0-9])",
1455 "name": "constant.numeric.decimal.ql"
1456 },
1457 "string-literal": {
1458 "name": "string.quoted.double.ql",
1459 "begin": "(?x)\"",
1460 "beginCaptures": {
1461 "0": {
1462 "name": "punctuation.definition.string.begin.ql"
1463 }
1464 },
1465 "end": "(?x)(\") | ((?:[^\\\\\\n])$)",
1466 "endCaptures": {
1467 "1": {
1468 "name": "punctuation.definition.string.end.ql"
1469 },
1470 "2": {
1471 "name": "invalid.illegal.newline.ql"
1472 }
1473 },
1474 "patterns": [
1475 {
1476 "include": "#string-escape"
1477 }
1478 ]
1479 },
1480 "string-escape": {
1481 "match": "(?x)\\\\[\"\\\\nrt]",
1482 "name": "constant.character.escape.ql"
1483 }
1484 }
1485 }
1486