tm-grammars 0.0.0

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