@kusto/monaco-kusto 3.2.4 → 3.2.7
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/package.json +88 -88
- package/release/dev/kustoMode.js +1070 -1070
- package/release/dev/kustoWorker.js +1856 -1833
- package/release/dev/monaco.contribution.js +310 -306
- package/release/esm/commandFormatter.js +32 -32
- package/release/esm/commandHighlighter.js +44 -44
- package/release/esm/extendedEditor.js +38 -38
- package/release/esm/kusto.worker.js +8 -8
- package/release/esm/kustoMode.js +98 -98
- package/release/esm/kustoWorker.js +199 -199
- package/release/esm/languageFeatures.js +778 -778
- package/release/esm/languageService/kustoLanguageService.js +1585 -1562
- package/release/esm/languageService/kustoMonarchLanguageDefinition.js +76 -76
- package/release/esm/languageService/schema.js +64 -64
- package/release/esm/monaco.contribution.d.ts +12 -12
- package/release/esm/monaco.contribution.js +180 -176
- package/release/esm/monaco.d.ts +232 -224
- package/release/esm/workerManager.js +101 -101
- package/release/min/kustoMode.js +1 -1
- package/release/min/kustoWorker.js +2 -2
- package/release/min/monaco.contribution.d.ts +12 -12
- package/release/min/monaco.contribution.js +2 -2
- package/release/min/monaco.d.ts +232 -224
- package/scripts/bundle.js +65 -65
- package/scripts/release.js +25 -25
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
export var KustoLanguageDefinition = {
|
|
2
|
-
name: 'kusto',
|
|
3
|
-
mimeTypes: ['text/kusto'],
|
|
4
|
-
displayName: "Kusto",
|
|
5
|
-
defaultToken: "invalid",
|
|
6
|
-
brackets: [['[', ']', 'delimiter.square'],
|
|
7
|
-
['(', ')', 'delimiter.parenthesis']],
|
|
8
|
-
wordDefinition: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
|
9
|
-
// .slice() call is for creating a shallow copy of the array since bridge.net shoves a $type property on the array which monaco doesn't like.
|
|
10
|
-
promotedOperatorCommandTokens: Kusto.Data.IntelliSense.CslCommandParser.PromotedOperatorCommandTokens.slice(0),
|
|
11
|
-
operatorCommandTokens: Kusto.Data.IntelliSense.CslCommandParser.OperatorCommandTokens.slice(0),
|
|
12
|
-
keywords: [
|
|
13
|
-
'by', 'on', 'contains', 'notcontains', 'containscs', 'notcontainscs', 'startswith', 'has', 'matches', 'regex', 'true',
|
|
14
|
-
'false', 'and', 'or', 'typeof', 'int', 'string', 'date', 'datetime', 'time', 'long', 'real', 'boolean', 'bool'
|
|
15
|
-
],
|
|
16
|
-
operators: ['+', '-', '*', '/', '>', '<', '==', '<>', '<=', '>=', '~', '!~'],
|
|
17
|
-
builtinFunctions: [
|
|
18
|
-
'countof', 'bin', 'extentid', 'extract', 'extractjson', 'floor', 'iif', 'isnull', 'isnotnull', 'notnull', 'isempty',
|
|
19
|
-
'isnotempty', 'notempty', 'now', 're2', 'strcat', 'strlen', 'toupper',
|
|
20
|
-
'tostring', 'count', 'cnt', 'sum', 'min', 'max', 'avg'
|
|
21
|
-
],
|
|
22
|
-
tokenizer: {
|
|
23
|
-
root: [
|
|
24
|
-
{ include: '@whitespace' },
|
|
25
|
-
{ include: '@numbers' },
|
|
26
|
-
{ include: '@strings' },
|
|
27
|
-
{ include: '@dqstrings' },
|
|
28
|
-
{ include: '@literals' },
|
|
29
|
-
{ include: '@comments' },
|
|
30
|
-
[/[;,.]/, 'delimiter'],
|
|
31
|
-
[/[()\[\]]/, '@brackets'],
|
|
32
|
-
[/[<>=!%&+\-*/|~^]/, 'operator'],
|
|
33
|
-
[/[\w@#\-$]+/, {
|
|
34
|
-
cases: {
|
|
35
|
-
'@keywords': 'keyword',
|
|
36
|
-
'@promotedOperatorCommandTokens': 'operator.sql',
|
|
37
|
-
'@operatorCommandTokens': 'keyword',
|
|
38
|
-
'@operators': 'operator',
|
|
39
|
-
'@builtinFunctions': 'predefined',
|
|
40
|
-
'@default': 'identifier',
|
|
41
|
-
}
|
|
42
|
-
}],
|
|
43
|
-
],
|
|
44
|
-
whitespace: [[/\s+/, 'white']],
|
|
45
|
-
comments: [["\\/\\/+.*", "comment"]],
|
|
46
|
-
numbers: [
|
|
47
|
-
[/0[xX][0-9a-fA-F]*/, 'number'],
|
|
48
|
-
[/[$][+-]*\d*(\.\d*)?/, 'number'],
|
|
49
|
-
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
|
|
50
|
-
],
|
|
51
|
-
strings: [
|
|
52
|
-
[/H'/, { token: 'string.quote', bracket: '@open', next: '@string' }],
|
|
53
|
-
[/h'/, { token: 'string.quote', bracket: '@open', next: '@string' }],
|
|
54
|
-
[/'/, { token: 'string.quote', bracket: '@open', next: '@string' }]
|
|
55
|
-
],
|
|
56
|
-
string: [
|
|
57
|
-
[/[^']+/, 'string'],
|
|
58
|
-
[/''/, 'string'],
|
|
59
|
-
[/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }]
|
|
60
|
-
],
|
|
61
|
-
dqstrings: [
|
|
62
|
-
[/H"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }],
|
|
63
|
-
[/h"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }],
|
|
64
|
-
[/"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }]
|
|
65
|
-
],
|
|
66
|
-
dqstring: [
|
|
67
|
-
[/[^"]+/, 'string'],
|
|
68
|
-
[/""/, 'string'],
|
|
69
|
-
[/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }]
|
|
70
|
-
],
|
|
71
|
-
literals: [[/datetime\(\d{4}-\d{2}-\d{2}(\s+\d{2}:\d{2}(:\d{2}(\.\d{0,3})?)?)?\)/, 'number'],
|
|
72
|
-
[/time\((\d+(s(ec(onds?)?)?|m(in(utes?)?)?|h(ours?)?|d(ays?)?)|(\s*(('[^']+')|("[^"]+"))\s*))\)/, 'number'],
|
|
73
|
-
[/guid\([\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}\)/, 'number'],
|
|
74
|
-
[/typeof\((int|string|date|datetime|time|long|real|boolean|bool)\)/, 'number']]
|
|
75
|
-
}
|
|
76
|
-
};
|
|
1
|
+
export var KustoLanguageDefinition = {
|
|
2
|
+
name: 'kusto',
|
|
3
|
+
mimeTypes: ['text/kusto'],
|
|
4
|
+
displayName: "Kusto",
|
|
5
|
+
defaultToken: "invalid",
|
|
6
|
+
brackets: [['[', ']', 'delimiter.square'],
|
|
7
|
+
['(', ')', 'delimiter.parenthesis']],
|
|
8
|
+
wordDefinition: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
|
|
9
|
+
// .slice() call is for creating a shallow copy of the array since bridge.net shoves a $type property on the array which monaco doesn't like.
|
|
10
|
+
promotedOperatorCommandTokens: Kusto.Data.IntelliSense.CslCommandParser.PromotedOperatorCommandTokens.slice(0),
|
|
11
|
+
operatorCommandTokens: Kusto.Data.IntelliSense.CslCommandParser.OperatorCommandTokens.slice(0),
|
|
12
|
+
keywords: [
|
|
13
|
+
'by', 'on', 'contains', 'notcontains', 'containscs', 'notcontainscs', 'startswith', 'has', 'matches', 'regex', 'true',
|
|
14
|
+
'false', 'and', 'or', 'typeof', 'int', 'string', 'date', 'datetime', 'time', 'long', 'real', 'boolean', 'bool'
|
|
15
|
+
],
|
|
16
|
+
operators: ['+', '-', '*', '/', '>', '<', '==', '<>', '<=', '>=', '~', '!~'],
|
|
17
|
+
builtinFunctions: [
|
|
18
|
+
'countof', 'bin', 'extentid', 'extract', 'extractjson', 'floor', 'iif', 'isnull', 'isnotnull', 'notnull', 'isempty',
|
|
19
|
+
'isnotempty', 'notempty', 'now', 're2', 'strcat', 'strlen', 'toupper',
|
|
20
|
+
'tostring', 'count', 'cnt', 'sum', 'min', 'max', 'avg'
|
|
21
|
+
],
|
|
22
|
+
tokenizer: {
|
|
23
|
+
root: [
|
|
24
|
+
{ include: '@whitespace' },
|
|
25
|
+
{ include: '@numbers' },
|
|
26
|
+
{ include: '@strings' },
|
|
27
|
+
{ include: '@dqstrings' },
|
|
28
|
+
{ include: '@literals' },
|
|
29
|
+
{ include: '@comments' },
|
|
30
|
+
[/[;,.]/, 'delimiter'],
|
|
31
|
+
[/[()\[\]]/, '@brackets'],
|
|
32
|
+
[/[<>=!%&+\-*/|~^]/, 'operator'],
|
|
33
|
+
[/[\w@#\-$]+/, {
|
|
34
|
+
cases: {
|
|
35
|
+
'@keywords': 'keyword',
|
|
36
|
+
'@promotedOperatorCommandTokens': 'operator.sql',
|
|
37
|
+
'@operatorCommandTokens': 'keyword',
|
|
38
|
+
'@operators': 'operator',
|
|
39
|
+
'@builtinFunctions': 'predefined',
|
|
40
|
+
'@default': 'identifier',
|
|
41
|
+
}
|
|
42
|
+
}],
|
|
43
|
+
],
|
|
44
|
+
whitespace: [[/\s+/, 'white']],
|
|
45
|
+
comments: [["\\/\\/+.*", "comment"]],
|
|
46
|
+
numbers: [
|
|
47
|
+
[/0[xX][0-9a-fA-F]*/, 'number'],
|
|
48
|
+
[/[$][+-]*\d*(\.\d*)?/, 'number'],
|
|
49
|
+
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number']
|
|
50
|
+
],
|
|
51
|
+
strings: [
|
|
52
|
+
[/H'/, { token: 'string.quote', bracket: '@open', next: '@string' }],
|
|
53
|
+
[/h'/, { token: 'string.quote', bracket: '@open', next: '@string' }],
|
|
54
|
+
[/'/, { token: 'string.quote', bracket: '@open', next: '@string' }]
|
|
55
|
+
],
|
|
56
|
+
string: [
|
|
57
|
+
[/[^']+/, 'string'],
|
|
58
|
+
[/''/, 'string'],
|
|
59
|
+
[/'/, { token: 'string.quote', bracket: '@close', next: '@pop' }]
|
|
60
|
+
],
|
|
61
|
+
dqstrings: [
|
|
62
|
+
[/H"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }],
|
|
63
|
+
[/h"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }],
|
|
64
|
+
[/"/, { token: 'string.quote', bracket: '@open', next: '@dqstring' }]
|
|
65
|
+
],
|
|
66
|
+
dqstring: [
|
|
67
|
+
[/[^"]+/, 'string'],
|
|
68
|
+
[/""/, 'string'],
|
|
69
|
+
[/"/, { token: 'string.quote', bracket: '@close', next: '@pop' }]
|
|
70
|
+
],
|
|
71
|
+
literals: [[/datetime\(\d{4}-\d{2}-\d{2}(\s+\d{2}:\d{2}(:\d{2}(\.\d{0,3})?)?)?\)/, 'number'],
|
|
72
|
+
[/time\((\d+(s(ec(onds?)?)?|m(in(utes?)?)?|h(ours?)?|d(ays?)?)|(\s*(('[^']+')|("[^"]+"))\s*))\)/, 'number'],
|
|
73
|
+
[/guid\([\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}\)/, 'number'],
|
|
74
|
+
[/typeof\((int|string|date|datetime|time|long|real|boolean|bool)\)/, 'number']]
|
|
75
|
+
}
|
|
76
|
+
};
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
// Definition of schema object in the context of language services. This model is exposed to consumers of this library.
|
|
2
|
-
var dotnetTypeToKustoType = {
|
|
3
|
-
'System.SByte': 'bool',
|
|
4
|
-
'System.Byte': 'uint8',
|
|
5
|
-
'System.Int16': 'int16',
|
|
6
|
-
'System.UInt16': 'uint16',
|
|
7
|
-
'System.Int32': 'int',
|
|
8
|
-
'System.UInt32': 'uint',
|
|
9
|
-
'System.Int64': 'long',
|
|
10
|
-
'System.UInt64': 'ulong',
|
|
11
|
-
'System.String': 'string',
|
|
12
|
-
'System.Single': 'float',
|
|
13
|
-
'System.Double': 'real',
|
|
14
|
-
'System.DateTime': 'datetime',
|
|
15
|
-
'System.TimeSpan': 'timespan',
|
|
16
|
-
'System.Guid': 'guid',
|
|
17
|
-
'System.Boolean': 'bool',
|
|
18
|
-
'Newtonsoft.Json.Linq.JArray': 'dynamic',
|
|
19
|
-
'Newtonsoft.Json.Linq.JObject': 'dynamic',
|
|
20
|
-
'Newtonsoft.Json.Linq.JToken': 'dynamic',
|
|
21
|
-
'System.Object': 'dynamic',
|
|
22
|
-
'System.Data.SqlTypes.SqlDecimal': 'decimal'
|
|
23
|
-
};
|
|
24
|
-
export var getCslTypeNameFromClrType = function (clrType) { return dotnetTypeToKustoType[clrType] || clrType; };
|
|
25
|
-
var kustoTypeToEntityDataType = {
|
|
26
|
-
object: 'Object',
|
|
27
|
-
bool: 'Boolean',
|
|
28
|
-
uint8: 'Byte',
|
|
29
|
-
int16: 'Int16',
|
|
30
|
-
uint16: 'UInt16',
|
|
31
|
-
int: 'Int32',
|
|
32
|
-
uint: 'UInt32',
|
|
33
|
-
long: 'Int64',
|
|
34
|
-
ulong: 'UInt64',
|
|
35
|
-
float: 'Single',
|
|
36
|
-
real: 'Double',
|
|
37
|
-
decimal: 'Decimal',
|
|
38
|
-
datetime: 'DateTime',
|
|
39
|
-
string: 'String',
|
|
40
|
-
dynamic: 'Dynamic',
|
|
41
|
-
timespan: 'TimeSpan'
|
|
42
|
-
};
|
|
43
|
-
export var getEntityDataTypeFromCslType = function (cslType) { return kustoTypeToEntityDataType[cslType] || cslType; };
|
|
44
|
-
export var getCallName = function (fn) {
|
|
45
|
-
return fn.name + "(" + fn.inputParameters.map(function (p) { return "{" + p.name + "}"; }).join(',') + ")";
|
|
46
|
-
};
|
|
47
|
-
export var getExpression = function (fn) {
|
|
48
|
-
return "let " + fn.name + " = " + getInputParametersAsCslString(fn.inputParameters) + " " + fn.body;
|
|
49
|
-
};
|
|
50
|
-
export var getInputParametersAsCslString = function (inputParameters) {
|
|
51
|
-
return "(" + inputParameters.map(function (inputParameter) { return getInputParameterAsCslString(inputParameter); }).join(',') + ")";
|
|
52
|
-
};
|
|
53
|
-
var getInputParameterAsCslString = function (inputParameter) {
|
|
54
|
-
// If this is a tabular parameter
|
|
55
|
-
if (inputParameter.columns && inputParameter.columns.length > 0) {
|
|
56
|
-
var attributesAsString = inputParameter.columns
|
|
57
|
-
.map(function (col) { return col.name + ":" + (col.cslType || getCslTypeNameFromClrType(col.type)); })
|
|
58
|
-
.join(',');
|
|
59
|
-
return inputParameter.name + ":" + (attributesAsString === '' ? '*' : attributesAsString);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return inputParameter.name + ":" + (inputParameter.cslType || getCslTypeNameFromClrType(inputParameter.type));
|
|
63
|
-
}
|
|
64
|
-
};
|
|
1
|
+
// Definition of schema object in the context of language services. This model is exposed to consumers of this library.
|
|
2
|
+
var dotnetTypeToKustoType = {
|
|
3
|
+
'System.SByte': 'bool',
|
|
4
|
+
'System.Byte': 'uint8',
|
|
5
|
+
'System.Int16': 'int16',
|
|
6
|
+
'System.UInt16': 'uint16',
|
|
7
|
+
'System.Int32': 'int',
|
|
8
|
+
'System.UInt32': 'uint',
|
|
9
|
+
'System.Int64': 'long',
|
|
10
|
+
'System.UInt64': 'ulong',
|
|
11
|
+
'System.String': 'string',
|
|
12
|
+
'System.Single': 'float',
|
|
13
|
+
'System.Double': 'real',
|
|
14
|
+
'System.DateTime': 'datetime',
|
|
15
|
+
'System.TimeSpan': 'timespan',
|
|
16
|
+
'System.Guid': 'guid',
|
|
17
|
+
'System.Boolean': 'bool',
|
|
18
|
+
'Newtonsoft.Json.Linq.JArray': 'dynamic',
|
|
19
|
+
'Newtonsoft.Json.Linq.JObject': 'dynamic',
|
|
20
|
+
'Newtonsoft.Json.Linq.JToken': 'dynamic',
|
|
21
|
+
'System.Object': 'dynamic',
|
|
22
|
+
'System.Data.SqlTypes.SqlDecimal': 'decimal'
|
|
23
|
+
};
|
|
24
|
+
export var getCslTypeNameFromClrType = function (clrType) { return dotnetTypeToKustoType[clrType] || clrType; };
|
|
25
|
+
var kustoTypeToEntityDataType = {
|
|
26
|
+
object: 'Object',
|
|
27
|
+
bool: 'Boolean',
|
|
28
|
+
uint8: 'Byte',
|
|
29
|
+
int16: 'Int16',
|
|
30
|
+
uint16: 'UInt16',
|
|
31
|
+
int: 'Int32',
|
|
32
|
+
uint: 'UInt32',
|
|
33
|
+
long: 'Int64',
|
|
34
|
+
ulong: 'UInt64',
|
|
35
|
+
float: 'Single',
|
|
36
|
+
real: 'Double',
|
|
37
|
+
decimal: 'Decimal',
|
|
38
|
+
datetime: 'DateTime',
|
|
39
|
+
string: 'String',
|
|
40
|
+
dynamic: 'Dynamic',
|
|
41
|
+
timespan: 'TimeSpan'
|
|
42
|
+
};
|
|
43
|
+
export var getEntityDataTypeFromCslType = function (cslType) { return kustoTypeToEntityDataType[cslType] || cslType; };
|
|
44
|
+
export var getCallName = function (fn) {
|
|
45
|
+
return fn.name + "(" + fn.inputParameters.map(function (p) { return "{" + p.name + "}"; }).join(',') + ")";
|
|
46
|
+
};
|
|
47
|
+
export var getExpression = function (fn) {
|
|
48
|
+
return "let " + fn.name + " = " + getInputParametersAsCslString(fn.inputParameters) + " " + fn.body;
|
|
49
|
+
};
|
|
50
|
+
export var getInputParametersAsCslString = function (inputParameters) {
|
|
51
|
+
return "(" + inputParameters.map(function (inputParameter) { return getInputParameterAsCslString(inputParameter); }).join(',') + ")";
|
|
52
|
+
};
|
|
53
|
+
var getInputParameterAsCslString = function (inputParameter) {
|
|
54
|
+
// If this is a tabular parameter
|
|
55
|
+
if (inputParameter.columns && inputParameter.columns.length > 0) {
|
|
56
|
+
var attributesAsString = inputParameter.columns
|
|
57
|
+
.map(function (col) { return col.name + ":" + (col.cslType || getCslTypeNameFromClrType(col.type)); })
|
|
58
|
+
.join(',');
|
|
59
|
+
return inputParameter.name + ":" + (attributesAsString === '' ? '*' : attributesAsString);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return inputParameter.name + ":" + (inputParameter.cslType || getCslTypeNameFromClrType(inputParameter.type));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import IEvent = monaco.IEvent;
|
|
2
|
-
export declare class LanguageServiceDefaultsImpl implements monaco.languages.kusto.LanguageServiceDefaults {
|
|
3
|
-
private _onDidChange;
|
|
4
|
-
private _languageSettings;
|
|
5
|
-
private _workerMaxIdleTime;
|
|
6
|
-
constructor(languageSettings: monaco.languages.kusto.LanguageSettings);
|
|
7
|
-
get onDidChange(): IEvent<monaco.languages.kusto.LanguageServiceDefaults>;
|
|
8
|
-
get languageSettings(): monaco.languages.kusto.LanguageSettings;
|
|
9
|
-
setLanguageSettings(options: monaco.languages.kusto.LanguageSettings): void;
|
|
10
|
-
setMaximumWorkerIdleTime(value: number): void;
|
|
11
|
-
getWorkerMaxIdleTime(): number;
|
|
12
|
-
}
|
|
1
|
+
import IEvent = monaco.IEvent;
|
|
2
|
+
export declare class LanguageServiceDefaultsImpl implements monaco.languages.kusto.LanguageServiceDefaults {
|
|
3
|
+
private _onDidChange;
|
|
4
|
+
private _languageSettings;
|
|
5
|
+
private _workerMaxIdleTime;
|
|
6
|
+
constructor(languageSettings: monaco.languages.kusto.LanguageSettings);
|
|
7
|
+
get onDidChange(): IEvent<monaco.languages.kusto.LanguageServiceDefaults>;
|
|
8
|
+
get languageSettings(): monaco.languages.kusto.LanguageSettings;
|
|
9
|
+
setLanguageSettings(options: monaco.languages.kusto.LanguageSettings): void;
|
|
10
|
+
setMaximumWorkerIdleTime(value: number): void;
|
|
11
|
+
getWorkerMaxIdleTime(): number;
|
|
12
|
+
}
|