dolphindb 2.0.1016 → 2.0.1018
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/docs.en.json +7 -3
- package/docs.zh.json +6 -4
- package/language.js +22 -59
- package/language.js.map +1 -1
- package/package.json +2 -2
package/docs.en.json
CHANGED
|
@@ -60609,12 +60609,14 @@
|
|
|
60609
60609
|
{
|
|
60610
60610
|
"title": "Arguments",
|
|
60611
60611
|
"type": "parameters",
|
|
60612
|
+
"children": []
|
|
60613
|
+
},
|
|
60614
|
+
{
|
|
60615
|
+
"title": "Note",
|
|
60612
60616
|
"children": [
|
|
60613
60617
|
{
|
|
60614
60618
|
"type": "text",
|
|
60615
60619
|
"value": [
|
|
60616
|
-
"`func` is an aggregate function.",
|
|
60617
|
-
"",
|
|
60618
60620
|
"`funcArgs` are the parameters of `func`. They can be vectors/dictionaries/tables. It is a tuple if there are more than one parameter of `func`, and all parameters must have the same size.",
|
|
60619
60621
|
"",
|
|
60620
60622
|
"`window` is the moving window size.",
|
|
@@ -94110,8 +94112,10 @@
|
|
|
94110
94112
|
{
|
|
94111
94113
|
"type": "text",
|
|
94112
94114
|
"value": [
|
|
94113
|
-
"
|
|
94115
|
+
"Regarding the NULL value handling, the differences between DolphinDB's built-in moving functions and Python TA-lib lie in:",
|
|
94114
94116
|
"",
|
|
94117
|
+
"- DolphinDB moving functions: The calculation in the sliding window starts from the first element.",
|
|
94118
|
+
"- Python TA-lib: Keep the NULL values at the beginning of data in the output. The calculation in the sliding window starts from the first non-NULL value.",
|
|
94115
94119
|
"",
|
|
94116
94120
|
"To process data starting with consecutive NULL values in the same way as Python TA-Lib, you can call DolphinDB built-in functions with the higher-order function ``talib``. "
|
|
94117
94121
|
]
|
package/docs.zh.json
CHANGED
|
@@ -63844,12 +63844,14 @@
|
|
|
63844
63844
|
{
|
|
63845
63845
|
"title": "参数",
|
|
63846
63846
|
"type": "parameters",
|
|
63847
|
+
"children": []
|
|
63848
|
+
},
|
|
63849
|
+
{
|
|
63850
|
+
"title": "注意",
|
|
63847
63851
|
"children": [
|
|
63848
63852
|
{
|
|
63849
63853
|
"type": "text",
|
|
63850
63854
|
"value": [
|
|
63851
|
-
"`func` 是一个聚合函数。",
|
|
63852
|
-
"",
|
|
63853
63855
|
"`funcArgs` 是函数func的参数。可为向量、字典或表。如果有多个参数,则用元组表示,并且每个参数的长度(向量/字典的元素个数或表的行数)必须相同。",
|
|
63854
63856
|
"",
|
|
63855
63857
|
"`window` 是正整型 或 DURATION 标量。",
|
|
@@ -63874,7 +63876,7 @@
|
|
|
63874
63876
|
"value": [
|
|
63875
63877
|
"应用函数/运算符到给定对象的一个滚动窗口上。",
|
|
63876
63878
|
"",
|
|
63877
|
-
"``moving``
|
|
63879
|
+
"``moving`` 高阶函数总是返回一个向量,长度与输入参数的长度相同。当第一个滑动窗口出现时高阶函数开始计算,每计算一次,滑动窗口向右移动一个元素。",
|
|
63878
63880
|
"",
|
|
63879
63881
|
"内置函数 :doc:`/FunctionsandCommands/FunctionReferences/m/msum`, :doc:`/FunctionsandCommands/FunctionReferences/m/mcount` 和 :doc:`/FunctionsandCommands/FunctionReferences/m/mavg` 为各自的计算场景进行了优化,因此比 ``moving`` 高阶函数有更好的性能。"
|
|
63880
63882
|
]
|
|
@@ -88965,7 +88967,7 @@
|
|
|
88965
88967
|
{
|
|
88966
88968
|
"type": "text",
|
|
88967
88969
|
"value": [
|
|
88968
|
-
"`memSize` 一个数值型标量,且必须大于0且小于 *maxMemSize* * 0.75。"
|
|
88970
|
+
"`memSize` 一个数值型标量,且必须大于0且小于 *maxMemSize* * 0.75。单位为 GB。"
|
|
88969
88971
|
]
|
|
88970
88972
|
}
|
|
88971
88973
|
]
|
package/language.js
CHANGED
|
@@ -248,6 +248,7 @@ export const constants = [
|
|
|
248
248
|
'False',
|
|
249
249
|
'None',
|
|
250
250
|
];
|
|
251
|
+
const func_name_pattern = '[^\\d\\W]\\w*!?';
|
|
251
252
|
function get_tm_language(python = false) {
|
|
252
253
|
return {
|
|
253
254
|
$schema: 'https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json',
|
|
@@ -532,37 +533,40 @@ function get_tm_language(python = false) {
|
|
|
532
533
|
function_call: {
|
|
533
534
|
patterns: [
|
|
534
535
|
{
|
|
535
|
-
begin:
|
|
536
|
+
begin: `(@)?(${func_name_pattern})\\s*(?=\\()`,
|
|
536
537
|
beginCaptures: {
|
|
537
|
-
1: {
|
|
538
|
-
|
|
539
|
-
},
|
|
540
|
-
2: {
|
|
541
|
-
patterns: [
|
|
542
|
-
{
|
|
543
|
-
include: '#function_name'
|
|
544
|
-
}
|
|
545
|
-
]
|
|
546
|
-
}
|
|
538
|
+
1: { name: 'variable.other.readwrite.instance.dolphindb' },
|
|
539
|
+
2: { patterns: [{ include: '#function_name' }] }
|
|
547
540
|
},
|
|
548
541
|
end: '(?<=\\))',
|
|
549
542
|
name: 'meta.function-call.dolphindb',
|
|
550
|
-
patterns: [
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
543
|
+
patterns: [{ include: '#arguments' }]
|
|
544
|
+
}
|
|
545
|
+
]
|
|
546
|
+
},
|
|
547
|
+
method_call: {
|
|
548
|
+
patterns: [
|
|
549
|
+
{
|
|
550
|
+
begin: `(?:(\\.)|(::))\\s*(${func_name_pattern})(?=\\()`,
|
|
551
|
+
beginCaptures: {
|
|
552
|
+
1: { name: 'punctuation.separator.method.period.dolphindb' },
|
|
553
|
+
2: { name: 'keyword.operator.prototype.dolphindb' },
|
|
554
|
+
3: { patterns: [{ include: '#function_name' }] }
|
|
555
|
+
},
|
|
556
|
+
end: '(?<=\\))',
|
|
557
|
+
name: 'meta.method-call.dolphindb',
|
|
558
|
+
patterns: [{ include: '#arguments' }]
|
|
555
559
|
}
|
|
556
560
|
]
|
|
557
561
|
},
|
|
558
562
|
function_name: {
|
|
559
563
|
patterns: [
|
|
560
564
|
{
|
|
561
|
-
match:
|
|
565
|
+
match: func_name_pattern,
|
|
562
566
|
name: 'entity.name.function.dolphindb'
|
|
563
567
|
},
|
|
564
568
|
{
|
|
565
|
-
match: '\\d[\\w
|
|
569
|
+
match: '\\d[\\w]*',
|
|
566
570
|
name: 'invalid.illegal.identifier.dolphindb'
|
|
567
571
|
}
|
|
568
572
|
]
|
|
@@ -702,47 +706,6 @@ function get_tm_language(python = false) {
|
|
|
702
706
|
}
|
|
703
707
|
]
|
|
704
708
|
},
|
|
705
|
-
method_call: {
|
|
706
|
-
patterns: [
|
|
707
|
-
{
|
|
708
|
-
begin: '(?:(\\.)|(::))\\s*([\\w$]+!?)(?=\\()',
|
|
709
|
-
beginCaptures: {
|
|
710
|
-
1: {
|
|
711
|
-
name: 'punctuation.separator.method.period.dolphindb'
|
|
712
|
-
},
|
|
713
|
-
2: {
|
|
714
|
-
name: 'keyword.operator.prototype.dolphindb'
|
|
715
|
-
},
|
|
716
|
-
3: {
|
|
717
|
-
patterns: [
|
|
718
|
-
{
|
|
719
|
-
include: '#method_name'
|
|
720
|
-
}
|
|
721
|
-
]
|
|
722
|
-
}
|
|
723
|
-
},
|
|
724
|
-
end: '(?<=\\))',
|
|
725
|
-
name: 'meta.method-call.dolphindb',
|
|
726
|
-
patterns: [
|
|
727
|
-
{
|
|
728
|
-
include: '#arguments'
|
|
729
|
-
}
|
|
730
|
-
]
|
|
731
|
-
}
|
|
732
|
-
]
|
|
733
|
-
},
|
|
734
|
-
method_name: {
|
|
735
|
-
patterns: [
|
|
736
|
-
{
|
|
737
|
-
match: '[a-zA-Z_$][\\w$]*',
|
|
738
|
-
name: 'entity.name.function.dolphindb'
|
|
739
|
-
},
|
|
740
|
-
{
|
|
741
|
-
match: '\\d[\\w$]*',
|
|
742
|
-
name: 'invalid.illegal.identifier.dolphindb'
|
|
743
|
-
}
|
|
744
|
-
]
|
|
745
|
-
},
|
|
746
709
|
operator: {
|
|
747
710
|
patterns: [
|
|
748
711
|
{
|
package/language.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["language.ts"],"names":[],"mappings":"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","sourcesContent":["const sql_keywords = [\n // 不要单独算关键字比较好\n // 'column',\n // 'table',\n // 'database',\n \n 'select',\n 'exec',\n 'update',\n \n 'insert',\n 'insert into',\n \n 'create table',\n 'create database',\n \n 'alter table',\n \n // alter table ... add column_name datatype\n 'add',\n 'rename',\n 'to',\n 'drop',\n \n \n 'drop table',\n 'drop database',\n \n 'delete',\n \n 'transaction',\n \n 'join',\n 'inner join',\n 'full join',\n 'full outer join',\n 'left join',\n 'left outer join',\n 'left semi join',\n 'right join',\n 'right outer join',\n 'left semijoin',\n 'cross join',\n \n 'context by',\n 'partitioned by',\n 'group by',\n 'pivot by',\n 'order by',\n 'cgroup by',\n 'partition by',\n \n 'csort',\n 'limit',\n 'top',\n \n 'into',\n 'from',\n 'where',\n 'having',\n 'with',\n 'set',\n 'as',\n 'in',\n 'or',\n 'not',\n 'on',\n 'like',\n 'values',\n 'if',\n 'exists',\n 'distinct',\n 'map',\n \n \n 'between', 'and', // between ... and ...\n \n 'is null', 'is not null',\n \n // case when ... then ... end\n 'case', 'when', 'then', 'else', 'end',\n \n 'union', 'union all',\n \n 'nulls first', 'nulls last',\n \n 'asc', 'desc',\n]\n\n\nexport const keywords = [\n 'assert',\n \n 'const',\n 'mutable',\n \n 'def',\n 'defg',\n \n // 'map',\n 'mapr',\n \n 'timer',\n \n // 流程控制\n // 'if',\n // 'else',\n 'do',\n 'for',\n 'while',\n 'return',\n 'continue',\n 'break',\n 'try',\n 'catch',\n 'throw',\n 'go',\n \n // 模块\n 'use',\n 'module',\n \n \n // 仅 Python 有的\n 'async',\n 'await',\n 'class',\n 'del',\n 'elif',\n 'except',\n 'finally',\n 'global',\n 'import',\n 'is',\n 'lambda',\n 'nonlocal',\n 'pass',\n 'raise',\n 'yield',\n \n \n // --- SQL\n ... sql_keywords,\n ... sql_keywords.map(keyword => keyword.toUpperCase())\n].sort((l, r) => { // 长的在前面,正则表达式先匹配全部,而不是部分单词,防止高亮显示不正确\n const delta_len = l.length - r.length\n if (delta_len !== 0)\n return -delta_len\n \n return 0 // 否则保留原本顺序\n})\n\n\nexport const constants = [\n 'NULL',\n 'true',\n 'false',\n 'pi',\n 'e',\n \n // --- form\n 'SCALAR',\n 'VECTOR',\n 'PAIR',\n 'MATRIX',\n 'SET',\n 'DICT',\n 'TABLE',\n // 'CHART',\n // 'CHUNK',\n \n // --- type\n 'VOID',\n 'BOOL',\n 'CHAR',\n 'SHORT',\n 'INT', 'INDEX',\n 'LONG',\n 'DATE',\n 'MONTH',\n 'TIME',\n 'MINUTE',\n 'SECOND',\n 'DATETIME',\n 'TIMESTAMP',\n 'NANOTIME',\n 'NANOTIMESTAMP',\n 'FLOAT',\n 'DOUBLE',\n 'SYMBOL',\n 'STRING',\n 'UUID',\n 'FUNCTIONDEF',\n 'HANDLE',\n 'CODE',\n 'DATASOURCE',\n 'RESOURCE',\n 'ANY',\n // 'COMPRESS',\n 'DICTIONARY',\n 'DATEHOUR',\n 'IPADDR',\n 'INT128',\n 'BLOB',\n 'COMPLEX',\n 'POINT',\n 'DURATION',\n 'OBJECT',\n 'DECIMAL32',\n 'DECIMAL64',\n 'DECIMAL128',\n \n // partition type\n 'SEQ',\n 'RANGE',\n 'HASH',\n 'VALUE',\n 'LIST',\n 'COMPO',\n \n \n // defined\n // https://www.dolphindb.cn/cn/help/FunctionsandCommands/FunctionReferences/d/defined.html\n 'VAR',\n 'SHARED',\n 'DEF',\n 'GLOBAL',\n \n \n // 用户权限管理\n // https://www.dolphindb.cn/cn/help/200/SystemManagement/UserAccessControl.html\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/CommandsReferences/d/deny.html\n 'TABLE_READ',\n 'TABLE_WRITE',\n 'TABLE_INSERT',\n 'TABLE_UPDATE',\n 'TABLE_DELETE',\n \n 'DBOBJ_CREATE',\n 'DBOBJ_DELETE',\n \n 'DB_DELETE',\n 'DB_INSERT',\n 'DB_MANAGE',\n 'DB_OWNER',\n 'DB_READ',\n 'DB_UPDATE',\n 'DB_WRITE',\n \n 'SCRIPT_EXEC',\n 'TASK_GROUP_MEM_LIMIT',\n 'TEST_EXEC',\n 'VIEW_EXEC',\n 'QUERY_RESULT_MEM_LIMIT',\n \n \n // hint\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/s/sql.html\n 'HINT_HASH',\n 'HINT_SNAPSHOT',\n 'HINT_KEEPORDER',\n 'HINT_SEQ',\n 'HINT_EXPLAIN',\n 'HINT_VECTORIZED',\n \n \n // --- seek mode\n 'HEAD',\n 'CURRENT',\n 'TAIL',\n \n // --- chart type\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/p/plot.html\n 'LINE',\n 'PIE',\n 'COLUMN',\n 'BAR',\n 'AREA',\n 'SCATTER',\n 'HISTOGRAM',\n 'KLINE',\n \n \n // --- log level\n 'DEBUG',\n 'INFO',\n 'WARNING',\n 'ERROR',\n \n // keep duplicates\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/c/createPartitionedTable.html?highlight=first\n 'FIRST',\n 'LAST',\n 'ALL',\n \n // keep\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/i/isDuplicated.html?highlight=none\n 'NONE',\n \n 'HASH_PTN',\n \n // 仅 Python 有的\n 'True',\n 'False',\n 'None',\n \n] as const\n\n\n\nfunction get_tm_language (python = false) {\n return {\n $schema: 'https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json',\n \n name: python ? 'DolphinDB Python' : 'DolphinDB',\n \n scopeName: python ? 'source.dolphindb-python' : 'source.dolphindb',\n \n patterns: [\n {\n match: '\\\\.\\\\.\\\\.',\n name: 'invalid.ellipsis.dolphindb'\n },\n {\n include: '#keyword'\n },\n {\n include: '#literal'\n },\n {\n include: '#comment'\n },\n {\n include: '#decorator'\n },\n {\n include: '#variable'\n },\n {\n include: '#operator'\n },\n {\n include: '#method_call'\n },\n {\n include: '#function_call'\n },\n {\n include: '#property'\n },\n {\n match: ';',\n name: 'punctuation.terminator.statement.dolphindb'\n },\n {\n match: ',',\n name: 'punctuation.separator.commma.dolphindb'\n }\n ],\n \n \n repository: {\n keyword: {\n // \\b: word boundary\n // (?<![.$]): boundary 不是 . 或 $\n // ?!\\s*: 不是 label\n match: `\\\\b(?<![.$])(${keywords.join('|')})(?!(\\\\s*:|\\\\())\\\\b`,\n name: 'keyword.control.dolphindb'\n },\n \n literal: {\n patterns: [\n { include: '#constant' },\n { include: '#datetime' },\n { include: '#string' },\n { include: '#number' },\n ]\n },\n \n constant: {\n match: `\\\\b(?<![.$])(${constants.join('|')})(?!\\\\s*:)\\\\b`,\n name: 'constant.language.int.dolphindb'\n },\n \n decorator: {\n match: '^@testing',\n name: 'meta.decorator.dolphindb',\n },\n \n datetime: {\n patterns: [\n {\n 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',\n name: 'constant.numeric.datetime.datetime.dolphindb',\n },\n {\n match: '\\\\b[0-9]{4}\\\\.[0-9]{2}M\\\\b',\n name: 'constant.numeric.datetime.month.dolphindb',\n },\n {\n match: '\\\\b[0-9]{4}\\\\.[0-9]{2}\\\\.[0-9]{2}\\\\b',\n name: 'constant.numeric.datetime.date.dolphindb',\n },\n {\n match: '\\\\b[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{3,9})?\\\\b',\n name: 'constant.numeric.datetime.time.dolphindb',\n },\n {\n match: '\\\\b[0-9]{2}:[0-9]{2}m\\\\b',\n name: 'constant.numeric.datetime.minute.dolphindb',\n },\n ]\n },\n \n string: {\n patterns: [\n {\n include: '#string_single_quoted'\n },\n {\n include: '#string_double_quoted'\n },\n {\n begin: \"'''\",\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: \"'''\",\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.single.heredoc.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n match: '(\\\\\\\\).',\n name: 'constant.character.escape.backslash.dolphindb'\n }\n ]\n },\n {\n begin: '\"\"\"',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: '\"\"\"',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.double.heredoc.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n match: '(\\\\\\\\).',\n name: 'constant.character.escape.backslash.dolphindb'\n },\n {\n include: '#interpolated_dolphindb'\n }\n ]\n },\n {\n match: '`[\\\\w\\\\.]*',\n name: 'string.quoted.other.dolphindb'\n }\n ]\n },\n \n number: {\n patterns: [\n {\n match: '\\\\b[01]+[bB]\\\\b',\n name: 'constant.numeric.binary.dolphindb'\n },\n {\n // 97c\n match: '\\\\b[0-9]+([clhsmyM]|ms)\\\\b',\n name: 'constant.numeric.dolphindb'\n },\n {\n // 1.2f, 1f\n match: '\\\\b[0-9]+(\\\\.[0-9]+)?f\\\\b',\n name: 'constant.numeric.dolphindb'\n },\n {\n match: \n '(?x)\\n' +\n '(?:\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1.1E+3\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[eE][+-]?[0-9]+\\\\b)| # 1.E+3\\n' +\n ' (?:\\\\b(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # .1E+3\\n' +\n ' (?:\\\\b[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1E+3\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[0-9]+\\\\b)| # 1.1\\n' +\n ' (?:\\\\b[0-9]+(?=\\\\.{2,3}))| # 1 followed by a slice\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)\\\\b)| # 1.\\n' +\n ' (?:\\\\b(\\\\.)[0-9]+\\\\b)| # .1\\n' +\n ' (?:\\\\b[0-9]+\\\\b(?!\\\\.)) # 1\\n' +\n ')\\n',\n \n captures: {\n 0: {\n name: 'constant.numeric.decimal.dolphindb'\n },\n 1: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 2: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 3: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 4: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 5: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 6: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n }\n }\n },\n ]\n },\n \n string_single_quoted: {\n patterns: [\n {\n begin: \"'\",\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: \"'\",\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.single.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n 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]?|.)',\n name: 'constant.character.escape.backslash.dolphindb'\n }\n ]\n }\n ]\n },\n \n string_double_quoted: {\n patterns: [\n {\n begin: '\"',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: '\"',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.double.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n 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]?|.)',\n name: 'constant.character.escape.backslash.dolphindb'\n },\n {\n include: '#interpolated_dolphindb'\n }\n ]\n }\n ]\n },\n \n function_call: {\n patterns: [\n {\n begin: '(@)?([\\\\w$]+!?)\\\\s*(?=\\\\()',\n beginCaptures: {\n 1: {\n name: 'variable.other.readwrite.instance.dolphindb'\n },\n 2: {\n patterns: [\n {\n include: '#function_name'\n }\n ]\n }\n },\n end: '(?<=\\\\))',\n name: 'meta.function-call.dolphindb',\n patterns: [\n {\n include: '#arguments'\n }\n ]\n }\n ]\n },\n \n function_name: {\n patterns: [\n {\n match: '[a-zA-Z_$][\\\\w$]*',\n name: 'entity.name.function.dolphindb'\n },\n {\n match: '\\\\d[\\\\w$]*',\n name: 'invalid.illegal.identifier.dolphindb'\n }\n ]\n },\n \n function_params: {\n patterns: [\n {\n begin: '\\\\(',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.parameters.begin.bracket.round.dolphindb'\n }\n },\n end: '\\\\)',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.parameters.end.bracket.round.dolphindb'\n }\n },\n name: 'meta.parameters.dolphindb',\n patterns: [\n {\n include: '#variable'\n },\n {\n match: '(@(?:[a-zA-Z_$][\\\\w$]*)?)(\\\\.\\\\.\\\\.)?',\n captures: {\n 1: {\n name: 'variable.parameter.function.readwrite.instance.dolphindb'\n },\n 2: {\n name: 'keyword.operator.splat.dolphindb'\n }\n }\n },\n {\n include: '$self'\n }\n ]\n }\n ]\n },\n \n comment: {\n patterns: python ? [\n {\n begin: '#',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '$',\n name: 'comment.line.number-sign.dolphindb'\n }\n ] : [\n {\n begin: '/\\\\*',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '\\\\*/',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n name: 'comment.block.dolphindb'\n },\n {\n begin: '//',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '$',\n name: 'comment.line.number-sign.dolphindb'\n },\n ]\n },\n \n arguments: {\n patterns: [\n {\n begin: '\\\\(',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.arguments.begin.bracket.round.dolphindb'\n }\n },\n end: '\\\\)',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.arguments.end.bracket.round.dolphindb'\n }\n },\n name: 'meta.arguments.dolphindb',\n patterns: [\n {\n include: '$self'\n },\n {\n include: '#literal'\n },\n {\n include: '#variable'\n }\n ]\n }\n ]\n },\n \n variable: {\n patterns: [\n {\n match: '(@)([a-zA-Z_\\\\$]\\\\w*)?',\n name: 'variable.other.readwrite.instance.dolphindb'\n }\n ]\n },\n \n interpolated_dolphindb: {\n patterns: [\n {\n begin: '\\\\#\\\\{',\n captures: {\n 0: {\n name: 'punctuation.section.embedded.dolphindb'\n }\n },\n end: '\\\\}',\n name: 'source.dolphindb.embedded.source',\n patterns: [\n {\n include: '$self'\n }\n ]\n }\n ]\n },\n \n method_call: {\n patterns: [\n {\n begin: '(?:(\\\\.)|(::))\\\\s*([\\\\w$]+!?)(?=\\\\()',\n beginCaptures: {\n 1: {\n name: 'punctuation.separator.method.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n patterns: [\n {\n include: '#method_name'\n }\n ]\n }\n },\n end: '(?<=\\\\))',\n name: 'meta.method-call.dolphindb',\n patterns: [\n {\n include: '#arguments'\n }\n ]\n }\n ]\n },\n \n method_name: {\n patterns: [\n {\n match: '[a-zA-Z_$][\\\\w$]*',\n name: 'entity.name.function.dolphindb'\n },\n {\n match: '\\\\d[\\\\w$]*',\n name: 'invalid.illegal.identifier.dolphindb'\n }\n ]\n },\n \n operator: {\n patterns: [\n {\n match: '<<|>>',\n name: 'keyword.operator.bitwise.shift.dolphindb'\n },\n {\n match: '!=|<=|>=|==|>|<',\n name: 'keyword.operator.comparison.dolphindb'\n },\n {\n match: '<-|->',\n name: 'keyword.operator.join.dolphindb'\n },\n {\n match: '&&|!|\\\\|\\\\|',\n name: 'keyword.operator.logical.dolphindb'\n },\n {\n match: '&|\\\\||\\\\^',\n name: 'keyword.operator.bitwise.dolphindb'\n },\n {\n match: '\\\\.\\\\.',\n name: 'keyword.operator.splat.dolphindb'\n },\n {\n match: '\\\\?',\n name: 'keyword.operator.existential.dolphindb'\n },\n {\n match: '/|<-|%|\\\\*|/|-|\\\\$|\\\\+',\n name: 'keyword.operator.dolphindb'\n },\n {\n match: '([a-zA-Z$_][\\\\w$]*)?\\\\s*(=|:(?!:))(?![>=])',\n captures: {\n 1: {\n name: 'variable.assignment.dolphindb'\n },\n 2: {\n name: 'keyword.operator.assignment.dolphindb'\n }\n }\n }\n ]\n },\n \n property: {\n patterns: [\n {\n match: '(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'constant.other.object.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'variable.other.object.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'constant.other.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'variable.other.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*([0-9][\\\\w$]*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'invalid.illegal.identifier.dolphindb'\n }\n }\n }\n ]\n }\n }\n } as Block\n}\n\n\nexport const tm_language = get_tm_language(false)\n\nexport const tm_language_python = get_tm_language(true)\n\n\ninterface Block {\n patterns: Pattern[]\n repository?: Record<string, Pattern | Block>\n}\n\ntype Pattern = Match | Include | Block\n\ntype Match = MatchOne | MatchBeginEnd\n\ninterface MatchOne {\n /** a single-line regular expression */\n match: RegExp | string\n \n /** This is the scope that will be applied to the matched text */\n name?: string\n \n /** This use of the captures > patterns structure is extremely important. \n Without it, a stretch of text matched by a match rule is considered finished, and \n TextMate’s search proceeds to the rest of the line after the matched text. \n With it, the stretch of matched text itself becomes a candidate for further matches. \n */\n captures?: Captures\n}\n\ninterface MatchBeginEnd {\n begin: RegExp | string\n \n end: RegExp | string\n \n /** This is the scope (or an expression evaluating to a scope) to be applied to \n the entire matched stretch(es) of text starting at the start of the begin match.\n */\n name?: string\n \n /** This is the scope to be applied to what’s between the begin match and the end match (or the end of the document). */\n contentName?: string\n \n /** it applies to the region between the begin and end matches. */\n patterns?: Pattern[]\n \n beginCaptures?: Captures\n \n endCaptures?: Captures\n \n whileCaptures?: Captures\n \n /** If the name or number of the matched group happens to be the same for both the begin pattern and the other pattern, \n you can (if appropriate) use captures as a shorthand to avoid saying the same thing twice.\n */\n captures?: Captures\n \n applyEndPatternLast?: 1\n}\n\ninterface Include {\n include: string\n}\n\ntype Captures = Record<string | number, {\n /** This is the scope that will be assigned to the matched group text. */\n name?: string\n \n /** This is a list of match rules to be sought within the matched group text \n — thus permitting the search for matches to continue inside the matched text.\n */\n patterns?: Pattern[]\n}>\n\n"]}
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["language.ts"],"names":[],"mappings":"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","sourcesContent":["const sql_keywords = [\n // 不要单独算关键字比较好\n // 'column',\n // 'table',\n // 'database',\n \n 'select',\n 'exec',\n 'update',\n \n 'insert',\n 'insert into',\n \n 'create table',\n 'create database',\n \n 'alter table',\n \n // alter table ... add column_name datatype\n 'add',\n 'rename',\n 'to',\n 'drop',\n \n \n 'drop table',\n 'drop database',\n \n 'delete',\n \n 'transaction',\n \n 'join',\n 'inner join',\n 'full join',\n 'full outer join',\n 'left join',\n 'left outer join',\n 'left semi join',\n 'right join',\n 'right outer join',\n 'left semijoin',\n 'cross join',\n \n 'context by',\n 'partitioned by',\n 'group by',\n 'pivot by',\n 'order by',\n 'cgroup by',\n 'partition by',\n \n 'csort',\n 'limit',\n 'top',\n \n 'into',\n 'from',\n 'where',\n 'having',\n 'with',\n 'set',\n 'as',\n 'in',\n 'or',\n 'not',\n 'on',\n 'like',\n 'values',\n 'if',\n 'exists',\n 'distinct',\n 'map',\n \n \n 'between', 'and', // between ... and ...\n \n 'is null', 'is not null',\n \n // case when ... then ... end\n 'case', 'when', 'then', 'else', 'end',\n \n 'union', 'union all',\n \n 'nulls first', 'nulls last',\n \n 'asc', 'desc',\n]\n\n\nexport const keywords = [\n 'assert',\n \n 'const',\n 'mutable',\n \n 'def',\n 'defg',\n \n // 'map',\n 'mapr',\n \n 'timer',\n \n // 流程控制\n // 'if',\n // 'else',\n 'do',\n 'for',\n 'while',\n 'return',\n 'continue',\n 'break',\n 'try',\n 'catch',\n 'throw',\n 'go',\n \n // 模块\n 'use',\n 'module',\n \n \n // 仅 Python 有的\n 'async',\n 'await',\n 'class',\n 'del',\n 'elif',\n 'except',\n 'finally',\n 'global',\n 'import',\n 'is',\n 'lambda',\n 'nonlocal',\n 'pass',\n 'raise',\n 'yield',\n \n \n // --- SQL\n ... sql_keywords,\n ... sql_keywords.map(keyword => keyword.toUpperCase())\n].sort((l, r) => { // 长的在前面,正则表达式先匹配全部,而不是部分单词,防止高亮显示不正确\n const delta_len = l.length - r.length\n if (delta_len !== 0)\n return -delta_len\n \n return 0 // 否则保留原本顺序\n})\n\n\nexport const constants = [\n 'NULL',\n 'true',\n 'false',\n 'pi',\n 'e',\n \n // --- form\n 'SCALAR',\n 'VECTOR',\n 'PAIR',\n 'MATRIX',\n 'SET',\n 'DICT',\n 'TABLE',\n // 'CHART',\n // 'CHUNK',\n \n // --- type\n 'VOID',\n 'BOOL',\n 'CHAR',\n 'SHORT',\n 'INT', 'INDEX',\n 'LONG',\n 'DATE',\n 'MONTH',\n 'TIME',\n 'MINUTE',\n 'SECOND',\n 'DATETIME',\n 'TIMESTAMP',\n 'NANOTIME',\n 'NANOTIMESTAMP',\n 'FLOAT',\n 'DOUBLE',\n 'SYMBOL',\n 'STRING',\n 'UUID',\n 'FUNCTIONDEF',\n 'HANDLE',\n 'CODE',\n 'DATASOURCE',\n 'RESOURCE',\n 'ANY',\n // 'COMPRESS',\n 'DICTIONARY',\n 'DATEHOUR',\n 'IPADDR',\n 'INT128',\n 'BLOB',\n 'COMPLEX',\n 'POINT',\n 'DURATION',\n 'OBJECT',\n 'DECIMAL32',\n 'DECIMAL64',\n 'DECIMAL128',\n \n // partition type\n 'SEQ',\n 'RANGE',\n 'HASH',\n 'VALUE',\n 'LIST',\n 'COMPO',\n \n \n // defined\n // https://www.dolphindb.cn/cn/help/FunctionsandCommands/FunctionReferences/d/defined.html\n 'VAR',\n 'SHARED',\n 'DEF',\n 'GLOBAL',\n \n \n // 用户权限管理\n // https://www.dolphindb.cn/cn/help/200/SystemManagement/UserAccessControl.html\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/CommandsReferences/d/deny.html\n 'TABLE_READ',\n 'TABLE_WRITE',\n 'TABLE_INSERT',\n 'TABLE_UPDATE',\n 'TABLE_DELETE',\n \n 'DBOBJ_CREATE',\n 'DBOBJ_DELETE',\n \n 'DB_DELETE',\n 'DB_INSERT',\n 'DB_MANAGE',\n 'DB_OWNER',\n 'DB_READ',\n 'DB_UPDATE',\n 'DB_WRITE',\n \n 'SCRIPT_EXEC',\n 'TASK_GROUP_MEM_LIMIT',\n 'TEST_EXEC',\n 'VIEW_EXEC',\n 'QUERY_RESULT_MEM_LIMIT',\n \n \n // hint\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/s/sql.html\n 'HINT_HASH',\n 'HINT_SNAPSHOT',\n 'HINT_KEEPORDER',\n 'HINT_SEQ',\n 'HINT_EXPLAIN',\n 'HINT_VECTORIZED',\n \n \n // --- seek mode\n 'HEAD',\n 'CURRENT',\n 'TAIL',\n \n // --- chart type\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/p/plot.html\n 'LINE',\n 'PIE',\n 'COLUMN',\n 'BAR',\n 'AREA',\n 'SCATTER',\n 'HISTOGRAM',\n 'KLINE',\n \n \n // --- log level\n 'DEBUG',\n 'INFO',\n 'WARNING',\n 'ERROR',\n \n // keep duplicates\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/c/createPartitionedTable.html?highlight=first\n 'FIRST',\n 'LAST',\n 'ALL',\n \n // keep\n // https://www.dolphindb.cn/cn/help/200/FunctionsandCommands/FunctionReferences/i/isDuplicated.html?highlight=none\n 'NONE',\n \n 'HASH_PTN',\n \n // 仅 Python 有的\n 'True',\n 'False',\n 'None',\n \n] as const\n\n\nconst func_name_pattern = '[^\\\\d\\\\W]\\\\w*!?'\n\n\nfunction get_tm_language (python = false) {\n return {\n $schema: 'https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json',\n \n name: python ? 'DolphinDB Python' : 'DolphinDB',\n \n scopeName: python ? 'source.dolphindb-python' : 'source.dolphindb',\n \n patterns: [\n {\n match: '\\\\.\\\\.\\\\.',\n name: 'invalid.ellipsis.dolphindb'\n },\n {\n include: '#keyword'\n },\n {\n include: '#literal'\n },\n {\n include: '#comment'\n },\n {\n include: '#decorator'\n },\n {\n include: '#variable'\n },\n {\n include: '#operator'\n },\n {\n include: '#method_call'\n },\n {\n include: '#function_call'\n },\n {\n include: '#property'\n },\n {\n match: ';',\n name: 'punctuation.terminator.statement.dolphindb'\n },\n {\n match: ',',\n name: 'punctuation.separator.commma.dolphindb'\n }\n ],\n \n \n repository: {\n keyword: {\n // \\b: word boundary\n // (?<![.$]): boundary 不是 . 或 $\n // ?!\\s*: 不是 label\n match: `\\\\b(?<![.$])(${keywords.join('|')})(?!(\\\\s*:|\\\\())\\\\b`,\n name: 'keyword.control.dolphindb'\n },\n \n literal: {\n patterns: [\n { include: '#constant' },\n { include: '#datetime' },\n { include: '#string' },\n { include: '#number' },\n ]\n },\n \n constant: {\n match: `\\\\b(?<![.$])(${constants.join('|')})(?!\\\\s*:)\\\\b`,\n name: 'constant.language.int.dolphindb'\n },\n \n decorator: {\n match: '^@testing',\n name: 'meta.decorator.dolphindb',\n },\n \n datetime: {\n patterns: [\n {\n 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',\n name: 'constant.numeric.datetime.datetime.dolphindb',\n },\n {\n match: '\\\\b[0-9]{4}\\\\.[0-9]{2}M\\\\b',\n name: 'constant.numeric.datetime.month.dolphindb',\n },\n {\n match: '\\\\b[0-9]{4}\\\\.[0-9]{2}\\\\.[0-9]{2}\\\\b',\n name: 'constant.numeric.datetime.date.dolphindb',\n },\n {\n match: '\\\\b[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{3,9})?\\\\b',\n name: 'constant.numeric.datetime.time.dolphindb',\n },\n {\n match: '\\\\b[0-9]{2}:[0-9]{2}m\\\\b',\n name: 'constant.numeric.datetime.minute.dolphindb',\n },\n ]\n },\n \n string: {\n patterns: [\n {\n include: '#string_single_quoted'\n },\n {\n include: '#string_double_quoted'\n },\n {\n begin: \"'''\",\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: \"'''\",\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.single.heredoc.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n match: '(\\\\\\\\).',\n name: 'constant.character.escape.backslash.dolphindb'\n }\n ]\n },\n {\n begin: '\"\"\"',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: '\"\"\"',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.double.heredoc.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n match: '(\\\\\\\\).',\n name: 'constant.character.escape.backslash.dolphindb'\n },\n {\n include: '#interpolated_dolphindb'\n }\n ]\n },\n {\n match: '`[\\\\w\\\\.]*',\n name: 'string.quoted.other.dolphindb'\n }\n ]\n },\n \n number: {\n patterns: [\n {\n match: '\\\\b[01]+[bB]\\\\b',\n name: 'constant.numeric.binary.dolphindb'\n },\n {\n // 97c\n match: '\\\\b[0-9]+([clhsmyM]|ms)\\\\b',\n name: 'constant.numeric.dolphindb'\n },\n {\n // 1.2f, 1f\n match: '\\\\b[0-9]+(\\\\.[0-9]+)?f\\\\b',\n name: 'constant.numeric.dolphindb'\n },\n {\n match: \n '(?x)\\n' +\n '(?:\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1.1E+3\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[eE][+-]?[0-9]+\\\\b)| # 1.E+3\\n' +\n ' (?:\\\\b(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # .1E+3\\n' +\n ' (?:\\\\b[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1E+3\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)[0-9]+\\\\b)| # 1.1\\n' +\n ' (?:\\\\b[0-9]+(?=\\\\.{2,3}))| # 1 followed by a slice\\n' +\n ' (?:\\\\b[0-9]+(\\\\.)\\\\b)| # 1.\\n' +\n ' (?:\\\\b(\\\\.)[0-9]+\\\\b)| # .1\\n' +\n ' (?:\\\\b[0-9]+\\\\b(?!\\\\.)) # 1\\n' +\n ')\\n',\n \n captures: {\n 0: {\n name: 'constant.numeric.decimal.dolphindb'\n },\n 1: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 2: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 3: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 4: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 5: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n },\n 6: {\n name: 'punctuation.separator.decimal.period.dolphindb'\n }\n }\n },\n ]\n },\n \n string_single_quoted: {\n patterns: [\n {\n begin: \"'\",\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: \"'\",\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.single.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n 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]?|.)',\n name: 'constant.character.escape.backslash.dolphindb'\n }\n ]\n }\n ]\n },\n \n string_double_quoted: {\n patterns: [\n {\n begin: '\"',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.string.begin.dolphindb'\n }\n },\n end: '\"',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.string.end.dolphindb'\n }\n },\n name: 'string.quoted.double.dolphindb',\n patterns: [\n {\n captures: {\n 1: {\n name: 'punctuation.definition.escape.backslash.dolphindb'\n }\n },\n 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]?|.)',\n name: 'constant.character.escape.backslash.dolphindb'\n },\n {\n include: '#interpolated_dolphindb'\n }\n ]\n }\n ]\n },\n \n function_call: {\n patterns: [\n {\n begin: `(@)?(${func_name_pattern})\\\\s*(?=\\\\()`,\n beginCaptures: {\n 1: { name: 'variable.other.readwrite.instance.dolphindb' },\n 2: { patterns: [{ include: '#function_name' }] }\n },\n end: '(?<=\\\\))',\n name: 'meta.function-call.dolphindb',\n patterns: [{ include: '#arguments' }]\n }\n ]\n },\n \n \n method_call: {\n patterns: [\n {\n begin: `(?:(\\\\.)|(::))\\\\s*(${func_name_pattern})(?=\\\\()`,\n beginCaptures: {\n 1: { name: 'punctuation.separator.method.period.dolphindb' },\n 2: { name: 'keyword.operator.prototype.dolphindb' },\n 3: { patterns: [{ include: '#function_name' }] }\n },\n end: '(?<=\\\\))',\n name: 'meta.method-call.dolphindb',\n patterns: [{ include: '#arguments' }]\n }\n ]\n },\n \n \n function_name: {\n patterns: [\n {\n match: func_name_pattern,\n name: 'entity.name.function.dolphindb'\n },\n {\n match: '\\\\d[\\\\w]*',\n name: 'invalid.illegal.identifier.dolphindb'\n }\n ]\n },\n \n function_params: {\n patterns: [\n {\n begin: '\\\\(',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.parameters.begin.bracket.round.dolphindb'\n }\n },\n end: '\\\\)',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.parameters.end.bracket.round.dolphindb'\n }\n },\n name: 'meta.parameters.dolphindb',\n patterns: [\n {\n include: '#variable'\n },\n {\n match: '(@(?:[a-zA-Z_$][\\\\w$]*)?)(\\\\.\\\\.\\\\.)?',\n captures: {\n 1: {\n name: 'variable.parameter.function.readwrite.instance.dolphindb'\n },\n 2: {\n name: 'keyword.operator.splat.dolphindb'\n }\n }\n },\n {\n include: '$self'\n }\n ]\n }\n ]\n },\n \n comment: {\n patterns: python ? [\n {\n begin: '#',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '$',\n name: 'comment.line.number-sign.dolphindb'\n }\n ] : [\n {\n begin: '/\\\\*',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '\\\\*/',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n name: 'comment.block.dolphindb'\n },\n {\n begin: '//',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.comment.dolphindb'\n }\n },\n end: '$',\n name: 'comment.line.number-sign.dolphindb'\n },\n ]\n },\n \n arguments: {\n patterns: [\n {\n begin: '\\\\(',\n beginCaptures: {\n 0: {\n name: 'punctuation.definition.arguments.begin.bracket.round.dolphindb'\n }\n },\n end: '\\\\)',\n endCaptures: {\n 0: {\n name: 'punctuation.definition.arguments.end.bracket.round.dolphindb'\n }\n },\n name: 'meta.arguments.dolphindb',\n patterns: [\n {\n include: '$self'\n },\n {\n include: '#literal'\n },\n {\n include: '#variable'\n }\n ]\n }\n ]\n },\n \n variable: {\n patterns: [\n {\n match: '(@)([a-zA-Z_\\\\$]\\\\w*)?',\n name: 'variable.other.readwrite.instance.dolphindb'\n }\n ]\n },\n \n interpolated_dolphindb: {\n patterns: [\n {\n begin: '\\\\#\\\\{',\n captures: {\n 0: {\n name: 'punctuation.section.embedded.dolphindb'\n }\n },\n end: '\\\\}',\n name: 'source.dolphindb.embedded.source',\n patterns: [\n {\n include: '$self'\n }\n ]\n }\n ]\n },\n \n \n operator: {\n patterns: [\n {\n match: '<<|>>',\n name: 'keyword.operator.bitwise.shift.dolphindb'\n },\n {\n match: '!=|<=|>=|==|>|<',\n name: 'keyword.operator.comparison.dolphindb'\n },\n {\n match: '<-|->',\n name: 'keyword.operator.join.dolphindb'\n },\n {\n match: '&&|!|\\\\|\\\\|',\n name: 'keyword.operator.logical.dolphindb'\n },\n {\n match: '&|\\\\||\\\\^',\n name: 'keyword.operator.bitwise.dolphindb'\n },\n {\n match: '\\\\.\\\\.',\n name: 'keyword.operator.splat.dolphindb'\n },\n {\n match: '\\\\?',\n name: 'keyword.operator.existential.dolphindb'\n },\n {\n match: '/|<-|%|\\\\*|/|-|\\\\$|\\\\+',\n name: 'keyword.operator.dolphindb'\n },\n {\n match: '([a-zA-Z$_][\\\\w$]*)?\\\\s*(=|:(?!:))(?![>=])',\n captures: {\n 1: {\n name: 'variable.assignment.dolphindb'\n },\n 2: {\n name: 'keyword.operator.assignment.dolphindb'\n }\n }\n }\n ]\n },\n \n property: {\n patterns: [\n {\n match: '(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'constant.other.object.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'variable.other.object.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'constant.other.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*(\\\\$*[a-zA-Z_$][\\\\w$]*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'variable.other.property.dolphindb'\n }\n }\n },\n {\n match: '(?:(\\\\.)|(::))\\\\s*([0-9][\\\\w$]*)',\n captures: {\n 1: {\n name: 'punctuation.separator.property.period.dolphindb'\n },\n 2: {\n name: 'keyword.operator.prototype.dolphindb'\n },\n 3: {\n name: 'invalid.illegal.identifier.dolphindb'\n }\n }\n }\n ]\n }\n }\n } as Block\n}\n\n\nexport const tm_language = get_tm_language(false)\n\nexport const tm_language_python = get_tm_language(true)\n\n\ninterface Block {\n patterns: Pattern[]\n repository?: Record<string, Pattern | Block>\n}\n\ntype Pattern = Match | Include | Block\n\ntype Match = MatchOne | MatchBeginEnd\n\ninterface MatchOne {\n /** a single-line regular expression */\n match: RegExp | string\n \n /** This is the scope that will be applied to the matched text */\n name?: string\n \n /** This use of the captures > patterns structure is extremely important. \n Without it, a stretch of text matched by a match rule is considered finished, and \n TextMate’s search proceeds to the rest of the line after the matched text. \n With it, the stretch of matched text itself becomes a candidate for further matches. \n */\n captures?: Captures\n}\n\ninterface MatchBeginEnd {\n begin: RegExp | string\n \n end: RegExp | string\n \n /** This is the scope (or an expression evaluating to a scope) to be applied to \n the entire matched stretch(es) of text starting at the start of the begin match.\n */\n name?: string\n \n /** This is the scope to be applied to what’s between the begin match and the end match (or the end of the document). */\n contentName?: string\n \n /** it applies to the region between the begin and end matches. */\n patterns?: Pattern[]\n \n beginCaptures?: Captures\n \n endCaptures?: Captures\n \n whileCaptures?: Captures\n \n /** If the name or number of the matched group happens to be the same for both the begin pattern and the other pattern, \n you can (if appropriate) use captures as a shorthand to avoid saying the same thing twice.\n */\n captures?: Captures\n \n applyEndPatternLast?: 1\n}\n\ninterface Include {\n include: string\n}\n\ntype Captures = Record<string | number, {\n /** This is the scope that will be assigned to the matched group text. */\n name?: string\n \n /** This is a list of match rules to be sought within the matched group text \n — thus permitting the search for matches to continue inside the matched text.\n */\n patterns?: Pattern[]\n}>\n\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dolphindb",
|
|
3
3
|
"description": "DolphinDB JavaScript API",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.1018",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
7
7
|
"browser": "./browser.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"JavaScript"
|
|
26
26
|
],
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/node": "^20.5.
|
|
28
|
+
"@types/node": "^20.5.4",
|
|
29
29
|
"@typescript-eslint/eslint-plugin": "^6.4.1",
|
|
30
30
|
"@typescript-eslint/parser": "^6.4.1",
|
|
31
31
|
"eslint": "^8.47.0",
|