tm-grammars 1.27.1 → 1.28.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.
@@ -0,0 +1,1330 @@
1
+ {
2
+ "displayName": "SurrealQL",
3
+ "fileTypes": [
4
+ ".surql",
5
+ ".surrealql"
6
+ ],
7
+ "foldingStartMarker": "[(\\[{|]\\s*$",
8
+ "foldingStopMarker": "^\\s*[])|}]",
9
+ "name": "surrealql",
10
+ "patterns": [
11
+ {
12
+ "include": "#comment"
13
+ },
14
+ {
15
+ "include": "#js-function"
16
+ },
17
+ {
18
+ "include": "#function"
19
+ },
20
+ {
21
+ "include": "#keywords"
22
+ },
23
+ {
24
+ "include": "#operators"
25
+ },
26
+ {
27
+ "include": "#value"
28
+ }
29
+ ],
30
+ "repository": {
31
+ "array": {
32
+ "begin": "\\[",
33
+ "end": "]",
34
+ "patterns": [
35
+ {
36
+ "include": "#array-content"
37
+ }
38
+ ]
39
+ },
40
+ "array-content": {
41
+ "patterns": [
42
+ {
43
+ "include": "$self"
44
+ },
45
+ {
46
+ "match": ",",
47
+ "name": "punctuation.separator.array"
48
+ }
49
+ ]
50
+ },
51
+ "block": {
52
+ "begin": "\\{",
53
+ "end": "}",
54
+ "name": "surrealql.block",
55
+ "patterns": [
56
+ {
57
+ "include": "#block-content"
58
+ }
59
+ ]
60
+ },
61
+ "block-content": {
62
+ "patterns": [
63
+ {
64
+ "include": "#string"
65
+ },
66
+ {
67
+ "include": "#object-key"
68
+ },
69
+ {
70
+ "include": "$self"
71
+ }
72
+ ]
73
+ },
74
+ "boolean": {
75
+ "match": "\\b(true|TRUE|false|FALSE|True|False)\\b",
76
+ "name": "constant.language.bool"
77
+ },
78
+ "comment": {
79
+ "patterns": [
80
+ {
81
+ "include": "#comment.line.dash"
82
+ },
83
+ {
84
+ "include": "#comment.line.slash"
85
+ },
86
+ {
87
+ "include": "#comment.line.hash"
88
+ },
89
+ {
90
+ "include": "#comment.block"
91
+ }
92
+ ]
93
+ },
94
+ "comment.block": {
95
+ "begin": "/\\*",
96
+ "end": "\\*/",
97
+ "name": "comment.block.surrealql"
98
+ },
99
+ "comment.line.dash": {
100
+ "begin": "--",
101
+ "end": "\\n",
102
+ "name": "comment.line.double-dash"
103
+ },
104
+ "comment.line.hash": {
105
+ "begin": "#",
106
+ "end": "\\n",
107
+ "name": "comment.line.number-sign"
108
+ },
109
+ "comment.line.slash": {
110
+ "begin": "//",
111
+ "end": "\\n",
112
+ "name": "comment.line.double-slash"
113
+ },
114
+ "duration": {
115
+ "match": "(\\d+(ns|µs|ms|[dhmswy]))+",
116
+ "name": "constant.other"
117
+ },
118
+ "function": {
119
+ "begin": "(?=(\\b\\w+(?:::\\b\\w+)+|count|rand)\\s*\\()",
120
+ "beginCaptures": {
121
+ "1": {
122
+ "name": "support.function"
123
+ }
124
+ },
125
+ "end": "(?<=\\))",
126
+ "patterns": [
127
+ {
128
+ "include": "#comment"
129
+ },
130
+ {
131
+ "begin": "\\(",
132
+ "end": "\\)",
133
+ "name": "meta.function.arguments",
134
+ "patterns": [
135
+ {
136
+ "include": "#value"
137
+ }
138
+ ]
139
+ }
140
+ ]
141
+ },
142
+ "ident": {
143
+ "patterns": [
144
+ {
145
+ "begin": "`",
146
+ "end": "(?<!\\\\)`",
147
+ "name": "support.type.property-name"
148
+ },
149
+ {
150
+ "begin": "⟨",
151
+ "end": "(?<!\\\\)⟩",
152
+ "name": "support.type.property-name"
153
+ }
154
+ ]
155
+ },
156
+ "js-function": {
157
+ "begin": "(?=\\b(function)\\b)",
158
+ "beginCaptures": {
159
+ "1": {
160
+ "name": "support.function.js"
161
+ }
162
+ },
163
+ "end": "(?<=})",
164
+ "patterns": [
165
+ {
166
+ "include": "#comment"
167
+ },
168
+ {
169
+ "begin": "\\(",
170
+ "end": "\\)",
171
+ "name": "meta.function.arguments",
172
+ "patterns": [
173
+ {
174
+ "include": "#value"
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "begin": "\\{",
180
+ "end": "}",
181
+ "name": "meta.embedded.block.javascript",
182
+ "patterns": [
183
+ {
184
+ "include": "source.js"
185
+ }
186
+ ]
187
+ }
188
+ ]
189
+ },
190
+ "keywords": {
191
+ "patterns": [
192
+ {
193
+ "match": "\\b(ACCESS|access)\\b",
194
+ "name": "keyword.control.access.surrealql"
195
+ },
196
+ {
197
+ "match": "\\b(ALGORITHM|algorithm)\\b",
198
+ "name": "keyword.control.algorithm.surrealql"
199
+ },
200
+ {
201
+ "match": "\\b(ALL|all)\\b",
202
+ "name": "keyword.control.all.surrealql"
203
+ },
204
+ {
205
+ "match": "\\b(ALTER|alter)\\b",
206
+ "name": "keyword.control.alter.surrealql"
207
+ },
208
+ {
209
+ "match": "\\b(ALWAYS|always)\\b",
210
+ "name": "keyword.control.always.surrealql"
211
+ },
212
+ {
213
+ "match": "\\b(ANALYZER|analyzer)\\b",
214
+ "name": "keyword.control.analyzer.surrealql"
215
+ },
216
+ {
217
+ "match": "\\b(AND|and)\\b",
218
+ "name": "keyword.control.and.surrealql"
219
+ },
220
+ {
221
+ "match": "\\b(ANY|any)\\b",
222
+ "name": "keyword.control.any.surrealql"
223
+ },
224
+ {
225
+ "match": "\\b(API|api)\\b",
226
+ "name": "keyword.control.api.surrealql"
227
+ },
228
+ {
229
+ "match": "\\b(AS|as)\\b",
230
+ "name": "keyword.control.as.surrealql"
231
+ },
232
+ {
233
+ "match": "\\b(ASC|asc)\\b",
234
+ "name": "keyword.control.asc.surrealql"
235
+ },
236
+ {
237
+ "match": "\\b(ASSERT|assert)\\b",
238
+ "name": "keyword.control.assert.surrealql"
239
+ },
240
+ {
241
+ "match": "\\b(AT|at)\\b",
242
+ "name": "keyword.control.at.surrealql"
243
+ },
244
+ {
245
+ "match": "\\b(AUTHENTICATE|authenticate)\\b",
246
+ "name": "keyword.control.authenticate.surrealql"
247
+ },
248
+ {
249
+ "match": "\\b(AUTO|auto)\\b",
250
+ "name": "keyword.control.auto.surrealql"
251
+ },
252
+ {
253
+ "match": "\\b(BACKEND|backend)\\b",
254
+ "name": "keyword.control.backend.surrealql"
255
+ },
256
+ {
257
+ "match": "\\b(BEGIN|begin)\\b",
258
+ "name": "keyword.control.begin.surrealql"
259
+ },
260
+ {
261
+ "match": "\\b(BM25|bm25)\\b",
262
+ "name": "keyword.control.bm25.surrealql"
263
+ },
264
+ {
265
+ "match": "\\b(BREAK|break)\\b",
266
+ "name": "keyword.control.break.surrealql"
267
+ },
268
+ {
269
+ "match": "\\b(BUCKET|bucket)\\b",
270
+ "name": "keyword.control.bucket.surrealql"
271
+ },
272
+ {
273
+ "match": "\\b(BY|by)\\b",
274
+ "name": "keyword.control.by.surrealql"
275
+ },
276
+ {
277
+ "match": "\\b(CANCEL|cancel)\\b",
278
+ "name": "keyword.control.cancel.surrealql"
279
+ },
280
+ {
281
+ "match": "\\b(CAPACITY|capacity)\\b",
282
+ "name": "keyword.control.capacity.surrealql"
283
+ },
284
+ {
285
+ "match": "\\b(CASCADE|cascade)\\b",
286
+ "name": "keyword.control.cascade.surrealql"
287
+ },
288
+ {
289
+ "match": "\\b(CHANGEFEED|changefeed)\\b",
290
+ "name": "keyword.control.changefeed.surrealql"
291
+ },
292
+ {
293
+ "match": "\\b(CHANGES|changes)\\b",
294
+ "name": "keyword.control.changes.surrealql"
295
+ },
296
+ {
297
+ "match": "\\b(COLLATE|collate)\\b",
298
+ "name": "keyword.control.collate.surrealql"
299
+ },
300
+ {
301
+ "match": "\\b(COLUMNS|columns)\\b",
302
+ "name": "keyword.control.columns.surrealql"
303
+ },
304
+ {
305
+ "match": "\\b(COMMENT|comment)\\b",
306
+ "name": "keyword.control.comment.surrealql"
307
+ },
308
+ {
309
+ "match": "\\b(COMMIT|commit)\\b",
310
+ "name": "keyword.control.commit.surrealql"
311
+ },
312
+ {
313
+ "match": "\\b(COMPUTED|computed)\\b",
314
+ "name": "keyword.control.computed.surrealql"
315
+ },
316
+ {
317
+ "match": "\\b(CONCURRENTLY|concurrently)\\b",
318
+ "name": "keyword.control.concurrently.surrealql"
319
+ },
320
+ {
321
+ "match": "\\b(CONFIG|config)\\b",
322
+ "name": "keyword.control.config.surrealql"
323
+ },
324
+ {
325
+ "match": "\\b(CONTENT|content)\\b",
326
+ "name": "keyword.control.content.surrealql"
327
+ },
328
+ {
329
+ "match": "\\b(CONTINUE|continue)\\b",
330
+ "name": "keyword.control.continue.surrealql"
331
+ },
332
+ {
333
+ "match": "\\b(CREATE|create)\\b",
334
+ "name": "keyword.control.create.surrealql"
335
+ },
336
+ {
337
+ "match": "\\b(DATABASE|database)\\b",
338
+ "name": "keyword.control.database.surrealql"
339
+ },
340
+ {
341
+ "match": "\\b(DB|db)\\b",
342
+ "name": "keyword.control.db.surrealql"
343
+ },
344
+ {
345
+ "match": "\\b(DEFAULT|default)\\b",
346
+ "name": "keyword.control.default.surrealql"
347
+ },
348
+ {
349
+ "match": "\\b(DEFER|defer)\\b",
350
+ "name": "keyword.control.defer.surrealql"
351
+ },
352
+ {
353
+ "match": "\\b(DEFINE|define)\\b",
354
+ "name": "keyword.control.define.surrealql"
355
+ },
356
+ {
357
+ "match": "\\b(DELETE|delete)\\b",
358
+ "name": "keyword.control.delete.surrealql"
359
+ },
360
+ {
361
+ "match": "\\b(DESC|desc)\\b",
362
+ "name": "keyword.control.desc.surrealql"
363
+ },
364
+ {
365
+ "match": "\\b(DIMENSION|dimension)\\b",
366
+ "name": "keyword.control.dimension.surrealql"
367
+ },
368
+ {
369
+ "match": "\\b(DIST|dist)\\b",
370
+ "name": "keyword.control.dist.surrealql"
371
+ },
372
+ {
373
+ "match": "\\b(DOC_IDS_CACHE|doc_ids_cache)\\b",
374
+ "name": "keyword.control.doc_ids_cache.surrealql"
375
+ },
376
+ {
377
+ "match": "\\b(DOC_IDS_ORDER|doc_ids_order)\\b",
378
+ "name": "keyword.control.doc_ids_order.surrealql"
379
+ },
380
+ {
381
+ "match": "\\b(DOC_LENGTHS_CACHE|doc_lengths_cache)\\b",
382
+ "name": "keyword.control.doc_lengths_cache.surrealql"
383
+ },
384
+ {
385
+ "match": "\\b(DOC_LENGTHS_ORDER|doc_lengths_order)\\b",
386
+ "name": "keyword.control.doc_lengths_order.surrealql"
387
+ },
388
+ {
389
+ "match": "\\b(DROP|drop)\\b",
390
+ "name": "keyword.control.drop.surrealql"
391
+ },
392
+ {
393
+ "match": "\\b(DUPLICATE|duplicate)\\b",
394
+ "name": "keyword.control.duplicate.surrealql"
395
+ },
396
+ {
397
+ "match": "\\b(DURATION|duration)\\b",
398
+ "name": "keyword.control.duration.surrealql"
399
+ },
400
+ {
401
+ "match": "\\b(EFC|efc)\\b",
402
+ "name": "keyword.control.efc.surrealql"
403
+ },
404
+ {
405
+ "match": "\\b(ELSE|else)\\b",
406
+ "name": "keyword.control.else.surrealql"
407
+ },
408
+ {
409
+ "match": "\\b(END|end)\\b",
410
+ "name": "keyword.control.end.surrealql"
411
+ },
412
+ {
413
+ "match": "\\b(ENFORCED|enforced)\\b",
414
+ "name": "keyword.control.enforced.surrealql"
415
+ },
416
+ {
417
+ "match": "\\b(EVENT|event)\\b",
418
+ "name": "keyword.control.event.surrealql"
419
+ },
420
+ {
421
+ "match": "\\b(EXCLUDE|exclude)\\b",
422
+ "name": "keyword.control.exclude.surrealql"
423
+ },
424
+ {
425
+ "match": "\\b(EXISTS|exists)\\b",
426
+ "name": "keyword.control.exists.surrealql"
427
+ },
428
+ {
429
+ "match": "\\b(EXPLAIN|explain)\\b",
430
+ "name": "keyword.control.explain.surrealql"
431
+ },
432
+ {
433
+ "match": "\\b(EXPUNGE|expunge)\\b",
434
+ "name": "keyword.control.expunge.surrealql"
435
+ },
436
+ {
437
+ "match": "\\b(EXTEND_CANDIDATES|extend_candidates)\\b",
438
+ "name": "keyword.control.extend_candidates.surrealql"
439
+ },
440
+ {
441
+ "match": "\\b(FETCH|fetch)\\b",
442
+ "name": "keyword.control.fetch.surrealql"
443
+ },
444
+ {
445
+ "match": "\\b(FIELD|field)\\b",
446
+ "name": "keyword.control.field.surrealql"
447
+ },
448
+ {
449
+ "match": "\\b(FIELDS|fields)\\b",
450
+ "name": "keyword.control.fields.surrealql"
451
+ },
452
+ {
453
+ "match": "\\b(FILTERS|filters)\\b",
454
+ "name": "keyword.control.filters.surrealql"
455
+ },
456
+ {
457
+ "match": "\\b(FLEXIBLE|flexible)\\b",
458
+ "name": "keyword.control.flexible.surrealql"
459
+ },
460
+ {
461
+ "match": "\\b(FOR|for)\\b",
462
+ "name": "keyword.control.for.surrealql"
463
+ },
464
+ {
465
+ "match": "\\b(FROM|from)\\b",
466
+ "name": "keyword.control.from.surrealql"
467
+ },
468
+ {
469
+ "match": "\\b(FUNCTION|function)\\b",
470
+ "name": "keyword.control.function.surrealql"
471
+ },
472
+ {
473
+ "match": "\\b(FUNCTIONS|functions)\\b",
474
+ "name": "keyword.control.functions.surrealql"
475
+ },
476
+ {
477
+ "match": "\\b(GET|get)\\b",
478
+ "name": "keyword.control.get.surrealql"
479
+ },
480
+ {
481
+ "match": "\\b(GRAPHQL|graphql)\\b",
482
+ "name": "keyword.control.graphql.surrealql"
483
+ },
484
+ {
485
+ "match": "\\b(GROUP|group)\\b",
486
+ "name": "keyword.control.group.surrealql"
487
+ },
488
+ {
489
+ "match": "\\b(HIGHLIGHTS|highlights)\\b",
490
+ "name": "keyword.control.highlights.surrealql"
491
+ },
492
+ {
493
+ "match": "\\b(HNSW|hnsw)\\b",
494
+ "name": "keyword.control.hnsw.surrealql"
495
+ },
496
+ {
497
+ "match": "\\b(IF|if)\\b",
498
+ "name": "keyword.control.if.surrealql"
499
+ },
500
+ {
501
+ "match": "\\b(IGNORE|ignore)\\b",
502
+ "name": "keyword.control.ignore.surrealql"
503
+ },
504
+ {
505
+ "match": "\\b(IN|in)\\b",
506
+ "name": "keyword.control.in.surrealql"
507
+ },
508
+ {
509
+ "match": "\\b(INCLUDE|include)\\b",
510
+ "name": "keyword.control.include.surrealql"
511
+ },
512
+ {
513
+ "match": "\\b(INDEX|index)\\b",
514
+ "name": "keyword.control.index.surrealql"
515
+ },
516
+ {
517
+ "match": "\\b(INFO|info)\\b",
518
+ "name": "keyword.control.info.surrealql"
519
+ },
520
+ {
521
+ "match": "\\b(INSERT|insert)\\b",
522
+ "name": "keyword.control.insert.surrealql"
523
+ },
524
+ {
525
+ "match": "\\b(INTO|into)\\b",
526
+ "name": "keyword.control.into.surrealql"
527
+ },
528
+ {
529
+ "match": "\\b(ISSUER|issuer)\\b",
530
+ "name": "keyword.control.issuer.surrealql"
531
+ },
532
+ {
533
+ "match": "\\b(JWT|jwt)\\b",
534
+ "name": "keyword.control.jwt.surrealql"
535
+ },
536
+ {
537
+ "match": "\\b(KEEP_PRUNED_CONNECTIONS|keep_pruned_connections)\\b",
538
+ "name": "keyword.control.keep_pruned_connections.surrealql"
539
+ },
540
+ {
541
+ "match": "\\b(KEY|key)\\b",
542
+ "name": "keyword.control.key.surrealql"
543
+ },
544
+ {
545
+ "match": "\\b(KILL|kill)\\b",
546
+ "name": "keyword.control.kill.surrealql"
547
+ },
548
+ {
549
+ "match": "\\b(LET|let)\\b",
550
+ "name": "keyword.control.let.surrealql"
551
+ },
552
+ {
553
+ "match": "\\b(LIMIT|limit)\\b",
554
+ "name": "keyword.control.limit.surrealql"
555
+ },
556
+ {
557
+ "match": "\\b(LIVE|live)\\b",
558
+ "name": "keyword.control.live.surrealql"
559
+ },
560
+ {
561
+ "match": "\\b(LM|lm)\\b",
562
+ "name": "keyword.control.lm.surrealql"
563
+ },
564
+ {
565
+ "match": "\\b([Mm])\\b",
566
+ "name": "keyword.control.m.surrealql"
567
+ },
568
+ {
569
+ "match": "\\b([Mm]0)\\b",
570
+ "name": "keyword.control.m0.surrealql"
571
+ },
572
+ {
573
+ "match": "\\b(MERGE|merge)\\b",
574
+ "name": "keyword.control.merge.surrealql"
575
+ },
576
+ {
577
+ "match": "\\b(MIDDLEWARE|middleware)\\b",
578
+ "name": "keyword.control.middleware.surrealql"
579
+ },
580
+ {
581
+ "match": "\\b(MTREE|mtree)\\b",
582
+ "name": "keyword.control.mtree.surrealql"
583
+ },
584
+ {
585
+ "match": "\\b(MTREE_CACHE|mtree_cache)\\b",
586
+ "name": "keyword.control.mtree_cache.surrealql"
587
+ },
588
+ {
589
+ "match": "\\b(NAMESPACE|namespace)\\b",
590
+ "name": "keyword.control.namespace.surrealql"
591
+ },
592
+ {
593
+ "match": "\\b(NOINDEX|noindex)\\b",
594
+ "name": "keyword.control.noindex.surrealql"
595
+ },
596
+ {
597
+ "match": "\\b(NORMAL|normal)\\b",
598
+ "name": "keyword.control.normal.surrealql"
599
+ },
600
+ {
601
+ "match": "\\b(NOT|not)\\b",
602
+ "name": "keyword.control.not.surrealql"
603
+ },
604
+ {
605
+ "match": "\\b(NS|ns)\\b",
606
+ "name": "keyword.control.ns.surrealql"
607
+ },
608
+ {
609
+ "match": "\\b(NUMERIC|numeric)\\b",
610
+ "name": "keyword.control.numeric.surrealql"
611
+ },
612
+ {
613
+ "match": "\\b(OMIT|omit)\\b",
614
+ "name": "keyword.control.omit.surrealql"
615
+ },
616
+ {
617
+ "match": "\\b(ON|on)\\b",
618
+ "name": "keyword.control.on.surrealql"
619
+ },
620
+ {
621
+ "match": "\\b(ONLY|only)\\b",
622
+ "name": "keyword.control.only.surrealql"
623
+ },
624
+ {
625
+ "match": "\\b(OPTION|option)\\b",
626
+ "name": "keyword.control.option.surrealql"
627
+ },
628
+ {
629
+ "match": "\\b(ORDER|order)\\b",
630
+ "name": "keyword.control.order.surrealql"
631
+ },
632
+ {
633
+ "match": "\\b(OUT|out)\\b",
634
+ "name": "keyword.control.out.surrealql"
635
+ },
636
+ {
637
+ "match": "\\b(OVERWRITE|overwrite)\\b",
638
+ "name": "keyword.control.overwrite.surrealql"
639
+ },
640
+ {
641
+ "match": "\\b(PARALLEL|parallel)\\b",
642
+ "name": "keyword.control.parallel.surrealql"
643
+ },
644
+ {
645
+ "match": "\\b(PARAM|param)\\b",
646
+ "name": "keyword.control.param.surrealql"
647
+ },
648
+ {
649
+ "match": "\\b(PASSHASH|passhash)\\b",
650
+ "name": "keyword.control.passhash.surrealql"
651
+ },
652
+ {
653
+ "match": "\\b(PASSWORD|password)\\b",
654
+ "name": "keyword.control.password.surrealql"
655
+ },
656
+ {
657
+ "match": "\\b(PATCH|patch)\\b",
658
+ "name": "keyword.control.patch.surrealql"
659
+ },
660
+ {
661
+ "match": "\\b(PERMISSIONS|permissions)\\b",
662
+ "name": "keyword.control.permissions.surrealql"
663
+ },
664
+ {
665
+ "match": "\\b(POST|post)\\b",
666
+ "name": "keyword.control.post.surrealql"
667
+ },
668
+ {
669
+ "match": "\\b(POSTINGS_CACHE|postings_cache)\\b",
670
+ "name": "keyword.control.postings_cache.surrealql"
671
+ },
672
+ {
673
+ "match": "\\b(POSTINGS_ORDER|postings_order)\\b",
674
+ "name": "keyword.control.postings_order.surrealql"
675
+ },
676
+ {
677
+ "match": "\\b(PUT|put)\\b",
678
+ "name": "keyword.control.put.surrealql"
679
+ },
680
+ {
681
+ "match": "\\b(READONLY|readonly)\\b",
682
+ "name": "keyword.control.readonly.surrealql"
683
+ },
684
+ {
685
+ "match": "\\b(REBUILD|rebuild)\\b",
686
+ "name": "keyword.control.rebuild.surrealql"
687
+ },
688
+ {
689
+ "match": "\\b(RECORD|record)\\b",
690
+ "name": "keyword.control.record.surrealql"
691
+ },
692
+ {
693
+ "match": "\\b(REFERENCE|reference)\\b",
694
+ "name": "keyword.control.reference.surrealql"
695
+ },
696
+ {
697
+ "match": "\\b(REJECT|reject)\\b",
698
+ "name": "keyword.control.reject.surrealql"
699
+ },
700
+ {
701
+ "match": "\\b(RELATE|relate)\\b",
702
+ "name": "keyword.control.relate.surrealql"
703
+ },
704
+ {
705
+ "match": "\\b(RELATION|relation)\\b",
706
+ "name": "keyword.control.relation.surrealql"
707
+ },
708
+ {
709
+ "match": "\\b(REMOVE|remove)\\b",
710
+ "name": "keyword.control.remove.surrealql"
711
+ },
712
+ {
713
+ "match": "\\b(REPLACE|replace)\\b",
714
+ "name": "keyword.control.replace.surrealql"
715
+ },
716
+ {
717
+ "match": "\\b(RETURN|return)\\b",
718
+ "name": "keyword.control.return.surrealql"
719
+ },
720
+ {
721
+ "match": "\\b(ROLES|roles)\\b",
722
+ "name": "keyword.control.roles.surrealql"
723
+ },
724
+ {
725
+ "match": "\\b(ROOT|root)\\b",
726
+ "name": "keyword.control.root.surrealql"
727
+ },
728
+ {
729
+ "match": "\\b(SC|sc)\\b",
730
+ "name": "keyword.control.sc.surrealql"
731
+ },
732
+ {
733
+ "match": "\\b(SCHEMAFULL|schemafull)\\b",
734
+ "name": "keyword.control.schemafull.surrealql"
735
+ },
736
+ {
737
+ "match": "\\b(SCHEMALESS|schemaless)\\b",
738
+ "name": "keyword.control.schemaless.surrealql"
739
+ },
740
+ {
741
+ "match": "\\b(SCOPE|scope)\\b",
742
+ "name": "keyword.control.scope.surrealql"
743
+ },
744
+ {
745
+ "match": "\\b(SEARCH|search)\\b",
746
+ "name": "keyword.control.search.surrealql"
747
+ },
748
+ {
749
+ "match": "\\b(SELECT|select)\\b",
750
+ "name": "keyword.control.select.surrealql"
751
+ },
752
+ {
753
+ "match": "\\b(SESSION|session)\\b",
754
+ "name": "keyword.control.session.surrealql"
755
+ },
756
+ {
757
+ "match": "\\b(SET|set)\\b",
758
+ "name": "keyword.control.set.surrealql"
759
+ },
760
+ {
761
+ "match": "\\b(SHOW|show)\\b",
762
+ "name": "keyword.control.show.surrealql"
763
+ },
764
+ {
765
+ "match": "\\b(SIGNIN|signin)\\b",
766
+ "name": "keyword.control.signin.surrealql"
767
+ },
768
+ {
769
+ "match": "\\b(SIGNUP|signup)\\b",
770
+ "name": "keyword.control.signup.surrealql"
771
+ },
772
+ {
773
+ "match": "\\b(SINCE|since)\\b",
774
+ "name": "keyword.control.since.surrealql"
775
+ },
776
+ {
777
+ "match": "\\b(SLEEP|sleep)\\b",
778
+ "name": "keyword.control.sleep.surrealql"
779
+ },
780
+ {
781
+ "match": "\\b(SPLIT|split)\\b",
782
+ "name": "keyword.control.split.surrealql"
783
+ },
784
+ {
785
+ "match": "\\b(START|start)\\b",
786
+ "name": "keyword.control.start.surrealql"
787
+ },
788
+ {
789
+ "match": "\\b(STRUCTURE|structure)\\b",
790
+ "name": "keyword.control.structure.surrealql"
791
+ },
792
+ {
793
+ "match": "\\b(TABLE|table)\\b",
794
+ "name": "keyword.control.table.surrealql"
795
+ },
796
+ {
797
+ "match": "\\b(TABLES|tables)\\b",
798
+ "name": "keyword.control.tables.surrealql"
799
+ },
800
+ {
801
+ "match": "\\b(TB|tb)\\b",
802
+ "name": "keyword.control.tb.surrealql"
803
+ },
804
+ {
805
+ "match": "\\b(TEMPFILES|tempfiles)\\b",
806
+ "name": "keyword.control.tempfiles.surrealql"
807
+ },
808
+ {
809
+ "match": "\\b(TERMS_CACHE|terms_cache)\\b",
810
+ "name": "keyword.control.terms_cache.surrealql"
811
+ },
812
+ {
813
+ "match": "\\b(TERMS_ORDER|terms_order)\\b",
814
+ "name": "keyword.control.terms_order.surrealql"
815
+ },
816
+ {
817
+ "match": "\\b(THEN|then)\\b",
818
+ "name": "keyword.control.then.surrealql"
819
+ },
820
+ {
821
+ "match": "\\b(THROW|throw)\\b",
822
+ "name": "keyword.control.throw.surrealql"
823
+ },
824
+ {
825
+ "match": "\\b(TIMEOUT|timeout)\\b",
826
+ "name": "keyword.control.timeout.surrealql"
827
+ },
828
+ {
829
+ "match": "\\b(TO|to)\\b",
830
+ "name": "keyword.control.to.surrealql"
831
+ },
832
+ {
833
+ "match": "\\b(TOKEN|token)\\b",
834
+ "name": "keyword.control.token.surrealql"
835
+ },
836
+ {
837
+ "match": "\\b(TOKENIZERS|tokenizers)\\b",
838
+ "name": "keyword.control.tokenizers.surrealql"
839
+ },
840
+ {
841
+ "match": "\\b(TRACE|trace)\\b",
842
+ "name": "keyword.control.trace.surrealql"
843
+ },
844
+ {
845
+ "match": "\\b(TRANSACTION|transaction)\\b",
846
+ "name": "keyword.control.transaction.surrealql"
847
+ },
848
+ {
849
+ "match": "\\b(TYPE|type)\\b",
850
+ "name": "keyword.control.type.surrealql"
851
+ },
852
+ {
853
+ "match": "\\b(UNIQUE|unique)\\b",
854
+ "name": "keyword.control.unique.surrealql"
855
+ },
856
+ {
857
+ "match": "\\b(UNSET|unset)\\b",
858
+ "name": "keyword.control.unset.surrealql"
859
+ },
860
+ {
861
+ "match": "\\b(UPDATE|update)\\b",
862
+ "name": "keyword.control.update.surrealql"
863
+ },
864
+ {
865
+ "match": "\\b(UPSERT|upsert)\\b",
866
+ "name": "keyword.control.upsert.surrealql"
867
+ },
868
+ {
869
+ "match": "\\b(URL|url)\\b",
870
+ "name": "keyword.control.url.surrealql"
871
+ },
872
+ {
873
+ "match": "\\b(USE|use)\\b",
874
+ "name": "keyword.control.use.surrealql"
875
+ },
876
+ {
877
+ "match": "\\b(USER|user)\\b",
878
+ "name": "keyword.control.user.surrealql"
879
+ },
880
+ {
881
+ "match": "\\b(VALUE|value)\\b",
882
+ "name": "keyword.control.value.surrealql"
883
+ },
884
+ {
885
+ "match": "\\b(VALUES|values)\\b",
886
+ "name": "keyword.control.values.surrealql"
887
+ },
888
+ {
889
+ "match": "\\b(VERSION|version)\\b",
890
+ "name": "keyword.control.version.surrealql"
891
+ },
892
+ {
893
+ "match": "\\b(WHEN|when)\\b",
894
+ "name": "keyword.control.when.surrealql"
895
+ },
896
+ {
897
+ "match": "\\b(WHERE|where)\\b",
898
+ "name": "keyword.control.where.surrealql"
899
+ },
900
+ {
901
+ "match": "\\b(WITH|with)\\b",
902
+ "name": "keyword.control.with.surrealql"
903
+ }
904
+ ]
905
+ },
906
+ "number": {
907
+ "patterns": [
908
+ {
909
+ "match": "\\b\\d+\\.\\d+(?:f|dec)?\\b",
910
+ "name": "constant.numeric.decimal"
911
+ },
912
+ {
913
+ "match": "\\b\\d+(?:f|dec)?\\b",
914
+ "name": "constant.numeric.int"
915
+ }
916
+ ]
917
+ },
918
+ "object-key": {
919
+ "patterns": [
920
+ {
921
+ "captures": {
922
+ "1": {
923
+ "name": "string.quoted.double"
924
+ }
925
+ },
926
+ "match": "(?:^|[,{])[\\t ]*(\"[^\"():?]+\")(?=:(?!:))"
927
+ },
928
+ {
929
+ "captures": {
930
+ "1": {
931
+ "name": "string.quoted.single"
932
+ }
933
+ },
934
+ "match": "(?:^|[,{])[\\t ]*('[^'():?]+')(?=:(?!:))"
935
+ },
936
+ {
937
+ "captures": {
938
+ "2": {
939
+ "name": "meta.object-literal.key"
940
+ }
941
+ },
942
+ "match": "(^|[,{])[\\t ]*([0-9A-Z_a-z]+)(?=:(?!:))"
943
+ }
944
+ ]
945
+ },
946
+ "operators": {
947
+ "patterns": [
948
+ {
949
+ "match": "<->|->|<-|<~",
950
+ "name": "keyword.operator.arrow.surrealql"
951
+ },
952
+ {
953
+ "match": "\\b(AND|and)\\b|&&",
954
+ "name": "keyword.operator.and.surrealql"
955
+ },
956
+ {
957
+ "match": "\\b(OR|or)\\b|\\|\\|",
958
+ "name": "keyword.operator.or.surrealql"
959
+ },
960
+ {
961
+ "match": "\\b(IS NOT|is not)\\b|!=",
962
+ "name": "keyword.operator.is-not.surrealql"
963
+ },
964
+ {
965
+ "match": "\\b(IS|is)\\b|=",
966
+ "name": "keyword.operator.is.surrealql"
967
+ },
968
+ {
969
+ "match": "\\b(CONTAINSALL|containsall)\\b|⊇",
970
+ "name": "keyword.operator.containsall.surrealql"
971
+ },
972
+ {
973
+ "match": "\\b(CONTAINSANY|containsany)\\b|⊃",
974
+ "name": "keyword.operator.containsany.surrealql"
975
+ },
976
+ {
977
+ "match": "\\b(CONTAINSNONE|containsnone)\\b|⊅",
978
+ "name": "keyword.operator.containsnone.surrealql"
979
+ },
980
+ {
981
+ "match": "\\b(CONTAINSSOME|containssome)\\b",
982
+ "name": "keyword.operator.containssome.surrealql"
983
+ },
984
+ {
985
+ "match": "\\b(CONTAINSNOT|containsnot)\\b|∌",
986
+ "name": "keyword.operator.containsnot.surrealql"
987
+ },
988
+ {
989
+ "match": "\\b(CONTAINS|contains)\\b|∋",
990
+ "name": "keyword.operator.contains.surrealql"
991
+ },
992
+ {
993
+ "match": "\\b(ALLINSIDE|allinside)\\b|⊆",
994
+ "name": "keyword.operator.allinside.surrealql"
995
+ },
996
+ {
997
+ "match": "\\b(ANYINSIDE|anyinside)\\b|⊂",
998
+ "name": "keyword.operator.anyinside.surrealql"
999
+ },
1000
+ {
1001
+ "match": "\\b(NONEINSIDE|noneinside)\\b|⊄",
1002
+ "name": "keyword.operator.noneinside.surrealql"
1003
+ },
1004
+ {
1005
+ "match": "\\b(SOMEINSIDE|someinside)\\b",
1006
+ "name": "keyword.operator.someinside.surrealql"
1007
+ },
1008
+ {
1009
+ "match": "\\b(NOTINSIDE|notinside|NOT IN|not in)\\b|∉",
1010
+ "name": "keyword.operator.notinside.surrealql"
1011
+ },
1012
+ {
1013
+ "match": "\\b(INSIDE|inside)\\b|∈",
1014
+ "name": "keyword.operator.inside.surrealql"
1015
+ },
1016
+ {
1017
+ "match": "\\b(OUTSIDE|outside)\\b",
1018
+ "name": "keyword.operator.outside.surrealql"
1019
+ },
1020
+ {
1021
+ "match": "\\b(INTERSECTS|intersects)\\b",
1022
+ "name": "keyword.operator.intersects.surrealql"
1023
+ },
1024
+ {
1025
+ "match": "==",
1026
+ "name": "keyword.operator.equal.surrealql"
1027
+ },
1028
+ {
1029
+ "match": "\\*=",
1030
+ "name": "keyword.operator.all-equal.surrealql"
1031
+ },
1032
+ {
1033
+ "match": "\\?=",
1034
+ "name": "keyword.operator.any-equal.surrealql"
1035
+ },
1036
+ {
1037
+ "match": "!~",
1038
+ "name": "keyword.operator.fuzzy-inequal.surrealql"
1039
+ },
1040
+ {
1041
+ "match": "\\*~",
1042
+ "name": "keyword.operator.fuzzy-all-equal.surrealql"
1043
+ },
1044
+ {
1045
+ "match": "\\?~",
1046
+ "name": "keyword.operator.fuzzy-any-equal.surrealql"
1047
+ },
1048
+ {
1049
+ "match": "~",
1050
+ "name": "keyword.operator.fuzzy-equal.surrealql"
1051
+ },
1052
+ {
1053
+ "match": "<=",
1054
+ "name": "keyword.operator.less-or-equal.surrealql"
1055
+ },
1056
+ {
1057
+ "match": "<(?!-|[a-z]+[^:])",
1058
+ "name": "keyword.operator.less.surrealql"
1059
+ },
1060
+ {
1061
+ "match": ">=",
1062
+ "name": "keyword.operator.more-or-equal.surrealql"
1063
+ },
1064
+ {
1065
+ "match": "(?<!-)>",
1066
+ "name": "keyword.operator.more.surrealql"
1067
+ },
1068
+ {
1069
+ "match": "\\+",
1070
+ "name": "keyword.operator.add.surrealql"
1071
+ },
1072
+ {
1073
+ "match": "-",
1074
+ "name": "keyword.operator.subtract.surrealql"
1075
+ },
1076
+ {
1077
+ "match": "[*×∙]",
1078
+ "name": "keyword.operator.multiply.surrealql"
1079
+ },
1080
+ {
1081
+ "match": "[/÷]",
1082
+ "name": "keyword.operator.devide.surrealql"
1083
+ },
1084
+ {
1085
+ "captures": {
1086
+ "1": {
1087
+ "name": "constant.numeric.int"
1088
+ }
1089
+ },
1090
+ "match": "@([0-9]+)?@",
1091
+ "name": "keyword.operator.matches.surrealql"
1092
+ },
1093
+ {
1094
+ "match": "\\?:",
1095
+ "name": "keyword.operator.either.surrealql"
1096
+ },
1097
+ {
1098
+ "match": "\\?\\?",
1099
+ "name": "keyword.operator.truthy.surrealql"
1100
+ },
1101
+ {
1102
+ "match": "<\\|([,A-Za-z|\\d])+\\|>",
1103
+ "name": "keyword.operator.knn.surrealql"
1104
+ }
1105
+ ]
1106
+ },
1107
+ "positional": {
1108
+ "match": "\\b(AFTER|after|BEFORE|before)\\b",
1109
+ "name": "constant.language.positional"
1110
+ },
1111
+ "query": {
1112
+ "patterns": [
1113
+ {
1114
+ "include": "$self"
1115
+ }
1116
+ ]
1117
+ },
1118
+ "record": {
1119
+ "patterns": [
1120
+ {
1121
+ "captures": {
1122
+ "1": {
1123
+ "name": "entity.name.class"
1124
+ },
1125
+ "2": {
1126
+ "name": "entity.name.class"
1127
+ }
1128
+ },
1129
+ "match": "\\b(\\w+)\\b:⟨([^⟩]+)⟩"
1130
+ },
1131
+ {
1132
+ "captures": {
1133
+ "1": {
1134
+ "name": "entity.name.class"
1135
+ },
1136
+ "2": {
1137
+ "name": "entity.name.class"
1138
+ }
1139
+ },
1140
+ "match": "\\b(\\w+)\\b:`([^`]+)`"
1141
+ },
1142
+ {
1143
+ "begin": "\\b(\\w+)\\b:(?=\\b([:\\w]+)\\b\\s*\\()",
1144
+ "beginCaptures": {
1145
+ "1": {
1146
+ "name": "entity.name.class"
1147
+ },
1148
+ "2": {
1149
+ "name": "support.function"
1150
+ }
1151
+ },
1152
+ "end": "(?<=\\))",
1153
+ "patterns": [
1154
+ {
1155
+ "include": "#comment"
1156
+ },
1157
+ {
1158
+ "begin": "\\(",
1159
+ "end": "\\)",
1160
+ "name": "meta.function.arguments",
1161
+ "patterns": [
1162
+ {
1163
+ "include": "#value"
1164
+ }
1165
+ ]
1166
+ }
1167
+ ]
1168
+ },
1169
+ {
1170
+ "captures": {
1171
+ "1": {
1172
+ "name": "entity.name.class"
1173
+ },
1174
+ "2": {
1175
+ "name": "entity.name.class"
1176
+ }
1177
+ },
1178
+ "match": "\\b(\\w+)\\b:\\b(\\w+)\\b"
1179
+ },
1180
+ {
1181
+ "begin": "\\b(\\w+)\\b:\\[",
1182
+ "captures": {
1183
+ "1": {
1184
+ "name": "entity.name.class"
1185
+ }
1186
+ },
1187
+ "end": "]",
1188
+ "patterns": [
1189
+ {
1190
+ "include": "#array-content"
1191
+ }
1192
+ ]
1193
+ },
1194
+ {
1195
+ "begin": "\\b(\\w+)\\b:(?=\\{)",
1196
+ "captures": {
1197
+ "1": {
1198
+ "name": "entity.name.class"
1199
+ }
1200
+ },
1201
+ "end": "}",
1202
+ "patterns": [
1203
+ {
1204
+ "include": "#block-content"
1205
+ }
1206
+ ]
1207
+ }
1208
+ ]
1209
+ },
1210
+ "string": {
1211
+ "patterns": [
1212
+ {
1213
+ "begin": "[a-z]?\"",
1214
+ "end": "(?<!\\\\)\"",
1215
+ "name": "string.quoted.double"
1216
+ },
1217
+ {
1218
+ "begin": "[a-z]?'",
1219
+ "end": "(?<!\\\\)'",
1220
+ "name": "string.quoted.single"
1221
+ }
1222
+ ]
1223
+ },
1224
+ "subquery": {
1225
+ "begin": "\\(",
1226
+ "end": "\\)",
1227
+ "patterns": [
1228
+ {
1229
+ "include": "#query"
1230
+ },
1231
+ {
1232
+ "include": "#value"
1233
+ }
1234
+ ]
1235
+ },
1236
+ "type": {
1237
+ "captures": {
1238
+ "0": {
1239
+ "patterns": [
1240
+ {
1241
+ "match": "[<>]",
1242
+ "name": "entity.name.type.surrealql"
1243
+ },
1244
+ {
1245
+ "include": "#number"
1246
+ },
1247
+ {
1248
+ "include": "#void-type"
1249
+ }
1250
+ ]
1251
+ }
1252
+ },
1253
+ "match": "[a-z]*<[A-Za-z][ ,0-9<>A-Z_a-z|]+[0-9>A-Za-z]+>",
1254
+ "name": "test"
1255
+ },
1256
+ "value": {
1257
+ "patterns": [
1258
+ {
1259
+ "include": "#comment"
1260
+ },
1261
+ {
1262
+ "include": "#js-function"
1263
+ },
1264
+ {
1265
+ "include": "#function"
1266
+ },
1267
+ {
1268
+ "include": "#block"
1269
+ },
1270
+ {
1271
+ "include": "#array"
1272
+ },
1273
+ {
1274
+ "include": "#var-name"
1275
+ },
1276
+ {
1277
+ "include": "#boolean"
1278
+ },
1279
+ {
1280
+ "include": "#string"
1281
+ },
1282
+ {
1283
+ "include": "#ident"
1284
+ },
1285
+ {
1286
+ "include": "#void-type"
1287
+ },
1288
+ {
1289
+ "include": "#positional"
1290
+ },
1291
+ {
1292
+ "include": "#number"
1293
+ },
1294
+ {
1295
+ "include": "#duration"
1296
+ },
1297
+ {
1298
+ "include": "#record"
1299
+ },
1300
+ {
1301
+ "include": "#subquery"
1302
+ },
1303
+ {
1304
+ "include": "#type"
1305
+ }
1306
+ ]
1307
+ },
1308
+ "var-name": {
1309
+ "patterns": [
1310
+ {
1311
+ "match": "\\$\\w+",
1312
+ "name": "variable.name"
1313
+ },
1314
+ {
1315
+ "match": "\\$`\\w+`",
1316
+ "name": "variable.name"
1317
+ },
1318
+ {
1319
+ "match": "\\$⟨\\w+⟩",
1320
+ "name": "variable.name"
1321
+ }
1322
+ ]
1323
+ },
1324
+ "void-type": {
1325
+ "match": "\\b(null|NULL|none|NONE)\\b",
1326
+ "name": "constant.language.void"
1327
+ }
1328
+ },
1329
+ "scopeName": "source.surrealql"
1330
+ }