dolphindb 2.0.521 → 2.0.522

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.
package/language.js ADDED
@@ -0,0 +1,828 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tm_language = exports.constants = exports.keywords = void 0;
4
+ exports.keywords = [
5
+ 'assert',
6
+ 'const',
7
+ 'mutable',
8
+ 'def',
9
+ 'defg',
10
+ 'map',
11
+ 'mapr',
12
+ 'timer',
13
+ // 流程控制
14
+ 'if',
15
+ 'else',
16
+ 'do',
17
+ 'for',
18
+ 'while',
19
+ 'return',
20
+ 'continue',
21
+ 'break',
22
+ 'try',
23
+ 'catch',
24
+ 'throw',
25
+ 'go',
26
+ // 模块
27
+ 'use',
28
+ 'module',
29
+ // 仅 Python 有的
30
+ 'and',
31
+ 'async',
32
+ 'await',
33
+ 'class',
34
+ 'del',
35
+ 'elif',
36
+ 'except',
37
+ 'finally',
38
+ 'global',
39
+ 'import',
40
+ 'is',
41
+ 'lambda',
42
+ 'nonlocal',
43
+ 'not',
44
+ 'or',
45
+ 'pass',
46
+ 'raise',
47
+ 'with',
48
+ 'yield',
49
+ // SQL
50
+ 'select',
51
+ 'exec',
52
+ 'update',
53
+ 'insert',
54
+ 'create',
55
+ 'alter',
56
+ 'delete',
57
+ 'transaction',
58
+ 'inner join',
59
+ 'full join',
60
+ 'left join',
61
+ 'left semijoin',
62
+ 'context by',
63
+ 'partitioned by',
64
+ 'group by',
65
+ 'pivot by',
66
+ 'order by',
67
+ 'cgroup by',
68
+ 'csort',
69
+ 'limit',
70
+ 'top',
71
+ 'into',
72
+ 'from',
73
+ 'where',
74
+ 'having',
75
+ 'top',
76
+ 'set',
77
+ 'as',
78
+ 'in',
79
+ 'on',
80
+ 'asc',
81
+ 'desc',
82
+ ];
83
+ exports.constants = [
84
+ 'NULL',
85
+ 'true',
86
+ 'false',
87
+ 'pi',
88
+ 'e',
89
+ // --- form
90
+ 'SCALAR',
91
+ 'VECTOR',
92
+ 'PAIR',
93
+ 'MATRIX',
94
+ 'SET',
95
+ 'DICT',
96
+ 'TABLE',
97
+ // 'CHART',
98
+ // 'CHUNK',
99
+ // --- type
100
+ 'VOID',
101
+ 'BOOL',
102
+ 'CHAR',
103
+ 'SHORT',
104
+ 'INT', 'INDEX',
105
+ 'LONG',
106
+ 'DATE',
107
+ 'MONTH',
108
+ 'TIME',
109
+ 'MINUTE',
110
+ 'SECOND',
111
+ 'DATETIME',
112
+ 'TIMESTAMP',
113
+ 'NANOTIME',
114
+ 'NANOTIMESTAMP',
115
+ 'FLOAT',
116
+ 'DOUBLE',
117
+ 'SYMBOL',
118
+ 'STRING',
119
+ 'UUID',
120
+ 'FUNCTIONDEF',
121
+ 'HANDLE',
122
+ 'CODE',
123
+ 'DATASOURCE',
124
+ 'RESOURCE',
125
+ 'ANY',
126
+ // 'COMPRESS',
127
+ 'DICTIONARY',
128
+ 'DATEHOUR',
129
+ 'IPADDR',
130
+ 'INT128',
131
+ 'BLOB',
132
+ 'COMPLEX',
133
+ 'POINT',
134
+ 'DURATION',
135
+ 'OBJECT',
136
+ // partition type
137
+ 'SEQ',
138
+ 'RANGE',
139
+ 'HASH',
140
+ 'VALUE',
141
+ 'LIST',
142
+ 'COMPO',
143
+ // defined
144
+ // https://www.dolphindb.cn/cn/help/FunctionsandCommands/FunctionReferences/d/defined.html
145
+ 'VAR',
146
+ 'SHARED',
147
+ 'DEF',
148
+ 'GLOBAL',
149
+ // 用户权限管理
150
+ // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/CommandsReferences/d/deny.html
151
+ 'TABLE_READ',
152
+ 'TABLE_WRITE',
153
+ 'DBOBJ_CREATE',
154
+ 'DBOBJ_DELETE',
155
+ 'DB_MANAGE',
156
+ 'DB_OWNER',
157
+ 'VIEW_EXEC',
158
+ 'SCRIPT_EXEC',
159
+ 'TEST_EXEC',
160
+ // hint
161
+ // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/s/sql.html
162
+ 'HINT_HASH',
163
+ 'HINT_SNAPSHOT',
164
+ 'HINT_KEEPORDER',
165
+ 'HINT_SEQ',
166
+ 'HINT_EXPLAIN',
167
+ // --- seek mode
168
+ 'HEAD',
169
+ 'CURRENT',
170
+ 'TAIL',
171
+ // --- chart type
172
+ // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/p/plot.html
173
+ 'LINE',
174
+ 'PIE',
175
+ 'COLUMN',
176
+ 'BAR',
177
+ 'AREA',
178
+ 'SCATTER',
179
+ 'HISTOGRAM',
180
+ // keep duplicates
181
+ // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/c/createPartitionedTable.html?highlight=first
182
+ 'FIRST',
183
+ 'LAST',
184
+ 'ALL',
185
+ // keep
186
+ // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/i/isDuplicated.html?highlight=none
187
+ 'NONE',
188
+ // unknown
189
+ 'DICT',
190
+ 'HASH_PTN',
191
+ // 仅 Python 有的
192
+ 'True',
193
+ 'False',
194
+ 'None',
195
+ ];
196
+ exports.tm_language = {
197
+ '$schema': 'https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json',
198
+ name: 'DolphinDB',
199
+ scopeName: 'source.dolphindb',
200
+ patterns: [
201
+ {
202
+ match: '\\.\\.\\.',
203
+ name: 'invalid.ellipsis.dolphindb'
204
+ },
205
+ {
206
+ include: '#keyword'
207
+ },
208
+ {
209
+ include: '#literal'
210
+ },
211
+ {
212
+ include: '#comment'
213
+ },
214
+ {
215
+ include: '#decorator'
216
+ },
217
+ {
218
+ include: '#variable'
219
+ },
220
+ {
221
+ include: '#operator'
222
+ },
223
+ {
224
+ include: '#method_call'
225
+ },
226
+ {
227
+ include: '#function_call'
228
+ },
229
+ {
230
+ include: '#property'
231
+ },
232
+ {
233
+ match: ';',
234
+ name: 'punctuation.terminator.statement.dolphindb'
235
+ },
236
+ {
237
+ match: ',',
238
+ name: 'punctuation.separator.commma.dolphindb'
239
+ }
240
+ ],
241
+ repository: {
242
+ keyword: {
243
+ // \b: word boundary
244
+ // (?<![.$]): boundary 不是 . 或 $
245
+ // ?!\s*: 不是 label
246
+ match: `\\b(?<![.$])(${exports.keywords.join('|')})(?!\\s*:)\\b`,
247
+ name: 'keyword.control.dolphindb'
248
+ },
249
+ literal: {
250
+ patterns: [
251
+ { include: '#constant' },
252
+ { include: '#datetime' },
253
+ { include: '#string' },
254
+ { include: '#number' },
255
+ ]
256
+ },
257
+ constant: {
258
+ match: `\\b(?<![.$])(${exports.constants.join('|')})(?!\\s*:)\\b`,
259
+ name: 'constant.language.int.dolphindb'
260
+ },
261
+ decorator: {
262
+ match: '^@testing',
263
+ name: 'meta.decorator.dolphindb',
264
+ },
265
+ datetime: {
266
+ patterns: [
267
+ {
268
+ match: '\\b[0-9]{4}[.][0-9]{2}[.][0-9]{2}[T ][0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{3,9})?\\b',
269
+ name: 'constant.numeric.datetime.datetime.dolphindb',
270
+ },
271
+ {
272
+ match: '\\b[0-9]{4}\\.[0-9]{2}M\\b',
273
+ name: 'constant.numeric.datetime.month.dolphindb',
274
+ },
275
+ {
276
+ match: '\\b[0-9]{4}\\.[0-9]{2}\\.[0-9]{2}\\b',
277
+ name: 'constant.numeric.datetime.date.dolphindb',
278
+ },
279
+ {
280
+ match: '\\b[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{3,9})?\\b',
281
+ name: 'constant.numeric.datetime.time.dolphindb',
282
+ },
283
+ {
284
+ match: '\\b[0-9]{2}:[0-9]{2}m\\b',
285
+ name: 'constant.numeric.datetime.minute.dolphindb',
286
+ },
287
+ ]
288
+ },
289
+ string: {
290
+ patterns: [
291
+ {
292
+ include: '#string_single_quoted'
293
+ },
294
+ {
295
+ include: '#string_double_quoted'
296
+ },
297
+ {
298
+ begin: "'''",
299
+ beginCaptures: {
300
+ 0: {
301
+ name: 'punctuation.definition.string.begin.dolphindb'
302
+ }
303
+ },
304
+ end: "'''",
305
+ endCaptures: {
306
+ 0: {
307
+ name: 'punctuation.definition.string.end.dolphindb'
308
+ }
309
+ },
310
+ name: 'string.quoted.single.heredoc.dolphindb',
311
+ patterns: [
312
+ {
313
+ captures: {
314
+ 1: {
315
+ name: 'punctuation.definition.escape.backslash.dolphindb'
316
+ }
317
+ },
318
+ match: '(\\\\).',
319
+ name: 'constant.character.escape.backslash.dolphindb'
320
+ }
321
+ ]
322
+ },
323
+ {
324
+ begin: '"""',
325
+ beginCaptures: {
326
+ 0: {
327
+ name: 'punctuation.definition.string.begin.dolphindb'
328
+ }
329
+ },
330
+ end: '"""',
331
+ endCaptures: {
332
+ 0: {
333
+ name: 'punctuation.definition.string.end.dolphindb'
334
+ }
335
+ },
336
+ name: 'string.quoted.double.heredoc.dolphindb',
337
+ patterns: [
338
+ {
339
+ captures: {
340
+ 1: {
341
+ name: 'punctuation.definition.escape.backslash.dolphindb'
342
+ }
343
+ },
344
+ match: '(\\\\).',
345
+ name: 'constant.character.escape.backslash.dolphindb'
346
+ },
347
+ {
348
+ include: '#interpolated_dolphindb'
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ match: '`[\\w@]+',
354
+ name: 'string.quoted.other.dolphindb'
355
+ },
356
+ {
357
+ match: '(`)(.*)(`)',
358
+ name: 'string.quoted.script.dolphindb',
359
+ captures: {
360
+ 1: {
361
+ name: 'punctuation.definition.string.begin.dolphindb'
362
+ },
363
+ 2: {
364
+ name: 'source.js.embedded.dolphindb',
365
+ patterns: [
366
+ {
367
+ include: 'source.js'
368
+ }
369
+ ]
370
+ },
371
+ 3: {
372
+ name: 'punctuation.definition.string.end.dolphindb'
373
+ }
374
+ }
375
+ }
376
+ ]
377
+ },
378
+ number: {
379
+ patterns: [
380
+ {
381
+ match: '\\b[01]+[bB]\\b',
382
+ name: 'constant.numeric.binary.dolphindb'
383
+ },
384
+ {
385
+ // 97c
386
+ match: '\\b[0-9]+([clhsmyM]|ms)\\b',
387
+ name: 'constant.numeric.dolphindb'
388
+ },
389
+ {
390
+ // 1.2f
391
+ match: '\\b[0-9]+\\.[0-9]+f\\b',
392
+ name: 'constant.numeric.dolphindb'
393
+ },
394
+ {
395
+ match: '(?x)\n' +
396
+ '(?:\n' +
397
+ ' (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n' +
398
+ ' (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n' +
399
+ ' (?:\\b(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n' +
400
+ ' (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n' +
401
+ ' (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n' +
402
+ ' (?:\\b[0-9]+(?=\\.{2,3}))| # 1 followed by a slice\n' +
403
+ ' (?:\\b[0-9]+(\\.)\\b)| # 1.\n' +
404
+ ' (?:\\b(\\.)[0-9]+\\b)| # .1\n' +
405
+ ' (?:\\b[0-9]+\\b(?!\\.)) # 1\n' +
406
+ ')\n',
407
+ captures: {
408
+ 0: {
409
+ name: 'constant.numeric.decimal.dolphindb'
410
+ },
411
+ 1: {
412
+ name: 'punctuation.separator.decimal.period.dolphindb'
413
+ },
414
+ 2: {
415
+ name: 'punctuation.separator.decimal.period.dolphindb'
416
+ },
417
+ 3: {
418
+ name: 'punctuation.separator.decimal.period.dolphindb'
419
+ },
420
+ 4: {
421
+ name: 'punctuation.separator.decimal.period.dolphindb'
422
+ },
423
+ 5: {
424
+ name: 'punctuation.separator.decimal.period.dolphindb'
425
+ },
426
+ 6: {
427
+ name: 'punctuation.separator.decimal.period.dolphindb'
428
+ }
429
+ }
430
+ },
431
+ ]
432
+ },
433
+ string_single_quoted: {
434
+ patterns: [
435
+ {
436
+ begin: "'",
437
+ beginCaptures: {
438
+ 0: {
439
+ name: 'punctuation.definition.string.begin.dolphindb'
440
+ }
441
+ },
442
+ end: "'",
443
+ endCaptures: {
444
+ 0: {
445
+ name: 'punctuation.definition.string.end.dolphindb'
446
+ }
447
+ },
448
+ name: 'string.quoted.single.dolphindb',
449
+ patterns: [
450
+ {
451
+ captures: {
452
+ 1: {
453
+ name: 'punctuation.definition.escape.backslash.dolphindb'
454
+ }
455
+ },
456
+ match: '(\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)',
457
+ name: 'constant.character.escape.backslash.dolphindb'
458
+ }
459
+ ]
460
+ }
461
+ ]
462
+ },
463
+ string_double_quoted: {
464
+ patterns: [
465
+ {
466
+ begin: '"',
467
+ beginCaptures: {
468
+ 0: {
469
+ name: 'punctuation.definition.string.begin.dolphindb'
470
+ }
471
+ },
472
+ end: '"',
473
+ endCaptures: {
474
+ 0: {
475
+ name: 'punctuation.definition.string.end.dolphindb'
476
+ }
477
+ },
478
+ name: 'string.quoted.double.dolphindb',
479
+ patterns: [
480
+ {
481
+ captures: {
482
+ 1: {
483
+ name: 'punctuation.definition.escape.backslash.dolphindb'
484
+ }
485
+ },
486
+ match: '(\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)',
487
+ name: 'constant.character.escape.backslash.dolphindb'
488
+ },
489
+ {
490
+ include: '#interpolated_dolphindb'
491
+ }
492
+ ]
493
+ }
494
+ ]
495
+ },
496
+ function_call: {
497
+ patterns: [
498
+ {
499
+ begin: '(@)?([\\w$]+!?)\\s*(?=\\()',
500
+ beginCaptures: {
501
+ 1: {
502
+ name: 'variable.other.readwrite.instance.dolphindb'
503
+ },
504
+ 2: {
505
+ patterns: [
506
+ {
507
+ include: '#function_name'
508
+ }
509
+ ]
510
+ }
511
+ },
512
+ end: '(?<=\\))',
513
+ name: 'meta.function-call.dolphindb',
514
+ patterns: [
515
+ {
516
+ include: '#arguments'
517
+ }
518
+ ]
519
+ }
520
+ ]
521
+ },
522
+ function_name: {
523
+ patterns: [
524
+ {
525
+ match: '[a-zA-Z_$][\\w$]*',
526
+ name: 'entity.name.function.dolphindb'
527
+ },
528
+ {
529
+ match: '\\d[\\w$]*',
530
+ name: 'invalid.illegal.identifier.dolphindb'
531
+ }
532
+ ]
533
+ },
534
+ function_params: {
535
+ patterns: [
536
+ {
537
+ begin: '\\(',
538
+ beginCaptures: {
539
+ 0: {
540
+ name: 'punctuation.definition.parameters.begin.bracket.round.dolphindb'
541
+ }
542
+ },
543
+ end: '\\)',
544
+ endCaptures: {
545
+ 0: {
546
+ name: 'punctuation.definition.parameters.end.bracket.round.dolphindb'
547
+ }
548
+ },
549
+ name: 'meta.parameters.dolphindb',
550
+ patterns: [
551
+ {
552
+ include: '#variable'
553
+ },
554
+ {
555
+ match: '(@(?:[a-zA-Z_$][\\w$]*)?)(\\.\\.\\.)?',
556
+ captures: {
557
+ 1: {
558
+ name: 'variable.parameter.function.readwrite.instance.dolphindb'
559
+ },
560
+ 2: {
561
+ name: 'keyword.operator.splat.dolphindb'
562
+ }
563
+ }
564
+ },
565
+ {
566
+ include: '$self'
567
+ }
568
+ ]
569
+ }
570
+ ]
571
+ },
572
+ comment: {
573
+ patterns: [
574
+ {
575
+ begin: '/\\*',
576
+ beginCaptures: {
577
+ 0: {
578
+ name: 'punctuation.definition.comment.dolphindb'
579
+ }
580
+ },
581
+ end: '\\*/',
582
+ endCaptures: {
583
+ 0: {
584
+ name: 'punctuation.definition.comment.dolphindb'
585
+ }
586
+ },
587
+ name: 'comment.block.dolphindb'
588
+ },
589
+ {
590
+ begin: '//',
591
+ beginCaptures: {
592
+ 0: {
593
+ name: 'punctuation.definition.comment.dolphindb'
594
+ }
595
+ },
596
+ end: '$',
597
+ name: 'comment.line.number-sign.dolphindb'
598
+ },
599
+ {
600
+ begin: '#',
601
+ beginCaptures: {
602
+ 0: {
603
+ name: 'punctuation.definition.comment.dolphindb'
604
+ }
605
+ },
606
+ end: '$',
607
+ name: 'comment.line.number-sign.dolphindb'
608
+ }
609
+ ]
610
+ },
611
+ arguments: {
612
+ patterns: [
613
+ {
614
+ begin: '\\(',
615
+ beginCaptures: {
616
+ 0: {
617
+ name: 'punctuation.definition.arguments.begin.bracket.round.dolphindb'
618
+ }
619
+ },
620
+ end: '\\)',
621
+ endCaptures: {
622
+ 0: {
623
+ name: 'punctuation.definition.arguments.end.bracket.round.dolphindb'
624
+ }
625
+ },
626
+ name: 'meta.arguments.dolphindb',
627
+ patterns: [
628
+ {
629
+ include: '$self'
630
+ },
631
+ {
632
+ include: '#literal'
633
+ },
634
+ {
635
+ include: '#variable'
636
+ }
637
+ ]
638
+ }
639
+ ]
640
+ },
641
+ variable: {
642
+ patterns: [
643
+ {
644
+ match: '(@)([a-zA-Z_\\$]\\w*)?',
645
+ name: 'variable.other.readwrite.instance.dolphindb'
646
+ }
647
+ ]
648
+ },
649
+ interpolated_dolphindb: {
650
+ patterns: [
651
+ {
652
+ begin: '\\#\\{',
653
+ captures: {
654
+ 0: {
655
+ name: 'punctuation.section.embedded.dolphindb'
656
+ }
657
+ },
658
+ end: '\\}',
659
+ name: 'source.dolphindb.embedded.source',
660
+ patterns: [
661
+ {
662
+ include: '$self'
663
+ }
664
+ ]
665
+ }
666
+ ]
667
+ },
668
+ method_call: {
669
+ patterns: [
670
+ {
671
+ begin: '(?:(\\.)|(::))\\s*([\\w$]+!?)(?=\\()',
672
+ beginCaptures: {
673
+ 1: {
674
+ name: 'punctuation.separator.method.period.dolphindb'
675
+ },
676
+ 2: {
677
+ name: 'keyword.operator.prototype.dolphindb'
678
+ },
679
+ 3: {
680
+ patterns: [
681
+ {
682
+ include: '#method_name'
683
+ }
684
+ ]
685
+ }
686
+ },
687
+ end: '(?<=\\))',
688
+ name: 'meta.method-call.dolphindb',
689
+ patterns: [
690
+ {
691
+ include: '#arguments'
692
+ }
693
+ ]
694
+ }
695
+ ]
696
+ },
697
+ method_name: {
698
+ patterns: [
699
+ {
700
+ match: '[a-zA-Z_$][\\w$]*',
701
+ name: 'entity.name.function.dolphindb'
702
+ },
703
+ {
704
+ match: '\\d[\\w$]*',
705
+ name: 'invalid.illegal.identifier.dolphindb'
706
+ }
707
+ ]
708
+ },
709
+ operator: {
710
+ patterns: [
711
+ {
712
+ match: '<<|>>',
713
+ name: 'keyword.operator.bitwise.shift.dolphindb'
714
+ },
715
+ {
716
+ match: '!=|<=|>=|==',
717
+ name: 'keyword.operator.comparison.dolphindb'
718
+ },
719
+ {
720
+ match: '&&|!|\\|\\|',
721
+ name: 'keyword.operator.logical.dolphindb'
722
+ },
723
+ {
724
+ match: '&|\\||\\^',
725
+ name: 'keyword.operator.bitwise.dolphindb'
726
+ },
727
+ {
728
+ match: '\\.\\.',
729
+ name: 'keyword.operator.splat.dolphindb'
730
+ },
731
+ {
732
+ match: '\\?',
733
+ name: 'keyword.operator.existential.dolphindb'
734
+ },
735
+ {
736
+ match: '/|<-|%|\\*|/|-|\\$|\\+',
737
+ name: 'keyword.operator.dolphindb'
738
+ },
739
+ {
740
+ match: '([a-zA-Z$_][\\w$]*)?\\s*(=|:(?!:))(?![>=])',
741
+ captures: {
742
+ 1: {
743
+ name: 'variable.assignment.dolphindb'
744
+ },
745
+ 2: {
746
+ name: 'keyword.operator.assignment.dolphindb'
747
+ }
748
+ }
749
+ }
750
+ ]
751
+ },
752
+ property: {
753
+ patterns: [
754
+ {
755
+ match: '(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))',
756
+ captures: {
757
+ 1: {
758
+ name: 'punctuation.separator.property.period.dolphindb'
759
+ },
760
+ 2: {
761
+ name: 'keyword.operator.prototype.dolphindb'
762
+ },
763
+ 3: {
764
+ name: 'constant.other.object.property.dolphindb'
765
+ }
766
+ }
767
+ },
768
+ {
769
+ match: '(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))',
770
+ captures: {
771
+ 1: {
772
+ name: 'punctuation.separator.property.period.dolphindb'
773
+ },
774
+ 2: {
775
+ name: 'keyword.operator.prototype.dolphindb'
776
+ },
777
+ 3: {
778
+ name: 'variable.other.object.property.dolphindb'
779
+ }
780
+ }
781
+ },
782
+ {
783
+ match: '(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)',
784
+ captures: {
785
+ 1: {
786
+ name: 'punctuation.separator.property.period.dolphindb'
787
+ },
788
+ 2: {
789
+ name: 'keyword.operator.prototype.dolphindb'
790
+ },
791
+ 3: {
792
+ name: 'constant.other.property.dolphindb'
793
+ }
794
+ }
795
+ },
796
+ {
797
+ match: '(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)',
798
+ captures: {
799
+ 1: {
800
+ name: 'punctuation.separator.property.period.dolphindb'
801
+ },
802
+ 2: {
803
+ name: 'keyword.operator.prototype.dolphindb'
804
+ },
805
+ 3: {
806
+ name: 'variable.other.property.dolphindb'
807
+ }
808
+ }
809
+ },
810
+ {
811
+ match: '(?:(\\.)|(::))\\s*([0-9][\\w$]*)',
812
+ captures: {
813
+ 1: {
814
+ name: 'punctuation.separator.property.period.dolphindb'
815
+ },
816
+ 2: {
817
+ name: 'keyword.operator.prototype.dolphindb'
818
+ },
819
+ 3: {
820
+ name: 'invalid.illegal.identifier.dolphindb'
821
+ }
822
+ }
823
+ }
824
+ ]
825
+ }
826
+ }
827
+ };
828
+ //# sourceMappingURL=language.js.map