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

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