@kusto/monaco-kusto 4.0.6 → 4.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kusto/monaco-kusto",
3
- "version": "4.0.6",
3
+ "version": "4.1.0",
4
4
  "description": "CSL, KQL plugin for the Monaco Editor",
5
5
  "author": {
6
6
  "name": "Microsoft"
@@ -6358,6 +6358,7 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
6358
6358
  kind: classification.Kind,
6359
6359
  }); });
6360
6360
  }
6361
+ ;
6361
6362
  /**
6362
6363
  * Kusto Language service translates the kusto object model (transpiled from C# by Bridge.Net)
6363
6364
  * to the vscode language server types, which are used by vscode language extensions.
@@ -6511,12 +6512,44 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
6511
6512
  _d);
6512
6513
  this._schemaCache = {};
6513
6514
  this._kustoJsSchema = KustoLanguageService.convertToKustoJsSchema(schema);
6514
- this._kustoJsSchemaV2 = this.convertToKustoJsSchemaV2(schema);
6515
+ this.__kustoJsSchemaV2 = this.convertToKustoJsSchemaV2(schema);
6515
6516
  this._schema = schema;
6517
+ this._clustersSetInGlobalState = new Set();
6518
+ this._nonEmptyDatabaseSetInGlobalState = new Set(); // used to remove clusters that are already in the global state
6516
6519
  this.configure(languageSettings);
6517
6520
  this._newlineAppendPipePolicy = new Kusto.Data.IntelliSense.ApplyPolicy();
6518
6521
  this._newlineAppendPipePolicy.Text = '\n| ';
6519
6522
  }
6523
+ KustoLanguageService.prototype.createDatabaseUniqueName = function (clusterName, databaseName) {
6524
+ return clusterName + "_" + databaseName;
6525
+ };
6526
+ Object.defineProperty(KustoLanguageService.prototype, "_kustoJsSchemaV2", {
6527
+ /**
6528
+ * A getter for __kustoJsSchemaV2
6529
+ */
6530
+ get: function () {
6531
+ return this.__kustoJsSchemaV2;
6532
+ },
6533
+ /**
6534
+ * A setter for _kustoJsSchemaV2. After a schema (global state) is set, create 2 sets of cluster and database names.
6535
+ */
6536
+ set: function (globalState) {
6537
+ this.__kustoJsSchemaV2 = globalState;
6538
+ // create 2 Sets with cluster names and database names based on the updated Global State.
6539
+ for (var i = 0; i < globalState.Clusters.Count; i++) {
6540
+ var clusterSymbol = this._kustoJsSchemaV2.Clusters.getItem(i);
6541
+ this._clustersSetInGlobalState.add(clusterSymbol.Name);
6542
+ for (var i2 = 0; i2 < clusterSymbol.Databases.Count; i2++) {
6543
+ var databaseSymbol = clusterSymbol.Databases.getItem(i2);
6544
+ if (databaseSymbol.Tables.Count > 0) { // only include database with tables
6545
+ this._nonEmptyDatabaseSetInGlobalState.add(this.createDatabaseUniqueName(clusterSymbol.Name, databaseSymbol.Name));
6546
+ }
6547
+ }
6548
+ }
6549
+ },
6550
+ enumerable: false,
6551
+ configurable: true
6552
+ });
6520
6553
  KustoLanguageService.prototype.configure = function (languageSettings) {
6521
6554
  this._languageSettings = languageSettings;
6522
6555
  // Since we're still reverting to V1 intellisense for control commands, we need to update the rules provider
@@ -6526,15 +6559,43 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
6526
6559
  KustoLanguageService.prototype.doComplete = function (document, position) {
6527
6560
  return this.isIntellisenseV2() ? this.doCompleteV2(document, position) : this.doCompleteV1(document, position);
6528
6561
  };
6562
+ /**
6563
+ * important: Only use during development to test Global State.
6564
+ * Prints clusters, databases and tables that are currently in the GlobalState.
6565
+ */
6566
+ KustoLanguageService.prototype.debugGlobalState = function (globals) {
6567
+ // iterate over clusters
6568
+ console.log("globals.Clusters.Count: " + globals.Clusters.Count);
6569
+ for (var i = 0; i < globals.Clusters.Count; i++) {
6570
+ var cluster = globals.Clusters.getItem(i);
6571
+ console.log("cluster: " + cluster.Name);
6572
+ // iterate over databases
6573
+ console.log("cluster.Databases.Count: " + cluster.Databases.Count);
6574
+ for (var i2 = 0; i2 < cluster.Databases.Count; i2++) {
6575
+ var database = cluster.Databases.getItem(i2);
6576
+ console.log("cluster.database: [" + cluster.Name + "].[" + database.Name + "]");
6577
+ // iterate over tables
6578
+ console.log("cluster.Databases.Tables.Count: " + database.Tables.Count);
6579
+ for (var i3 = 0; i3 < database.Tables.Count; i3++) {
6580
+ var table = database.Tables.getItem(i3);
6581
+ console.log("cluster.database.table: [" + cluster.Name + "].[" + database.Name + "].[" + table.Name + "]");
6582
+ }
6583
+ }
6584
+ }
6585
+ };
6529
6586
  KustoLanguageService.prototype.doCompleteV2 = function (document, position) {
6530
6587
  var _this = this;
6531
6588
  if (!document) {
6532
6589
  return Promise.resolve(ls.CompletionList.create([]));
6533
6590
  }
6534
6591
  var script = this.parseDocumentV2(document);
6592
+ // print cluster/database/tables from CodeScript.Globals
6593
+ // this.debugGlobalState(script.Globals);
6594
+ // get current command
6535
6595
  var cursorOffset = document.offsetAt(position);
6536
- var currentcommand = this.getCurrentCommandV2(script, cursorOffset);
6537
- var completionItems = currentcommand.Service.GetCompletionItems(cursorOffset);
6596
+ var currentCommand = script.GetBlockAtPosition(cursorOffset);
6597
+ // get completion items
6598
+ var completionItems = currentCommand.Service.GetCompletionItems(cursorOffset);
6538
6599
  var disabledItems = this.disabledCompletionItemsV2;
6539
6600
  if (this._languageSettings.disabledCompletionItems) {
6540
6601
  this._languageSettings.disabledCompletionItems.map(function (item) {
@@ -6701,6 +6762,61 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
6701
6762
  });
6702
6763
  });
6703
6764
  };
6765
+ KustoLanguageService.prototype.getClusterReferences = function (document, cursorOffset) {
6766
+ var _a;
6767
+ var script = this.parseDocumentV2(document);
6768
+ var currentBlock = this.getCurrentCommandV2(script, cursorOffset);
6769
+ var clusterReferences = (_a = currentBlock === null || currentBlock === void 0 ? void 0 : currentBlock.Service) === null || _a === void 0 ? void 0 : _a.GetClusterReferences();
6770
+ if (!clusterReferences) {
6771
+ return Promise.resolve([]);
6772
+ }
6773
+ var newClustersReferences = [];
6774
+ var newClustersReferencesSet = new Set(); // used to remove duplicates
6775
+ // Keep only unique clusters that aren't already exist in the Global State
6776
+ for (var i = 0; i < clusterReferences.Count; i++) {
6777
+ var clusterReference = clusterReferences.getItem(i);
6778
+ var clusterHostName = clusterReference.Cluster;
6779
+ // ignore duplicates
6780
+ if (newClustersReferencesSet.has(clusterHostName)) {
6781
+ continue;
6782
+ }
6783
+ newClustersReferencesSet.add(clusterHostName);
6784
+ // ignore references that are already in the GlobalState.
6785
+ if (!this._clustersSetInGlobalState.has(clusterHostName.toLowerCase())) {
6786
+ newClustersReferences.push({ clusterName: clusterHostName });
6787
+ }
6788
+ }
6789
+ return Promise.resolve(newClustersReferences);
6790
+ };
6791
+ KustoLanguageService.prototype.getDatabaseReferences = function (document, cursorOffset) {
6792
+ var _a;
6793
+ var script = this.parseDocumentV2(document);
6794
+ var currentBlock = this.getCurrentCommandV2(script, cursorOffset);
6795
+ var databasesReferences = (_a = currentBlock === null || currentBlock === void 0 ? void 0 : currentBlock.Service) === null || _a === void 0 ? void 0 : _a.GetDatabaseReferences();
6796
+ if (!databasesReferences) {
6797
+ return Promise.resolve([]);
6798
+ }
6799
+ var newDatabasesReferences = [];
6800
+ var newDatabasesReferencesSet = new Set();
6801
+ for (var i1 = 0; i1 < databasesReferences.Count; i1++) {
6802
+ var databaseReference = databasesReferences.getItem(i1);
6803
+ // ignore duplicates
6804
+ var databaseReferenceUniqueId = this.createDatabaseUniqueName(databaseReference.Cluster, databaseReference.Database);
6805
+ if (newDatabasesReferencesSet.has(databaseReferenceUniqueId)) {
6806
+ continue;
6807
+ }
6808
+ newDatabasesReferencesSet.add(databaseReferenceUniqueId);
6809
+ // ignore references that are already in the GlobalState.
6810
+ var foundInGlobalState = this._nonEmptyDatabaseSetInGlobalState.has(databaseReferenceUniqueId);
6811
+ if (!foundInGlobalState) {
6812
+ newDatabasesReferences.push({
6813
+ databaseName: databaseReference.Database,
6814
+ clusterName: databaseReference.Cluster
6815
+ });
6816
+ }
6817
+ }
6818
+ return Promise.resolve(newDatabasesReferences);
6819
+ };
6704
6820
  KustoLanguageService.prototype.doValidation = function (document, changeIntervals) {
6705
6821
  var _this = this;
6706
6822
  // didn't implement validation for v1.
@@ -6841,6 +6957,46 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
6841
6957
  : false;
6842
6958
  });
6843
6959
  };
6960
+ KustoLanguageService.prototype.addClusterToSchema = function (document, clusterName, databaseNames) {
6961
+ var clusterNameOnly = Kusto.Language.KustoFacts.GetHostName(clusterName);
6962
+ var cluster = this._kustoJsSchemaV2.GetCluster$1(clusterNameOnly);
6963
+ if (cluster) {
6964
+ // add databases that are not already in the cluster.
6965
+ databaseNames
6966
+ .filter(function (databaseName) { return !cluster.GetDatabase(databaseName); })
6967
+ .map(function (databaseName) {
6968
+ var symbol = new sym.DatabaseSymbol.$ctor1(databaseName, undefined, false);
6969
+ cluster = cluster.AddDatabase(symbol);
6970
+ });
6971
+ }
6972
+ if (!cluster) {
6973
+ var databaseSymbols = databaseNames
6974
+ .map(function (databaseName) {
6975
+ var symbol = new sym.DatabaseSymbol.$ctor1(databaseName, undefined, false);
6976
+ return symbol;
6977
+ });
6978
+ var databaseSymbolsList = KustoLanguageService.toBridgeList(databaseSymbols);
6979
+ cluster = new sym.ClusterSymbol.$ctor1(clusterNameOnly, databaseSymbolsList, false);
6980
+ }
6981
+ this._kustoJsSchemaV2 = this._kustoJsSchemaV2.AddOrReplaceCluster(cluster);
6982
+ this._script = k2.CodeScript.From$1(document.getText(), this._kustoJsSchemaV2);
6983
+ return Promise.resolve();
6984
+ };
6985
+ KustoLanguageService.prototype.addDatabaseToSchema = function (document, clusterName, databaseSchema) {
6986
+ var _this = this;
6987
+ return new Promise(function (resolve) {
6988
+ var clusterHostName = Kusto.Language.KustoFacts.GetHostName(clusterName);
6989
+ var cluster = _this._kustoJsSchemaV2.GetCluster$1(clusterHostName);
6990
+ if (!cluster) {
6991
+ cluster = new sym.ClusterSymbol.$ctor1(clusterHostName, null, false);
6992
+ }
6993
+ var databaseSymbol = KustoLanguageService.convertToDatabaseSymbol(databaseSchema);
6994
+ cluster = cluster.AddOrUpdateDatabase(databaseSymbol);
6995
+ _this._kustoJsSchemaV2 = _this._kustoJsSchemaV2.AddOrReplaceCluster(cluster);
6996
+ _this._script = k2.CodeScript.From$1(document.getText(), _this._kustoJsSchemaV2);
6997
+ resolve();
6998
+ });
6999
+ };
6844
7000
  KustoLanguageService.prototype.setSchema = function (schema) {
6845
7001
  var _this = this;
6846
7002
  this._schema = schema;
@@ -7555,7 +7711,7 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
7555
7711
  var argumentType = new sym.TableSymbol.ctor(param.columns.map(function (col) { return KustoLanguageService.createColumnSymbol(col); }));
7556
7712
  return new sym.Parameter.$ctor2(param.name, argumentType);
7557
7713
  };
7558
- KustoLanguageService.convertToDatabaseSymbol = function (db, globalState, addFunctions) {
7714
+ KustoLanguageService.convertToDatabaseSymbol = function (db) {
7559
7715
  var createFunctionSymbol = function (fn) {
7560
7716
  var parameters = fn.inputParameters.map(function (param) {
7561
7717
  return KustoLanguageService.createParameter(param);
@@ -7612,7 +7768,7 @@ define('vs/language/kusto/languageService/kustoLanguageService',["require", "exp
7612
7768
  cachedDb.database.majorVersion < db.majorVersion ||
7613
7769
  (shouldIncludeFunctions && !cachedDb.includesFunctions)) {
7614
7770
  // only add functions for the database in context (it's very time consuming)
7615
- var databaseSymbol_1 = KustoLanguageService.convertToDatabaseSymbol(db, globalState, shouldIncludeFunctions);
7771
+ var databaseSymbol_1 = KustoLanguageService.convertToDatabaseSymbol(db);
7616
7772
  cached[db.name] = { database: db, symbol: databaseSymbol_1, includesFunctions: shouldIncludeFunctions };
7617
7773
  }
7618
7774
  var databaseSymbol = cached[db.name].symbol;
@@ -7874,6 +8030,22 @@ define('vs/language/kusto/kustoWorker',["require", "exports", "./languageService
7874
8030
  KustoWorker.prototype.setSchema = function (schema) {
7875
8031
  return this._languageService.setSchema(schema);
7876
8032
  };
8033
+ KustoWorker.prototype.addClusterToSchema = function (uri, clusterName, databasesNames) {
8034
+ var document = this._getTextDocument(uri);
8035
+ if (!document) {
8036
+ console.error("addClusterToSchema: document is " + document + ". uri is " + uri);
8037
+ return null;
8038
+ }
8039
+ return this._languageService.addClusterToSchema(document, clusterName, databasesNames);
8040
+ };
8041
+ KustoWorker.prototype.addDatabaseToSchema = function (uri, clusterName, databaseSchema) {
8042
+ var document = this._getTextDocument(uri);
8043
+ if (!document) {
8044
+ console.error("addDatabaseToSchema: document is " + document + ". uri is " + uri);
8045
+ return null;
8046
+ }
8047
+ return this._languageService.addDatabaseToSchema(document, clusterName, databaseSchema);
8048
+ };
7877
8049
  KustoWorker.prototype.setSchemaFromShowSchema = function (schema, clusterConnectionString, databaseInContextName) {
7878
8050
  return this._languageService.setSchemaFromShowSchema(schema, clusterConnectionString, databaseInContextName);
7879
8051
  };
@@ -8044,6 +8216,14 @@ define('vs/language/kusto/kustoWorker',["require", "exports", "./languageService
8044
8216
  KustoWorker.prototype.setParameters = function (parameters) {
8045
8217
  return this._languageService.setParameters(parameters);
8046
8218
  };
8219
+ KustoWorker.prototype.getClusterReferences = function (uri, cursorOffset) {
8220
+ var document = this._getTextDocument(uri);
8221
+ return this._languageService.getClusterReferences(document, cursorOffset);
8222
+ };
8223
+ KustoWorker.prototype.getDatabaseReferences = function (uri, cursorOffset) {
8224
+ var document = this._getTextDocument(uri);
8225
+ return this._languageService.getDatabaseReferences(document, cursorOffset);
8226
+ };
8047
8227
  KustoWorker.prototype._getTextDocument = function (uri) {
8048
8228
  var models = this._ctx.getMirrorModels();
8049
8229
  for (var _i = 0, models_1 = models; _i < models_1.length; _i++) {
@@ -11,6 +11,22 @@ var KustoWorker = /** @class */ (function () {
11
11
  KustoWorker.prototype.setSchema = function (schema) {
12
12
  return this._languageService.setSchema(schema);
13
13
  };
14
+ KustoWorker.prototype.addClusterToSchema = function (uri, clusterName, databasesNames) {
15
+ var document = this._getTextDocument(uri);
16
+ if (!document) {
17
+ console.error("addClusterToSchema: document is " + document + ". uri is " + uri);
18
+ return null;
19
+ }
20
+ return this._languageService.addClusterToSchema(document, clusterName, databasesNames);
21
+ };
22
+ KustoWorker.prototype.addDatabaseToSchema = function (uri, clusterName, databaseSchema) {
23
+ var document = this._getTextDocument(uri);
24
+ if (!document) {
25
+ console.error("addDatabaseToSchema: document is " + document + ". uri is " + uri);
26
+ return null;
27
+ }
28
+ return this._languageService.addDatabaseToSchema(document, clusterName, databaseSchema);
29
+ };
14
30
  KustoWorker.prototype.setSchemaFromShowSchema = function (schema, clusterConnectionString, databaseInContextName) {
15
31
  return this._languageService.setSchemaFromShowSchema(schema, clusterConnectionString, databaseInContextName);
16
32
  };
@@ -181,6 +197,14 @@ var KustoWorker = /** @class */ (function () {
181
197
  KustoWorker.prototype.setParameters = function (parameters) {
182
198
  return this._languageService.setParameters(parameters);
183
199
  };
200
+ KustoWorker.prototype.getClusterReferences = function (uri, cursorOffset) {
201
+ var document = this._getTextDocument(uri);
202
+ return this._languageService.getClusterReferences(document, cursorOffset);
203
+ };
204
+ KustoWorker.prototype.getDatabaseReferences = function (uri, cursorOffset) {
205
+ var document = this._getTextDocument(uri);
206
+ return this._languageService.getDatabaseReferences(document, cursorOffset);
207
+ };
184
208
  KustoWorker.prototype._getTextDocument = function (uri) {
185
209
  var models = this._ctx.getMirrorModels();
186
210
  for (var _i = 0, models_1 = models; _i < models_1.length; _i++) {
@@ -96,6 +96,7 @@ function toClassifiedRange(k2Classifications) {
96
96
  kind: classification.Kind,
97
97
  }); });
98
98
  }
99
+ ;
99
100
  /**
100
101
  * Kusto Language service translates the kusto object model (transpiled from C# by Bridge.Net)
101
102
  * to the vscode language server types, which are used by vscode language extensions.
@@ -249,12 +250,44 @@ var KustoLanguageService = /** @class */ (function () {
249
250
  _d);
250
251
  this._schemaCache = {};
251
252
  this._kustoJsSchema = KustoLanguageService.convertToKustoJsSchema(schema);
252
- this._kustoJsSchemaV2 = this.convertToKustoJsSchemaV2(schema);
253
+ this.__kustoJsSchemaV2 = this.convertToKustoJsSchemaV2(schema);
253
254
  this._schema = schema;
255
+ this._clustersSetInGlobalState = new Set();
256
+ this._nonEmptyDatabaseSetInGlobalState = new Set(); // used to remove clusters that are already in the global state
254
257
  this.configure(languageSettings);
255
258
  this._newlineAppendPipePolicy = new Kusto.Data.IntelliSense.ApplyPolicy();
256
259
  this._newlineAppendPipePolicy.Text = '\n| ';
257
260
  }
261
+ KustoLanguageService.prototype.createDatabaseUniqueName = function (clusterName, databaseName) {
262
+ return clusterName + "_" + databaseName;
263
+ };
264
+ Object.defineProperty(KustoLanguageService.prototype, "_kustoJsSchemaV2", {
265
+ /**
266
+ * A getter for __kustoJsSchemaV2
267
+ */
268
+ get: function () {
269
+ return this.__kustoJsSchemaV2;
270
+ },
271
+ /**
272
+ * A setter for _kustoJsSchemaV2. After a schema (global state) is set, create 2 sets of cluster and database names.
273
+ */
274
+ set: function (globalState) {
275
+ this.__kustoJsSchemaV2 = globalState;
276
+ // create 2 Sets with cluster names and database names based on the updated Global State.
277
+ for (var i = 0; i < globalState.Clusters.Count; i++) {
278
+ var clusterSymbol = this._kustoJsSchemaV2.Clusters.getItem(i);
279
+ this._clustersSetInGlobalState.add(clusterSymbol.Name);
280
+ for (var i2 = 0; i2 < clusterSymbol.Databases.Count; i2++) {
281
+ var databaseSymbol = clusterSymbol.Databases.getItem(i2);
282
+ if (databaseSymbol.Tables.Count > 0) { // only include database with tables
283
+ this._nonEmptyDatabaseSetInGlobalState.add(this.createDatabaseUniqueName(clusterSymbol.Name, databaseSymbol.Name));
284
+ }
285
+ }
286
+ }
287
+ },
288
+ enumerable: false,
289
+ configurable: true
290
+ });
258
291
  KustoLanguageService.prototype.configure = function (languageSettings) {
259
292
  this._languageSettings = languageSettings;
260
293
  // Since we're still reverting to V1 intellisense for control commands, we need to update the rules provider
@@ -264,15 +297,43 @@ var KustoLanguageService = /** @class */ (function () {
264
297
  KustoLanguageService.prototype.doComplete = function (document, position) {
265
298
  return this.isIntellisenseV2() ? this.doCompleteV2(document, position) : this.doCompleteV1(document, position);
266
299
  };
300
+ /**
301
+ * important: Only use during development to test Global State.
302
+ * Prints clusters, databases and tables that are currently in the GlobalState.
303
+ */
304
+ KustoLanguageService.prototype.debugGlobalState = function (globals) {
305
+ // iterate over clusters
306
+ console.log("globals.Clusters.Count: " + globals.Clusters.Count);
307
+ for (var i = 0; i < globals.Clusters.Count; i++) {
308
+ var cluster = globals.Clusters.getItem(i);
309
+ console.log("cluster: " + cluster.Name);
310
+ // iterate over databases
311
+ console.log("cluster.Databases.Count: " + cluster.Databases.Count);
312
+ for (var i2 = 0; i2 < cluster.Databases.Count; i2++) {
313
+ var database = cluster.Databases.getItem(i2);
314
+ console.log("cluster.database: [" + cluster.Name + "].[" + database.Name + "]");
315
+ // iterate over tables
316
+ console.log("cluster.Databases.Tables.Count: " + database.Tables.Count);
317
+ for (var i3 = 0; i3 < database.Tables.Count; i3++) {
318
+ var table = database.Tables.getItem(i3);
319
+ console.log("cluster.database.table: [" + cluster.Name + "].[" + database.Name + "].[" + table.Name + "]");
320
+ }
321
+ }
322
+ }
323
+ };
267
324
  KustoLanguageService.prototype.doCompleteV2 = function (document, position) {
268
325
  var _this = this;
269
326
  if (!document) {
270
327
  return Promise.resolve(ls.CompletionList.create([]));
271
328
  }
272
329
  var script = this.parseDocumentV2(document);
330
+ // print cluster/database/tables from CodeScript.Globals
331
+ // this.debugGlobalState(script.Globals);
332
+ // get current command
273
333
  var cursorOffset = document.offsetAt(position);
274
- var currentcommand = this.getCurrentCommandV2(script, cursorOffset);
275
- var completionItems = currentcommand.Service.GetCompletionItems(cursorOffset);
334
+ var currentCommand = script.GetBlockAtPosition(cursorOffset);
335
+ // get completion items
336
+ var completionItems = currentCommand.Service.GetCompletionItems(cursorOffset);
276
337
  var disabledItems = this.disabledCompletionItemsV2;
277
338
  if (this._languageSettings.disabledCompletionItems) {
278
339
  this._languageSettings.disabledCompletionItems.map(function (item) {
@@ -439,6 +500,61 @@ var KustoLanguageService = /** @class */ (function () {
439
500
  });
440
501
  });
441
502
  };
503
+ KustoLanguageService.prototype.getClusterReferences = function (document, cursorOffset) {
504
+ var _a;
505
+ var script = this.parseDocumentV2(document);
506
+ var currentBlock = this.getCurrentCommandV2(script, cursorOffset);
507
+ var clusterReferences = (_a = currentBlock === null || currentBlock === void 0 ? void 0 : currentBlock.Service) === null || _a === void 0 ? void 0 : _a.GetClusterReferences();
508
+ if (!clusterReferences) {
509
+ return Promise.resolve([]);
510
+ }
511
+ var newClustersReferences = [];
512
+ var newClustersReferencesSet = new Set(); // used to remove duplicates
513
+ // Keep only unique clusters that aren't already exist in the Global State
514
+ for (var i = 0; i < clusterReferences.Count; i++) {
515
+ var clusterReference = clusterReferences.getItem(i);
516
+ var clusterHostName = clusterReference.Cluster;
517
+ // ignore duplicates
518
+ if (newClustersReferencesSet.has(clusterHostName)) {
519
+ continue;
520
+ }
521
+ newClustersReferencesSet.add(clusterHostName);
522
+ // ignore references that are already in the GlobalState.
523
+ if (!this._clustersSetInGlobalState.has(clusterHostName.toLowerCase())) {
524
+ newClustersReferences.push({ clusterName: clusterHostName });
525
+ }
526
+ }
527
+ return Promise.resolve(newClustersReferences);
528
+ };
529
+ KustoLanguageService.prototype.getDatabaseReferences = function (document, cursorOffset) {
530
+ var _a;
531
+ var script = this.parseDocumentV2(document);
532
+ var currentBlock = this.getCurrentCommandV2(script, cursorOffset);
533
+ var databasesReferences = (_a = currentBlock === null || currentBlock === void 0 ? void 0 : currentBlock.Service) === null || _a === void 0 ? void 0 : _a.GetDatabaseReferences();
534
+ if (!databasesReferences) {
535
+ return Promise.resolve([]);
536
+ }
537
+ var newDatabasesReferences = [];
538
+ var newDatabasesReferencesSet = new Set();
539
+ for (var i1 = 0; i1 < databasesReferences.Count; i1++) {
540
+ var databaseReference = databasesReferences.getItem(i1);
541
+ // ignore duplicates
542
+ var databaseReferenceUniqueId = this.createDatabaseUniqueName(databaseReference.Cluster, databaseReference.Database);
543
+ if (newDatabasesReferencesSet.has(databaseReferenceUniqueId)) {
544
+ continue;
545
+ }
546
+ newDatabasesReferencesSet.add(databaseReferenceUniqueId);
547
+ // ignore references that are already in the GlobalState.
548
+ var foundInGlobalState = this._nonEmptyDatabaseSetInGlobalState.has(databaseReferenceUniqueId);
549
+ if (!foundInGlobalState) {
550
+ newDatabasesReferences.push({
551
+ databaseName: databaseReference.Database,
552
+ clusterName: databaseReference.Cluster
553
+ });
554
+ }
555
+ }
556
+ return Promise.resolve(newDatabasesReferences);
557
+ };
442
558
  KustoLanguageService.prototype.doValidation = function (document, changeIntervals) {
443
559
  var _this = this;
444
560
  // didn't implement validation for v1.
@@ -579,6 +695,46 @@ var KustoLanguageService = /** @class */ (function () {
579
695
  : false;
580
696
  });
581
697
  };
698
+ KustoLanguageService.prototype.addClusterToSchema = function (document, clusterName, databaseNames) {
699
+ var clusterNameOnly = Kusto.Language.KustoFacts.GetHostName(clusterName);
700
+ var cluster = this._kustoJsSchemaV2.GetCluster$1(clusterNameOnly);
701
+ if (cluster) {
702
+ // add databases that are not already in the cluster.
703
+ databaseNames
704
+ .filter(function (databaseName) { return !cluster.GetDatabase(databaseName); })
705
+ .map(function (databaseName) {
706
+ var symbol = new sym.DatabaseSymbol.$ctor1(databaseName, undefined, false);
707
+ cluster = cluster.AddDatabase(symbol);
708
+ });
709
+ }
710
+ if (!cluster) {
711
+ var databaseSymbols = databaseNames
712
+ .map(function (databaseName) {
713
+ var symbol = new sym.DatabaseSymbol.$ctor1(databaseName, undefined, false);
714
+ return symbol;
715
+ });
716
+ var databaseSymbolsList = KustoLanguageService.toBridgeList(databaseSymbols);
717
+ cluster = new sym.ClusterSymbol.$ctor1(clusterNameOnly, databaseSymbolsList, false);
718
+ }
719
+ this._kustoJsSchemaV2 = this._kustoJsSchemaV2.AddOrReplaceCluster(cluster);
720
+ this._script = k2.CodeScript.From$1(document.getText(), this._kustoJsSchemaV2);
721
+ return Promise.resolve();
722
+ };
723
+ KustoLanguageService.prototype.addDatabaseToSchema = function (document, clusterName, databaseSchema) {
724
+ var _this = this;
725
+ return new Promise(function (resolve) {
726
+ var clusterHostName = Kusto.Language.KustoFacts.GetHostName(clusterName);
727
+ var cluster = _this._kustoJsSchemaV2.GetCluster$1(clusterHostName);
728
+ if (!cluster) {
729
+ cluster = new sym.ClusterSymbol.$ctor1(clusterHostName, null, false);
730
+ }
731
+ var databaseSymbol = KustoLanguageService.convertToDatabaseSymbol(databaseSchema);
732
+ cluster = cluster.AddOrUpdateDatabase(databaseSymbol);
733
+ _this._kustoJsSchemaV2 = _this._kustoJsSchemaV2.AddOrReplaceCluster(cluster);
734
+ _this._script = k2.CodeScript.From$1(document.getText(), _this._kustoJsSchemaV2);
735
+ resolve();
736
+ });
737
+ };
582
738
  KustoLanguageService.prototype.setSchema = function (schema) {
583
739
  var _this = this;
584
740
  this._schema = schema;
@@ -1293,7 +1449,7 @@ var KustoLanguageService = /** @class */ (function () {
1293
1449
  var argumentType = new sym.TableSymbol.ctor(param.columns.map(function (col) { return KustoLanguageService.createColumnSymbol(col); }));
1294
1450
  return new sym.Parameter.$ctor2(param.name, argumentType);
1295
1451
  };
1296
- KustoLanguageService.convertToDatabaseSymbol = function (db, globalState, addFunctions) {
1452
+ KustoLanguageService.convertToDatabaseSymbol = function (db) {
1297
1453
  var createFunctionSymbol = function (fn) {
1298
1454
  var parameters = fn.inputParameters.map(function (param) {
1299
1455
  return KustoLanguageService.createParameter(param);
@@ -1350,7 +1506,7 @@ var KustoLanguageService = /** @class */ (function () {
1350
1506
  cachedDb.database.majorVersion < db.majorVersion ||
1351
1507
  (shouldIncludeFunctions && !cachedDb.includesFunctions)) {
1352
1508
  // only add functions for the database in context (it's very time consuming)
1353
- var databaseSymbol_1 = KustoLanguageService.convertToDatabaseSymbol(db, globalState, shouldIncludeFunctions);
1509
+ var databaseSymbol_1 = KustoLanguageService.convertToDatabaseSymbol(db);
1354
1510
  cached[db.name] = { database: db, symbol: databaseSymbol_1, includesFunctions: shouldIncludeFunctions };
1355
1511
  }
1356
1512
  var databaseSymbol = cached[db.name].symbol;
@@ -119,6 +119,33 @@ declare module monaco.languages.kusto {
119
119
  doCurrentCommandFormat(uri: string, caretPosition: ls.Position): Promise<ls.TextEdit[]>;
120
120
  doValidation(uri: string, intervals: { start: number; end: number }[]): Promise<ls.Diagnostic[]>;
121
121
  setParameters(parameters: ScalarParameter[]): void;
122
+ /**
123
+ * Get all the database references from the current command.
124
+ * If database's schema is already cached it will not be returned.
125
+ * This method should be used to get all the cross-databases in a command, then schema for the database should be fetched and added with addDatabaseToSchema.
126
+ * @example
127
+ * If the current command includes: cluster('help').database('Samples')
128
+ * it returns [{ clusterName: 'help', databaseName 'Samples' }]
129
+ */
130
+ getDatabaseReferences(uri: string, cursorOffset: number): Promise<DatabaseReference[]>;
131
+ /**
132
+ * Get all the cluster references from the current command.
133
+ * If cluster's schema is already cached it will not be returned.
134
+ * This method should be used to get all the cross-clusters in a command, then schema for the cluster should be fetched and added with addClusterToSchema.
135
+ * @example
136
+ * If the current command includes: cluster('help')
137
+ * it returns [{ clusterName: 'help' }]
138
+ */
139
+ getClusterReferences(uri: string, cursorOffset: number): Promise<ClusterReference[]>;
140
+ /**
141
+ * Adds a database's scheme. Useful with getDatabaseReferences to load schema for cross-cluster commands.
142
+ */
143
+ addDatabaseToSchema(uri: string, clusterName: string, databaseSchema: Database): Promise<void>;
144
+ /**
145
+ * Adds a cluster's scheme (database names only). Useful with getClusterReferences to load schema for cross-cluster commands.
146
+ * To load a full database schema call addDatabaseToSchema.
147
+ */
148
+ addClusterToSchema(uri: string, clusterName: string, databasesNames: string[]): Promise<void>;
122
149
  }
123
150
 
124
151
  /**
@@ -234,6 +261,15 @@ declare module monaco.languages.kusto {
234
261
  location: { startOffset: number; endOffset: number };
235
262
  }
236
263
 
264
+ export interface DatabaseReference {
265
+ databaseName: string;
266
+ clusterName: string;
267
+ };
268
+
269
+ export interface ClusterReference {
270
+ clusterName: string;
271
+ }
272
+
237
273
  export type RenderOptionKeys = keyof RenderOptions;
238
274
 
239
275
  export type OnDidProvideCompletionItems = (list: ls.CompletionList) => Promise<ls.CompletionList>;
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 4.0.6(undefined)
3
+ * monaco-kusto version: 4.1.0(undefined)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -1,10 +1,10 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 4.0.6(undefined)
3
+ * monaco-kusto version: 4.1.0(undefined)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
- define("vs/language/kusto/languageService/schema",["require","exports"],(function(e,d){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getInputParametersAsCslString=d.getExpression=d.getCallName=d.getEntityDataTypeFromCslType=d.getCslTypeNameFromClrType=void 0;var u={"System.SByte":"bool","System.Byte":"uint8","System.Int16":"int16","System.UInt16":"uint16","System.Int32":"int","System.UInt32":"uint","System.Int64":"long","System.UInt64":"ulong","System.String":"string","System.Single":"float","System.Double":"real","System.DateTime":"datetime","System.TimeSpan":"timespan","System.Guid":"guid","System.Boolean":"bool","Newtonsoft.Json.Linq.JArray":"dynamic","Newtonsoft.Json.Linq.JObject":"dynamic","Newtonsoft.Json.Linq.JToken":"dynamic","System.Object":"dynamic","System.Data.SqlTypes.SqlDecimal":"decimal"};d.getCslTypeNameFromClrType=function(e){return u[e]||e};var n={object:"Object",bool:"Boolean",uint8:"Byte",int16:"Int16",uint16:"UInt16",int:"Int32",uint:"UInt32",long:"Int64",ulong:"UInt64",float:"Single",real:"Double",decimal:"Decimal",datetime:"DateTime",string:"String",dynamic:"Dynamic",timespan:"TimeSpan"};d.getEntityDataTypeFromCslType=function(e){return n[e]||e},d.getCallName=function(e){return e.name+"("+e.inputParameters.map((function(e){return"{"+e.name+"}"})).join(",")+")"},d.getExpression=function(e){return"let "+e.name+" = "+d.getInputParametersAsCslString(e.inputParameters)+" "+e.body},d.getInputParametersAsCslString=function(e){return"("+e.map((function(e){return t(e)})).join(",")+")"};var t=function(e){if(e.columns&&e.columns.length>0){var u=e.columns.map((function(e){return e.name+":"+(e.cslType||d.getCslTypeNameFromClrType(e.type))})).join(",");return e.name+":"+(""===u?"*":u)}return e.name+":"+(e.cslType||d.getCslTypeNameFromClrType(e.type))}})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var d=e(require,exports);void 0!==d&&(module.exports=d)}else"function"==typeof define&&define.amd&&define("vscode-languageserver-types/main",["require","exports"],e)}((function(e,d){"use strict";var u,n,t,a,r,i,o,c,f,s,l,m,p;Object.defineProperty(d,"__esModule",{value:!0}),function(e){e.create=function(e,d){return{line:e,character:d}},e.is=function(e){var d=e;return _.objectLiteral(d)&&_.number(d.line)&&_.number(d.character)}}(u=d.Position||(d.Position={})),function(e){e.create=function(e,d,n,t){if(_.number(e)&&_.number(d)&&_.number(n)&&_.number(t))return{start:u.create(e,d),end:u.create(n,t)};if(u.is(e)&&u.is(d))return{start:e,end:d};throw new Error("Range#create called with invalid arguments["+e+", "+d+", "+n+", "+t+"]")},e.is=function(e){var d=e;return _.objectLiteral(d)&&u.is(d.start)&&u.is(d.end)}}(n=d.Range||(d.Range={})),function(e){e.create=function(e,d){return{uri:e,range:d}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.string(d.uri)||_.undefined(d.uri))}}(t=d.Location||(d.Location={})),function(e){e.create=function(e,d,u,n){return{targetUri:e,targetRange:d,targetSelectionRange:u,originSelectionRange:n}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.targetRange)&&_.string(d.targetUri)&&(n.is(d.targetSelectionRange)||_.undefined(d.targetSelectionRange))&&(n.is(d.originSelectionRange)||_.undefined(d.originSelectionRange))}}(d.LocationLink||(d.LocationLink={})),function(e){e.create=function(e,d,u,n){return{red:e,green:d,blue:u,alpha:n}},e.is=function(e){var d=e;return _.number(d.red)&&_.number(d.green)&&_.number(d.blue)&&_.number(d.alpha)}}(a=d.Color||(d.Color={})),function(e){e.create=function(e,d){return{range:e,color:d}},e.is=function(e){var d=e;return n.is(d.range)&&a.is(d.color)}}(d.ColorInformation||(d.ColorInformation={})),function(e){e.create=function(e,d,u){return{label:e,textEdit:d,additionalTextEdits:u}},e.is=function(e){var d=e;return _.string(d.label)&&(_.undefined(d.textEdit)||c.is(d))&&(_.undefined(d.additionalTextEdits)||_.typedArray(d.additionalTextEdits,c.is))}}(d.ColorPresentation||(d.ColorPresentation={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d.FoldingRangeKind||(d.FoldingRangeKind={})),function(e){e.create=function(e,d,u,n,t){var a={startLine:e,endLine:d};return _.defined(u)&&(a.startCharacter=u),_.defined(n)&&(a.endCharacter=n),_.defined(t)&&(a.kind=t),a},e.is=function(e){var d=e;return _.number(d.startLine)&&_.number(d.startLine)&&(_.undefined(d.startCharacter)||_.number(d.startCharacter))&&(_.undefined(d.endCharacter)||_.number(d.endCharacter))&&(_.undefined(d.kind)||_.string(d.kind))}}(d.FoldingRange||(d.FoldingRange={})),function(e){e.create=function(e,d){return{location:e,message:d}},e.is=function(e){var d=e;return _.defined(d)&&t.is(d.location)&&_.string(d.message)}}(r=d.DiagnosticRelatedInformation||(d.DiagnosticRelatedInformation={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(d.DiagnosticSeverity||(d.DiagnosticSeverity={})),function(e){e.Unnecessary=1,e.Deprecated=2}(d.DiagnosticTag||(d.DiagnosticTag={})),function(e){e.create=function(e,d,u,n,t,a){var r={range:e,message:d};return _.defined(u)&&(r.severity=u),_.defined(n)&&(r.code=n),_.defined(t)&&(r.source=t),_.defined(a)&&(r.relatedInformation=a),r},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&_.string(d.message)&&(_.number(d.severity)||_.undefined(d.severity))&&(_.number(d.code)||_.string(d.code)||_.undefined(d.code))&&(_.string(d.source)||_.undefined(d.source))&&(_.undefined(d.relatedInformation)||_.typedArray(d.relatedInformation,r.is))}}(i=d.Diagnostic||(d.Diagnostic={})),function(e){e.create=function(e,d){for(var u=[],n=2;n<arguments.length;n++)u[n-2]=arguments[n];var t={title:e,command:d};return _.defined(u)&&u.length>0&&(t.arguments=u),t},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.title)&&_.string(d.command)}}(o=d.Command||(d.Command={})),function(e){e.replace=function(e,d){return{range:e,newText:d}},e.insert=function(e,d){return{range:{start:e,end:e},newText:d}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var d=e;return _.objectLiteral(d)&&_.string(d.newText)&&n.is(d.range)}}(c=d.TextEdit||(d.TextEdit={})),function(e){e.create=function(e,d){return{textDocument:e,edits:d}},e.is=function(e){var d=e;return _.defined(d)&&b.is(d.textDocument)&&Array.isArray(d.edits)}}(f=d.TextDocumentEdit||(d.TextDocumentEdit={})),function(e){e.create=function(e,d){var u={kind:"create",uri:e};return void 0===d||void 0===d.overwrite&&void 0===d.ignoreIfExists||(u.options=d),u},e.is=function(e){var d=e;return d&&"create"===d.kind&&_.string(d.uri)&&(void 0===d.options||(void 0===d.options.overwrite||_.boolean(d.options.overwrite))&&(void 0===d.options.ignoreIfExists||_.boolean(d.options.ignoreIfExists)))}}(s=d.CreateFile||(d.CreateFile={})),function(e){e.create=function(e,d,u){var n={kind:"rename",oldUri:e,newUri:d};return void 0===u||void 0===u.overwrite&&void 0===u.ignoreIfExists||(n.options=u),n},e.is=function(e){var d=e;return d&&"rename"===d.kind&&_.string(d.oldUri)&&_.string(d.newUri)&&(void 0===d.options||(void 0===d.options.overwrite||_.boolean(d.options.overwrite))&&(void 0===d.options.ignoreIfExists||_.boolean(d.options.ignoreIfExists)))}}(l=d.RenameFile||(d.RenameFile={})),function(e){e.create=function(e,d){var u={kind:"delete",uri:e};return void 0===d||void 0===d.recursive&&void 0===d.ignoreIfNotExists||(u.options=d),u},e.is=function(e){var d=e;return d&&"delete"===d.kind&&_.string(d.uri)&&(void 0===d.options||(void 0===d.options.recursive||_.boolean(d.options.recursive))&&(void 0===d.options.ignoreIfNotExists||_.boolean(d.options.ignoreIfNotExists)))}}(m=d.DeleteFile||(d.DeleteFile={})),function(e){e.is=function(e){var d=e;return d&&(void 0!==d.changes||void 0!==d.documentChanges)&&(void 0===d.documentChanges||d.documentChanges.every((function(e){return _.string(e.kind)?s.is(e)||l.is(e)||m.is(e):f.is(e)})))}}(p=d.WorkspaceEdit||(d.WorkspaceEdit={}));var b,g,h,v,y=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,d){this.edits.push(c.insert(e,d))},e.prototype.replace=function(e,d){this.edits.push(c.replace(e,d))},e.prototype.delete=function(e){this.edits.push(c.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),C=function(){function e(e){var d=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(f.is(e)){var u=new y(e.edits);d._textEditChanges[e.textDocument.uri]=u}})):e.changes&&Object.keys(e.changes).forEach((function(u){var n=new y(e.changes[u]);d._textEditChanges[u]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(b.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var d=e;if(!(n=this._textEditChanges[d.uri])){var u={textDocument:d,edits:t=[]};this._workspaceEdit.documentChanges.push(u),n=new y(t),this._textEditChanges[d.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var t=[];this._workspaceEdit.changes[e]=t,n=new y(t),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,d){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(s.create(e,d))},e.prototype.renameFile=function(e,d,u){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(l.create(e,d,u))},e.prototype.deleteFile=function(e,d){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(m.create(e,d))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();d.WorkspaceChange=C,function(e){e.create=function(e){return{uri:e}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)}}(d.TextDocumentIdentifier||(d.TextDocumentIdentifier={})),function(e){e.create=function(e,d){return{uri:e,version:d}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)&&(null===d.version||_.number(d.version))}}(b=d.VersionedTextDocumentIdentifier||(d.VersionedTextDocumentIdentifier={})),function(e){e.create=function(e,d,u,n){return{uri:e,languageId:d,version:u,text:n}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)&&_.string(d.languageId)&&_.number(d.version)&&_.string(d.text)}}(d.TextDocumentItem||(d.TextDocumentItem={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(g=d.MarkupKind||(d.MarkupKind={})),function(e){e.is=function(d){var u=d;return u===e.PlainText||u===e.Markdown}}(g=d.MarkupKind||(d.MarkupKind={})),function(e){e.is=function(e){var d=e;return _.objectLiteral(e)&&g.is(d.kind)&&_.string(d.value)}}(h=d.MarkupContent||(d.MarkupContent={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(d.CompletionItemKind||(d.CompletionItemKind={})),function(e){e.PlainText=1,e.Snippet=2}(d.InsertTextFormat||(d.InsertTextFormat={})),function(e){e.Deprecated=1}(d.CompletionItemTag||(d.CompletionItemTag={})),function(e){e.create=function(e){return{label:e}}}(d.CompletionItem||(d.CompletionItem={})),function(e){e.create=function(e,d){return{items:e||[],isIncomplete:!!d}}}(d.CompletionList||(d.CompletionList={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var d=e;return _.string(d)||_.objectLiteral(d)&&_.string(d.language)&&_.string(d.value)}}(v=d.MarkedString||(d.MarkedString={})),function(e){e.is=function(e){var d=e;return!!d&&_.objectLiteral(d)&&(h.is(d.contents)||v.is(d.contents)||_.typedArray(d.contents,v.is))&&(void 0===e.range||n.is(e.range))}}(d.Hover||(d.Hover={})),function(e){e.create=function(e,d){return d?{label:e,documentation:d}:{label:e}}}(d.ParameterInformation||(d.ParameterInformation={})),function(e){e.create=function(e,d){for(var u=[],n=2;n<arguments.length;n++)u[n-2]=arguments[n];var t={label:e};return _.defined(d)&&(t.documentation=d),_.defined(u)?t.parameters=u:t.parameters=[],t}}(d.SignatureInformation||(d.SignatureInformation={})),function(e){e.Text=1,e.Read=2,e.Write=3}(d.DocumentHighlightKind||(d.DocumentHighlightKind={})),function(e){e.create=function(e,d){var u={range:e};return _.number(d)&&(u.kind=d),u}}(d.DocumentHighlight||(d.DocumentHighlight={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(d.SymbolKind||(d.SymbolKind={})),function(e){e.Deprecated=1}(d.SymbolTag||(d.SymbolTag={})),function(e){e.create=function(e,d,u,n,t){var a={name:e,kind:d,location:{uri:n,range:u}};return t&&(a.containerName=t),a}}(d.SymbolInformation||(d.SymbolInformation={})),function(e){e.create=function(e,d,u,n,t,a){var r={name:e,detail:d,kind:u,range:n,selectionRange:t};return void 0!==a&&(r.children=a),r},e.is=function(e){var d=e;return d&&_.string(d.name)&&_.number(d.kind)&&n.is(d.range)&&n.is(d.selectionRange)&&(void 0===d.detail||_.string(d.detail))&&(void 0===d.deprecated||_.boolean(d.deprecated))&&(void 0===d.children||Array.isArray(d.children))}}(d.DocumentSymbol||(d.DocumentSymbol={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(d.CodeActionKind||(d.CodeActionKind={})),function(e){e.create=function(e,d){var u={diagnostics:e};return null!=d&&(u.only=d),u},e.is=function(e){var d=e;return _.defined(d)&&_.typedArray(d.diagnostics,i.is)&&(void 0===d.only||_.typedArray(d.only,_.string))}}(d.CodeActionContext||(d.CodeActionContext={})),function(e){e.create=function(e,d,u){var n={title:e};return o.is(d)?n.command=d:n.edit=d,void 0!==u&&(n.kind=u),n},e.is=function(e){var d=e;return d&&_.string(d.title)&&(void 0===d.diagnostics||_.typedArray(d.diagnostics,i.is))&&(void 0===d.kind||_.string(d.kind))&&(void 0!==d.edit||void 0!==d.command)&&(void 0===d.command||o.is(d.command))&&(void 0===d.isPreferred||_.boolean(d.isPreferred))&&(void 0===d.edit||p.is(d.edit))}}(d.CodeAction||(d.CodeAction={})),function(e){e.create=function(e,d){var u={range:e};return _.defined(d)&&(u.data=d),u},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.undefined(d.command)||o.is(d.command))}}(d.CodeLens||(d.CodeLens={})),function(e){e.create=function(e,d){return{tabSize:e,insertSpaces:d}},e.is=function(e){var d=e;return _.defined(d)&&_.number(d.tabSize)&&_.boolean(d.insertSpaces)}}(d.FormattingOptions||(d.FormattingOptions={})),function(e){e.create=function(e,d,u){return{range:e,target:d,data:u}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.undefined(d.target)||_.string(d.target))}}(d.DocumentLink||(d.DocumentLink={})),function(e){e.create=function(e,d){return{range:e,parent:d}},e.is=function(d){var u=d;return void 0!==u&&n.is(u.range)&&(void 0===u.parent||e.is(u.parent))}}(d.SelectionRange||(d.SelectionRange={})),d.EOL=["\n","\r\n","\r"],function(e){e.create=function(e,d,u,n){return new I(e,d,u,n)},e.is=function(e){var d=e;return!!(_.defined(d)&&_.string(d.uri)&&(_.undefined(d.languageId)||_.string(d.languageId))&&_.number(d.lineCount)&&_.func(d.getText)&&_.func(d.positionAt)&&_.func(d.offsetAt))},e.applyEdits=function(e,d){for(var u=e.getText(),n=function e(d,u){if(d.length<=1)return d;var n=d.length/2|0,t=d.slice(0,n),a=d.slice(n);e(t,u),e(a,u);var r=0,i=0,o=0;for(;r<t.length&&i<a.length;){var c=u(t[r],a[i]);d[o++]=c<=0?t[r++]:a[i++]}for(;r<t.length;)d[o++]=t[r++];for(;i<a.length;)d[o++]=a[i++];return d}(d,(function(e,d){var u=e.range.start.line-d.range.start.line;return 0===u?e.range.start.character-d.range.start.character:u})),t=u.length,a=n.length-1;a>=0;a--){var r=n[a],i=e.offsetAt(r.range.start),o=e.offsetAt(r.range.end);if(!(o<=t))throw new Error("Overlapping edit");u=u.substring(0,i)+r.newText+u.substring(o,u.length),t=i}return u}}(d.TextDocument||(d.TextDocument={}));var _,I=function(){function e(e,d,u,n){this._uri=e,this._languageId=d,this._version=u,this._content=n,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var d=this.offsetAt(e.start),u=this.offsetAt(e.end);return this._content.substring(d,u)}return this._content},e.prototype.update=function(e,d){this._content=e.text,this._version=d,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],d=this._content,u=!0,n=0;n<d.length;n++){u&&(e.push(n),u=!1);var t=d.charAt(n);u="\r"===t||"\n"===t,"\r"===t&&n+1<d.length&&"\n"===d.charAt(n+1)&&n++}u&&d.length>0&&e.push(d.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var d=this.getLineOffsets(),n=0,t=d.length;if(0===t)return u.create(0,e);for(;n<t;){var a=Math.floor((n+t)/2);d[a]>e?t=a:n=a+1}var r=n-1;return u.create(r,e-d[r])},e.prototype.offsetAt=function(e){var d=this.getLineOffsets();if(e.line>=d.length)return this._content.length;if(e.line<0)return 0;var u=d[e.line],n=e.line+1<d.length?d[e.line+1]:this._content.length;return Math.max(Math.min(u+e.character,n),u)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var d=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===d.call(e)},e.number=function(e){return"[object Number]"===d.call(e)},e.func=function(e){return"[object Function]"===d.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,d){return Array.isArray(e)&&e.every(d)}}(_||(_={}))})),define("vscode-languageserver-types",["vscode-languageserver-types/main"],(function(e){return e})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("xregexp/xregexp-all",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).XRegExp=e()}}((function(){return function e(d,u,n){function t(r,i){if(!u[r]){if(!d[r]){var o="function"==typeof require&&require;if(!i&&o)return o(r,!0);if(a)return a(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var f=u[r]={exports:{}};d[r][0].call(f.exports,(function(e){var u=d[r][1][e];return t(u||e)}),f,f.exports,e,d,u,n)}return u[r].exports}for(var a="function"==typeof require&&require,r=0;r<n.length;r++)t(n[r]);return t}({1:[function(e,d,u){
7
+ define("vs/language/kusto/languageService/schema",["require","exports"],(function(e,d){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getInputParametersAsCslString=d.getExpression=d.getCallName=d.getEntityDataTypeFromCslType=d.getCslTypeNameFromClrType=void 0;var u={"System.SByte":"bool","System.Byte":"uint8","System.Int16":"int16","System.UInt16":"uint16","System.Int32":"int","System.UInt32":"uint","System.Int64":"long","System.UInt64":"ulong","System.String":"string","System.Single":"float","System.Double":"real","System.DateTime":"datetime","System.TimeSpan":"timespan","System.Guid":"guid","System.Boolean":"bool","Newtonsoft.Json.Linq.JArray":"dynamic","Newtonsoft.Json.Linq.JObject":"dynamic","Newtonsoft.Json.Linq.JToken":"dynamic","System.Object":"dynamic","System.Data.SqlTypes.SqlDecimal":"decimal"};d.getCslTypeNameFromClrType=function(e){return u[e]||e};var n={object:"Object",bool:"Boolean",uint8:"Byte",int16:"Int16",uint16:"UInt16",int:"Int32",uint:"UInt32",long:"Int64",ulong:"UInt64",float:"Single",real:"Double",decimal:"Decimal",datetime:"DateTime",string:"String",dynamic:"Dynamic",timespan:"TimeSpan"};d.getEntityDataTypeFromCslType=function(e){return n[e]||e},d.getCallName=function(e){return e.name+"("+e.inputParameters.map((function(e){return"{"+e.name+"}"})).join(",")+")"},d.getExpression=function(e){return"let "+e.name+" = "+d.getInputParametersAsCslString(e.inputParameters)+" "+e.body},d.getInputParametersAsCslString=function(e){return"("+e.map((function(e){return t(e)})).join(",")+")"};var t=function(e){if(e.columns&&e.columns.length>0){var u=e.columns.map((function(e){return e.name+":"+(e.cslType||d.getCslTypeNameFromClrType(e.type))})).join(",");return e.name+":"+(""===u?"*":u)}return e.name+":"+(e.cslType||d.getCslTypeNameFromClrType(e.type))}})),function(e){if("object"==typeof module&&"object"==typeof module.exports){var d=e(require,exports);void 0!==d&&(module.exports=d)}else"function"==typeof define&&define.amd&&define("vscode-languageserver-types/main",["require","exports"],e)}((function(e,d){"use strict";var u,n,t,a,r,i,o,c,f,s,l,m,p;Object.defineProperty(d,"__esModule",{value:!0}),function(e){e.create=function(e,d){return{line:e,character:d}},e.is=function(e){var d=e;return _.objectLiteral(d)&&_.number(d.line)&&_.number(d.character)}}(u=d.Position||(d.Position={})),function(e){e.create=function(e,d,n,t){if(_.number(e)&&_.number(d)&&_.number(n)&&_.number(t))return{start:u.create(e,d),end:u.create(n,t)};if(u.is(e)&&u.is(d))return{start:e,end:d};throw new Error("Range#create called with invalid arguments["+e+", "+d+", "+n+", "+t+"]")},e.is=function(e){var d=e;return _.objectLiteral(d)&&u.is(d.start)&&u.is(d.end)}}(n=d.Range||(d.Range={})),function(e){e.create=function(e,d){return{uri:e,range:d}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.string(d.uri)||_.undefined(d.uri))}}(t=d.Location||(d.Location={})),function(e){e.create=function(e,d,u,n){return{targetUri:e,targetRange:d,targetSelectionRange:u,originSelectionRange:n}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.targetRange)&&_.string(d.targetUri)&&(n.is(d.targetSelectionRange)||_.undefined(d.targetSelectionRange))&&(n.is(d.originSelectionRange)||_.undefined(d.originSelectionRange))}}(d.LocationLink||(d.LocationLink={})),function(e){e.create=function(e,d,u,n){return{red:e,green:d,blue:u,alpha:n}},e.is=function(e){var d=e;return _.number(d.red)&&_.number(d.green)&&_.number(d.blue)&&_.number(d.alpha)}}(a=d.Color||(d.Color={})),function(e){e.create=function(e,d){return{range:e,color:d}},e.is=function(e){var d=e;return n.is(d.range)&&a.is(d.color)}}(d.ColorInformation||(d.ColorInformation={})),function(e){e.create=function(e,d,u){return{label:e,textEdit:d,additionalTextEdits:u}},e.is=function(e){var d=e;return _.string(d.label)&&(_.undefined(d.textEdit)||c.is(d))&&(_.undefined(d.additionalTextEdits)||_.typedArray(d.additionalTextEdits,c.is))}}(d.ColorPresentation||(d.ColorPresentation={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d.FoldingRangeKind||(d.FoldingRangeKind={})),function(e){e.create=function(e,d,u,n,t){var a={startLine:e,endLine:d};return _.defined(u)&&(a.startCharacter=u),_.defined(n)&&(a.endCharacter=n),_.defined(t)&&(a.kind=t),a},e.is=function(e){var d=e;return _.number(d.startLine)&&_.number(d.startLine)&&(_.undefined(d.startCharacter)||_.number(d.startCharacter))&&(_.undefined(d.endCharacter)||_.number(d.endCharacter))&&(_.undefined(d.kind)||_.string(d.kind))}}(d.FoldingRange||(d.FoldingRange={})),function(e){e.create=function(e,d){return{location:e,message:d}},e.is=function(e){var d=e;return _.defined(d)&&t.is(d.location)&&_.string(d.message)}}(r=d.DiagnosticRelatedInformation||(d.DiagnosticRelatedInformation={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(d.DiagnosticSeverity||(d.DiagnosticSeverity={})),function(e){e.Unnecessary=1,e.Deprecated=2}(d.DiagnosticTag||(d.DiagnosticTag={})),function(e){e.create=function(e,d,u,n,t,a){var r={range:e,message:d};return _.defined(u)&&(r.severity=u),_.defined(n)&&(r.code=n),_.defined(t)&&(r.source=t),_.defined(a)&&(r.relatedInformation=a),r},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&_.string(d.message)&&(_.number(d.severity)||_.undefined(d.severity))&&(_.number(d.code)||_.string(d.code)||_.undefined(d.code))&&(_.string(d.source)||_.undefined(d.source))&&(_.undefined(d.relatedInformation)||_.typedArray(d.relatedInformation,r.is))}}(i=d.Diagnostic||(d.Diagnostic={})),function(e){e.create=function(e,d){for(var u=[],n=2;n<arguments.length;n++)u[n-2]=arguments[n];var t={title:e,command:d};return _.defined(u)&&u.length>0&&(t.arguments=u),t},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.title)&&_.string(d.command)}}(o=d.Command||(d.Command={})),function(e){e.replace=function(e,d){return{range:e,newText:d}},e.insert=function(e,d){return{range:{start:e,end:e},newText:d}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var d=e;return _.objectLiteral(d)&&_.string(d.newText)&&n.is(d.range)}}(c=d.TextEdit||(d.TextEdit={})),function(e){e.create=function(e,d){return{textDocument:e,edits:d}},e.is=function(e){var d=e;return _.defined(d)&&b.is(d.textDocument)&&Array.isArray(d.edits)}}(f=d.TextDocumentEdit||(d.TextDocumentEdit={})),function(e){e.create=function(e,d){var u={kind:"create",uri:e};return void 0===d||void 0===d.overwrite&&void 0===d.ignoreIfExists||(u.options=d),u},e.is=function(e){var d=e;return d&&"create"===d.kind&&_.string(d.uri)&&(void 0===d.options||(void 0===d.options.overwrite||_.boolean(d.options.overwrite))&&(void 0===d.options.ignoreIfExists||_.boolean(d.options.ignoreIfExists)))}}(s=d.CreateFile||(d.CreateFile={})),function(e){e.create=function(e,d,u){var n={kind:"rename",oldUri:e,newUri:d};return void 0===u||void 0===u.overwrite&&void 0===u.ignoreIfExists||(n.options=u),n},e.is=function(e){var d=e;return d&&"rename"===d.kind&&_.string(d.oldUri)&&_.string(d.newUri)&&(void 0===d.options||(void 0===d.options.overwrite||_.boolean(d.options.overwrite))&&(void 0===d.options.ignoreIfExists||_.boolean(d.options.ignoreIfExists)))}}(l=d.RenameFile||(d.RenameFile={})),function(e){e.create=function(e,d){var u={kind:"delete",uri:e};return void 0===d||void 0===d.recursive&&void 0===d.ignoreIfNotExists||(u.options=d),u},e.is=function(e){var d=e;return d&&"delete"===d.kind&&_.string(d.uri)&&(void 0===d.options||(void 0===d.options.recursive||_.boolean(d.options.recursive))&&(void 0===d.options.ignoreIfNotExists||_.boolean(d.options.ignoreIfNotExists)))}}(m=d.DeleteFile||(d.DeleteFile={})),function(e){e.is=function(e){var d=e;return d&&(void 0!==d.changes||void 0!==d.documentChanges)&&(void 0===d.documentChanges||d.documentChanges.every((function(e){return _.string(e.kind)?s.is(e)||l.is(e)||m.is(e):f.is(e)})))}}(p=d.WorkspaceEdit||(d.WorkspaceEdit={}));var b,g,h,v,y=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,d){this.edits.push(c.insert(e,d))},e.prototype.replace=function(e,d){this.edits.push(c.replace(e,d))},e.prototype.delete=function(e){this.edits.push(c.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),C=function(){function e(e){var d=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(f.is(e)){var u=new y(e.edits);d._textEditChanges[e.textDocument.uri]=u}})):e.changes&&Object.keys(e.changes).forEach((function(u){var n=new y(e.changes[u]);d._textEditChanges[u]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(b.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var d=e;if(!(n=this._textEditChanges[d.uri])){var u={textDocument:d,edits:t=[]};this._workspaceEdit.documentChanges.push(u),n=new y(t),this._textEditChanges[d.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var t=[];this._workspaceEdit.changes[e]=t,n=new y(t),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,d){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(s.create(e,d))},e.prototype.renameFile=function(e,d,u){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(l.create(e,d,u))},e.prototype.deleteFile=function(e,d){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(m.create(e,d))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();d.WorkspaceChange=C,function(e){e.create=function(e){return{uri:e}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)}}(d.TextDocumentIdentifier||(d.TextDocumentIdentifier={})),function(e){e.create=function(e,d){return{uri:e,version:d}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)&&(null===d.version||_.number(d.version))}}(b=d.VersionedTextDocumentIdentifier||(d.VersionedTextDocumentIdentifier={})),function(e){e.create=function(e,d,u,n){return{uri:e,languageId:d,version:u,text:n}},e.is=function(e){var d=e;return _.defined(d)&&_.string(d.uri)&&_.string(d.languageId)&&_.number(d.version)&&_.string(d.text)}}(d.TextDocumentItem||(d.TextDocumentItem={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(g=d.MarkupKind||(d.MarkupKind={})),function(e){e.is=function(d){var u=d;return u===e.PlainText||u===e.Markdown}}(g=d.MarkupKind||(d.MarkupKind={})),function(e){e.is=function(e){var d=e;return _.objectLiteral(e)&&g.is(d.kind)&&_.string(d.value)}}(h=d.MarkupContent||(d.MarkupContent={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(d.CompletionItemKind||(d.CompletionItemKind={})),function(e){e.PlainText=1,e.Snippet=2}(d.InsertTextFormat||(d.InsertTextFormat={})),function(e){e.Deprecated=1}(d.CompletionItemTag||(d.CompletionItemTag={})),function(e){e.create=function(e){return{label:e}}}(d.CompletionItem||(d.CompletionItem={})),function(e){e.create=function(e,d){return{items:e||[],isIncomplete:!!d}}}(d.CompletionList||(d.CompletionList={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var d=e;return _.string(d)||_.objectLiteral(d)&&_.string(d.language)&&_.string(d.value)}}(v=d.MarkedString||(d.MarkedString={})),function(e){e.is=function(e){var d=e;return!!d&&_.objectLiteral(d)&&(h.is(d.contents)||v.is(d.contents)||_.typedArray(d.contents,v.is))&&(void 0===e.range||n.is(e.range))}}(d.Hover||(d.Hover={})),function(e){e.create=function(e,d){return d?{label:e,documentation:d}:{label:e}}}(d.ParameterInformation||(d.ParameterInformation={})),function(e){e.create=function(e,d){for(var u=[],n=2;n<arguments.length;n++)u[n-2]=arguments[n];var t={label:e};return _.defined(d)&&(t.documentation=d),_.defined(u)?t.parameters=u:t.parameters=[],t}}(d.SignatureInformation||(d.SignatureInformation={})),function(e){e.Text=1,e.Read=2,e.Write=3}(d.DocumentHighlightKind||(d.DocumentHighlightKind={})),function(e){e.create=function(e,d){var u={range:e};return _.number(d)&&(u.kind=d),u}}(d.DocumentHighlight||(d.DocumentHighlight={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(d.SymbolKind||(d.SymbolKind={})),function(e){e.Deprecated=1}(d.SymbolTag||(d.SymbolTag={})),function(e){e.create=function(e,d,u,n,t){var a={name:e,kind:d,location:{uri:n,range:u}};return t&&(a.containerName=t),a}}(d.SymbolInformation||(d.SymbolInformation={})),function(e){e.create=function(e,d,u,n,t,a){var r={name:e,detail:d,kind:u,range:n,selectionRange:t};return void 0!==a&&(r.children=a),r},e.is=function(e){var d=e;return d&&_.string(d.name)&&_.number(d.kind)&&n.is(d.range)&&n.is(d.selectionRange)&&(void 0===d.detail||_.string(d.detail))&&(void 0===d.deprecated||_.boolean(d.deprecated))&&(void 0===d.children||Array.isArray(d.children))}}(d.DocumentSymbol||(d.DocumentSymbol={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(d.CodeActionKind||(d.CodeActionKind={})),function(e){e.create=function(e,d){var u={diagnostics:e};return null!=d&&(u.only=d),u},e.is=function(e){var d=e;return _.defined(d)&&_.typedArray(d.diagnostics,i.is)&&(void 0===d.only||_.typedArray(d.only,_.string))}}(d.CodeActionContext||(d.CodeActionContext={})),function(e){e.create=function(e,d,u){var n={title:e};return o.is(d)?n.command=d:n.edit=d,void 0!==u&&(n.kind=u),n},e.is=function(e){var d=e;return d&&_.string(d.title)&&(void 0===d.diagnostics||_.typedArray(d.diagnostics,i.is))&&(void 0===d.kind||_.string(d.kind))&&(void 0!==d.edit||void 0!==d.command)&&(void 0===d.command||o.is(d.command))&&(void 0===d.isPreferred||_.boolean(d.isPreferred))&&(void 0===d.edit||p.is(d.edit))}}(d.CodeAction||(d.CodeAction={})),function(e){e.create=function(e,d){var u={range:e};return _.defined(d)&&(u.data=d),u},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.undefined(d.command)||o.is(d.command))}}(d.CodeLens||(d.CodeLens={})),function(e){e.create=function(e,d){return{tabSize:e,insertSpaces:d}},e.is=function(e){var d=e;return _.defined(d)&&_.number(d.tabSize)&&_.boolean(d.insertSpaces)}}(d.FormattingOptions||(d.FormattingOptions={})),function(e){e.create=function(e,d,u){return{range:e,target:d,data:u}},e.is=function(e){var d=e;return _.defined(d)&&n.is(d.range)&&(_.undefined(d.target)||_.string(d.target))}}(d.DocumentLink||(d.DocumentLink={})),function(e){e.create=function(e,d){return{range:e,parent:d}},e.is=function(d){var u=d;return void 0!==u&&n.is(u.range)&&(void 0===u.parent||e.is(u.parent))}}(d.SelectionRange||(d.SelectionRange={})),d.EOL=["\n","\r\n","\r"],function(e){e.create=function(e,d,u,n){return new S(e,d,u,n)},e.is=function(e){var d=e;return!!(_.defined(d)&&_.string(d.uri)&&(_.undefined(d.languageId)||_.string(d.languageId))&&_.number(d.lineCount)&&_.func(d.getText)&&_.func(d.positionAt)&&_.func(d.offsetAt))},e.applyEdits=function(e,d){for(var u=e.getText(),n=function e(d,u){if(d.length<=1)return d;var n=d.length/2|0,t=d.slice(0,n),a=d.slice(n);e(t,u),e(a,u);var r=0,i=0,o=0;for(;r<t.length&&i<a.length;){var c=u(t[r],a[i]);d[o++]=c<=0?t[r++]:a[i++]}for(;r<t.length;)d[o++]=t[r++];for(;i<a.length;)d[o++]=a[i++];return d}(d,(function(e,d){var u=e.range.start.line-d.range.start.line;return 0===u?e.range.start.character-d.range.start.character:u})),t=u.length,a=n.length-1;a>=0;a--){var r=n[a],i=e.offsetAt(r.range.start),o=e.offsetAt(r.range.end);if(!(o<=t))throw new Error("Overlapping edit");u=u.substring(0,i)+r.newText+u.substring(o,u.length),t=i}return u}}(d.TextDocument||(d.TextDocument={}));var _,S=function(){function e(e,d,u,n){this._uri=e,this._languageId=d,this._version=u,this._content=n,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var d=this.offsetAt(e.start),u=this.offsetAt(e.end);return this._content.substring(d,u)}return this._content},e.prototype.update=function(e,d){this._content=e.text,this._version=d,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],d=this._content,u=!0,n=0;n<d.length;n++){u&&(e.push(n),u=!1);var t=d.charAt(n);u="\r"===t||"\n"===t,"\r"===t&&n+1<d.length&&"\n"===d.charAt(n+1)&&n++}u&&d.length>0&&e.push(d.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var d=this.getLineOffsets(),n=0,t=d.length;if(0===t)return u.create(0,e);for(;n<t;){var a=Math.floor((n+t)/2);d[a]>e?t=a:n=a+1}var r=n-1;return u.create(r,e-d[r])},e.prototype.offsetAt=function(e){var d=this.getLineOffsets();if(e.line>=d.length)return this._content.length;if(e.line<0)return 0;var u=d[e.line],n=e.line+1<d.length?d[e.line+1]:this._content.length;return Math.max(Math.min(u+e.character,n),u)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var d=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===d.call(e)},e.number=function(e){return"[object Number]"===d.call(e)},e.func=function(e){return"[object Function]"===d.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,d){return Array.isArray(e)&&e.every(d)}}(_||(_={}))})),define("vscode-languageserver-types",["vscode-languageserver-types/main"],(function(e){return e})),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define("xregexp/xregexp-all",[],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).XRegExp=e()}}((function(){return function e(d,u,n){function t(r,i){if(!u[r]){if(!d[r]){var o="function"==typeof require&&require;if(!i&&o)return o(r,!0);if(a)return a(r,!0);var c=new Error("Cannot find module '"+r+"'");throw c.code="MODULE_NOT_FOUND",c}var f=u[r]={exports:{}};d[r][0].call(f.exports,(function(e){var u=d[r][1][e];return t(u||e)}),f,f.exports,e,d,u,n)}return u[r].exports}for(var a="function"==typeof require&&require,r=0;r<n.length;r++)t(n[r]);return t}({1:[function(e,d,u){
8
8
  /*!
9
9
  * XRegExp.build 3.2.0
10
10
  * <xregexp.com>
@@ -57,4 +57,4 @@ d.exports=function(e){"use strict";if(!e.addUnicodeData)throw new ReferenceError
57
57
  * <xregexp.com>
58
58
  * Steven Levithan (c) 2007-2017 MIT License
59
59
  */
60
- var n={astral:!1,natives:!1},t={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},a={},r={},i={},o=[],c={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},f=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,s=void 0===t.exec.call(/()??/,"")[1],l=void 0!==/x/.flags,m={}.toString;function p(e){var d=!0;try{new RegExp("",e)}catch(e){d=!1}return d}var b=p("u"),g=p("y"),h={g:!0,i:!0,m:!0,u:b,y:g};function v(e,d,u,n,t){var a;if(e.xregexp={captureNames:d},t)return e;if(e.__proto__)e.__proto__=O.prototype;else for(a in O.prototype)e[a]=O.prototype[a];return e.xregexp.source=u,e.xregexp.flags=n?n.split("").sort().join(""):n,e}function y(e){return t.replace.call(e,/([\s\S])(?=[\s\S]*\1)/g,"")}function C(e,d){if(!O.isRegExp(e))throw new TypeError("Type RegExp expected");var u=e.xregexp||{},n=function(e){return l?e.flags:t.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(e))[1]}(e),a="",r="",i=null,o=null;return(d=d||{}).removeG&&(r+="g"),d.removeY&&(r+="y"),r&&(n=t.replace.call(n,new RegExp("["+r+"]+","g"),"")),d.addG&&(a+="g"),d.addY&&(a+="y"),a&&(n=y(n+a)),d.isInternalOnly||(void 0!==u.source&&(i=u.source),null!=u.flags&&(o=a?y(u.flags+a):u.flags)),e=v(new RegExp(d.source||e.source,n),function(e){return!(!e.xregexp||!e.xregexp.captureNames)}(e)?u.captureNames.slice(0):null,i,o,d.isInternalOnly)}function _(e){return parseInt(e,16)}function I(e,d,u){return"("===e.input.charAt(e.index-1)||")"===e.input.charAt(e.index+e[0].length)||function(e,d,u,n){var a=u.indexOf("x")>-1?["\\s","#[^#\\n]*","\\(\\?#[^)]*\\)"]:["\\(\\?#[^)]*\\)"];return t.test.call(new RegExp("^(?:"+a.join("|")+")*(?:"+n+")"),e.slice(d))}(e.input,e.index+e[0].length,u,"[?*+]|{\\d+(?:,\\d*)?}")?"":"(?:)"}function x(e){return parseInt(e,10).toString(16)}function S(e,d){var u,n=e.length;for(u=0;u<n;++u)if(e[u]===d)return u;return-1}function T(e,d){return m.call(e)==="[object "+d+"]"}function K(e){for(;e.length<4;)e="0"+e;return e}function P(e){var d={};return T(e,"String")?(O.forEach(e,/[^\s,]+/,(function(e){d[e]=!0})),d):e}function k(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");h[e]=!0}function E(e,d,u,n,t){for(var a,r,i=o.length,c=e.charAt(u),f=null;i--;)if(!((r=o[i]).leadChar&&r.leadChar!==c||r.scope!==n&&"all"!==r.scope||r.flag&&-1===d.indexOf(r.flag))&&(a=O.exec(e,r.regex,u,"sticky"))){f={matchLength:a[0].length,output:r.handler.call(t,a,n,d),reparse:r.reparse};break}return f}function w(e){n.astral=e}function A(e){RegExp.prototype.exec=(e?a:t).exec,RegExp.prototype.test=(e?a:t).test,String.prototype.match=(e?a:t).match,String.prototype.replace=(e?a:t).replace,String.prototype.split=(e?a:t).split,n.natives=e}function D(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function O(e,d){if(O.isRegExp(e)){if(void 0!==d)throw new TypeError("Cannot supply flags when copying a RegExp");return C(e)}if(e=void 0===e?"":String(e),d=void 0===d?"":String(d),O.isInstalled("astral")&&-1===d.indexOf("A")&&(d+="A"),i[e]||(i[e]={}),!i[e][d]){for(var u,n={hasNamedCapture:!1,captureNames:[]},a="default",r="",o=0,f=function(e,d){var u;if(y(d)!==d)throw new SyntaxError("Invalid duplicate regex flag "+d);for(e=t.replace.call(e,/^\(\?([\w$]+)\)/,(function(e,u){if(t.test.call(/[gy]/,u))throw new SyntaxError("Cannot use flag g or y in mode modifier "+e);return d=y(d+u),""})),u=0;u<d.length;++u)if(!h[d.charAt(u)])throw new SyntaxError("Unknown regex flag "+d.charAt(u));return{pattern:e,flags:d}}(e,d),s=f.pattern,l=f.flags;o<s.length;){do{(u=E(s,l,o,a,n))&&u.reparse&&(s=s.slice(0,o)+u.output+s.slice(o+u.matchLength))}while(u&&u.reparse);if(u)r+=u.output,o+=u.matchLength||1;else{var m=O.exec(s,c[a],o,"sticky")[0];r+=m,o+=m.length,"["===m&&"default"===a?a="class":"]"===m&&"class"===a&&(a="default")}}i[e][d]={pattern:t.replace.call(r,/(?:\(\?:\))+/g,"(?:)"),flags:t.replace.call(l,/[^gimuy]+/g,""),captures:n.hasNamedCapture?n.captureNames:null}}var p=i[e][d];return v(new RegExp(p.pattern,p.flags),p.captures,e,d)}O.prototype=new RegExp,O.version="3.2.0",O._clipDuplicates=y,O._hasNativeFlag=p,O._dec=_,O._hex=x,O._pad4=K,O.addToken=function(e,d,u){var n,a=(u=u||{}).optionalFlags;if(u.flag&&k(u.flag),a)for(a=t.split.call(a,""),n=0;n<a.length;++n)k(a[n]);o.push({regex:C(e,{addG:!0,addY:g,isInternalOnly:!0}),handler:d,scope:u.scope||"default",flag:u.flag,reparse:u.reparse,leadChar:u.leadChar}),O.cache.flush("patterns")},O.cache=function(e,d){return r[e]||(r[e]={}),r[e][d]||(r[e][d]=O(e,d))},O.cache.flush=function(e){"patterns"===e?i={}:r={}},O.escape=function(e){return t.replace.call(D(e),/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},O.exec=function(e,d,u,n){var t,r,i,o="g",c=!1;return(t=g&&!!(n||d.sticky&&!1!==n))?o+="y":n&&(c=!0,o+="FakeY"),d.xregexp=d.xregexp||{},u=u||0,(i=d.xregexp[o]||(d.xregexp[o]=C(d,{addG:!0,addY:t,source:c?d.source+"|()":void 0,removeY:!1===n,isInternalOnly:!0}))).lastIndex=u,r=a.exec.call(i,e),c&&r&&""===r.pop()&&(r=null),d.global&&(d.lastIndex=r?i.lastIndex:0),r},O.forEach=function(e,d,u){for(var n,t=0,a=-1;n=O.exec(e,d,t);)u(n,++a,e,d),t=n.index+(n[0].length||1)},O.globalize=function(e){return C(e,{addG:!0})},O.install=function(e){e=P(e),!n.astral&&e.astral&&w(!0),!n.natives&&e.natives&&A(!0)},O.isInstalled=function(e){return!!n[e]},O.isRegExp=function(e){return"[object RegExp]"===m.call(e)},O.match=function(e,d,u){var n,a,r=d.global&&"one"!==u||"all"===u,i=(r?"g":"")+(d.sticky?"y":"")||"noGY";return d.xregexp=d.xregexp||{},a=d.xregexp[i]||(d.xregexp[i]=C(d,{addG:!!r,removeG:"one"===u,isInternalOnly:!0})),n=t.match.call(D(e),a),d.global&&(d.lastIndex="one"===u&&n?n.index+n[0].length:0),r?n||[]:n&&n[0]},O.matchChain=function(e,d){return function e(u,n){var t=d[n].regex?d[n]:{regex:d[n]},a=[];function r(e){if(t.backref){if(!(e.hasOwnProperty(t.backref)||+t.backref<e.length))throw new ReferenceError("Backreference to undefined group: "+t.backref);a.push(e[t.backref]||"")}else a.push(e[0])}for(var i=0;i<u.length;++i)O.forEach(u[i],t.regex,r);return n!==d.length-1&&a.length?e(a,n+1):a}([e],0)},O.replace=function(e,d,u,n){var t,r=O.isRegExp(d),i=d.global&&"one"!==n||"all"===n,o=(i?"g":"")+(d.sticky?"y":"")||"noGY",c=d;return r?(d.xregexp=d.xregexp||{},c=d.xregexp[o]||(d.xregexp[o]=C(d,{addG:!!i,removeG:"one"===n,isInternalOnly:!0}))):i&&(c=new RegExp(O.escape(String(d)),"g")),t=a.replace.call(D(e),c,u),r&&d.global&&(d.lastIndex=0),t},O.replaceEach=function(e,d){var u,n;for(u=0;u<d.length;++u)n=d[u],e=O.replace(e,n[0],n[1],n[2]);return e},O.split=function(e,d,u){return a.split.call(D(e),d,u)},O.test=function(e,d,u,n){return!!O.exec(e,d,u,n)},O.uninstall=function(e){e=P(e),n.astral&&e.astral&&w(!1),n.natives&&e.natives&&A(!1)},O.union=function(e,d,u){var n,a,r=(u=u||{}).conjunction||"or",i=0;function o(e,d,u){var t=a[i-n];if(d){if(++i,t)return"(?<"+t+">"}else if(u)return"\\"+(+u+n);return e}if(!T(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(var c,f=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,s=[],l=0;l<e.length;++l)c=e[l],O.isRegExp(c)?(n=i,a=c.xregexp&&c.xregexp.captureNames||[],s.push(t.replace.call(O(c.source).source,f,o))):s.push(O.escape(c));var m="none"===r?"":"|";return O(s.join(m),d)},a.exec=function(e){var d,u,n,a=this.lastIndex,r=t.exec.apply(this,arguments);if(r){if(!s&&r.length>1&&S(r,"")>-1&&(u=C(this,{removeG:!0,isInternalOnly:!0}),t.replace.call(String(e).slice(r.index),u,(function(){var e,d=arguments.length;for(e=1;e<d-2;++e)void 0===arguments[e]&&(r[e]=void 0)}))),this.xregexp&&this.xregexp.captureNames)for(n=1;n<r.length;++n)(d=this.xregexp.captureNames[n-1])&&(r[d]=r[n]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=a),r},a.test=function(e){return!!a.exec.call(this,e)},a.match=function(e){var d;if(O.isRegExp(e)){if(e.global)return d=t.match.apply(this,arguments),e.lastIndex=0,d}else e=new RegExp(e);return a.exec.call(e,D(this))},a.replace=function(e,d){var u,n,a,r=O.isRegExp(e);return r?(e.xregexp&&(n=e.xregexp.captureNames),u=e.lastIndex):e+="",a=T(d,"Function")?t.replace.call(String(this),e,(function(){var u,t=arguments;if(n)for(t[0]=new String(t[0]),u=0;u<n.length;++u)n[u]&&(t[0][n[u]]=t[u+1]);return r&&e.global&&(e.lastIndex=t[t.length-2]+t[0].length),d.apply(void 0,t)})):t.replace.call(null==this?this:String(this),e,(function(){var e=arguments;return t.replace.call(String(d),f,(function(d,u,t){var a;if(u){if((a=+u)<=e.length-3)return e[a]||"";if((a=n?S(n,u):-1)<0)throw new SyntaxError("Backreference to undefined group "+d);return e[a+1]||""}if("$"===t)return"$";if("&"===t||0==+t)return e[0];if("`"===t)return e[e.length-1].slice(0,e[e.length-2]);if("'"===t)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(t=+t,!isNaN(t)){if(t>e.length-3)throw new SyntaxError("Backreference to undefined group "+d);return e[t]||""}throw new SyntaxError("Invalid token "+d)}))})),r&&(e.global?e.lastIndex=0:e.lastIndex=u),a},a.split=function(e,d){if(!O.isRegExp(e))return t.split.apply(this,arguments);var u,n=String(this),a=[],r=e.lastIndex,i=0;return d=(void 0===d?-1:d)>>>0,O.forEach(n,e,(function(e){e.index+e[0].length>i&&(a.push(n.slice(i,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(a,e.slice(1)),u=e[0].length,i=e.index+u)})),i===n.length?t.test.call(e,"")&&!u||a.push(""):a.push(n.slice(i)),e.lastIndex=r,a.length>d?a.slice(0,d):a},O.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(e,d){if("B"===e[1]&&"default"===d)return e[0];throw new SyntaxError("Invalid escape "+e[0])}),{scope:"all",leadChar:"\\"}),O.addToken(/\\u{([\dA-Fa-f]+)}/,(function(e,d,u){var n=_(e[1]);if(n>1114111)throw new SyntaxError("Invalid Unicode code point "+e[0]);if(n<=65535)return"\\u"+K(x(n));if(b&&u.indexOf("u")>-1)return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),O.addToken(/\[(\^?)\]/,(function(e){return e[1]?"[\\s\\S]":"\\b\\B"}),{leadChar:"["}),O.addToken(/\(\?#[^)]*\)/,I,{leadChar:"("}),O.addToken(/\s+|#[^\n]*\n?/,I,{flag:"x"}),O.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),O.addToken(/\\k<([\w$]+)>/,(function(e){var d=isNaN(e[1])?S(this.captureNames,e[1])+1:+e[1],u=e.index+e[0].length;if(!d||d>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+e[0]);return"\\"+d+(u===e.input.length||isNaN(e.input.charAt(u))?"":"(?:)")}),{leadChar:"\\"}),O.addToken(/\\(\d+)/,(function(e,d){if(!("default"===d&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+e[0]);return e[0]}),{scope:"all",leadChar:"\\"}),O.addToken(/\(\?P?<([\w$]+)>/,(function(e){if(!isNaN(e[1]))throw new SyntaxError("Cannot use integer as capture name "+e[0]);if("length"===e[1]||"__proto__"===e[1])throw new SyntaxError("Cannot use reserved word as capture name "+e[0]);if(S(this.captureNames,e[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+e[0]);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),O.addToken(/\((?!\?)/,(function(e,d,u){return u.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("}),d.exports=O},{}]},{},[8])(8)})),define("xregexp",["xregexp/xregexp-all"],(function(e){return e}));var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var d,u=1,n=arguments.length;u<n;u++)for(var t in d=arguments[u])Object.prototype.hasOwnProperty.call(d,t)&&(e[t]=d[t]);return e}).apply(this,arguments)};define("vs/language/kusto/languageService/kustoLanguageService",["require","exports","./schema","vscode-languageserver-types","xregexp","./schema"],(function(e,d,u,n,t,a){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getKustoLanguageService=d.TokenKind=void 0,String.prototype.endsWith||(String.prototype.endsWith=function(e,d){return(void 0===d||d>this.length)&&(d=this.length),this.substring(d-e.length,d)===e}),"undefined"==typeof document&&(importScripts("../../language/kusto/bridge.min.js"),importScripts("../../language/kusto/kusto.javascript.client.min.js"),importScripts("../../language/kusto/Kusto.Language.Bridge.min.js"));var r=Kusto.Data.IntelliSense,i=Kusto.Language.Parsing,o=Kusto.Language.Editor,c=Kusto.Language.Symbols,f=Kusto.Language.GlobalState,s=System.Collections.Generic.List$1;function l(e){throw new Error("Unexpected object: "+e)}var m,p=function(){function e(e,d,u,n){this.version=e,this.uri=d,this.rulesProvider=u,this.parseMode=n}return e.prototype.isParseNeeded=function(e,d,u){return!(e.uri===this.uri&&(!d||d===this.rulesProvider)&&e.version<=this.version&&u&&u<=this.parseMode)},e}();function b(e){return e.map((function(e){return{start:e.Start,end:e.End,length:e.Length,kind:e.Kind}}))}!function(e){e[e.TableToken=2]="TableToken",e[e.TableColumnToken=4]="TableColumnToken",e[e.OperatorToken=8]="OperatorToken",e[e.SubOperatorToken=16]="SubOperatorToken",e[e.CalculatedColumnToken=32]="CalculatedColumnToken",e[e.StringLiteralToken=64]="StringLiteralToken",e[e.FunctionNameToken=128]="FunctionNameToken",e[e.UnknownToken=256]="UnknownToken",e[e.CommentToken=512]="CommentToken",e[e.PlainTextToken=1024]="PlainTextToken",e[e.DataTypeToken=2048]="DataTypeToken",e[e.ControlCommandToken=4096]="ControlCommandToken",e[e.CommandPartToken=8192]="CommandPartToken",e[e.QueryParametersToken=16384]="QueryParametersToken",e[e.CslCommandToken=32768]="CslCommandToken",e[e.LetVariablesToken=65536]="LetVariablesToken",e[e.PluginToken=131072]="PluginToken",e[e.BracketRangeToken=262144]="BracketRangeToken",e[e.ClientDirectiveToken=524288]="ClientDirectiveToken"}(m=d.TokenKind||(d.TokenKind={}));var g=function(){function e(d,u){var t,a,i,c,f=this;this._toOptionKind=((t={})[o.CompletionKind.AggregateFunction]=r.OptionKind.FunctionAggregation,t[o.CompletionKind.BuiltInFunction]=r.OptionKind.FunctionServerSide,t[o.CompletionKind.Cluster]=r.OptionKind.Database,t[o.CompletionKind.Column]=r.OptionKind.Column,t[o.CompletionKind.CommandPrefix]=r.OptionKind.None,t[o.CompletionKind.Database]=r.OptionKind.Database,t[o.CompletionKind.DatabaseFunction]=r.OptionKind.FunctionServerSide,t[o.CompletionKind.Example]=r.OptionKind.None,t[o.CompletionKind.Identifier]=r.OptionKind.None,t[o.CompletionKind.Keyword]=r.OptionKind.None,t[o.CompletionKind.LocalFunction]=r.OptionKind.FunctionLocal,t[o.CompletionKind.MaterialiedView]=r.OptionKind.MaterializedView,t[o.CompletionKind.Parameter]=r.OptionKind.Parameter,t[o.CompletionKind.Punctuation]=r.OptionKind.None,t[o.CompletionKind.QueryPrefix]=r.OptionKind.Operator,t[o.CompletionKind.RenderChart]=r.OptionKind.Operator,t[o.CompletionKind.ScalarInfix]=r.OptionKind.None,t[o.CompletionKind.ScalarPrefix]=r.OptionKind.None,t[o.CompletionKind.ScalarType]=r.OptionKind.DataType,t[o.CompletionKind.Syntax]=r.OptionKind.None,t[o.CompletionKind.Table]=r.OptionKind.Table,t[o.CompletionKind.TabularPrefix]=r.OptionKind.None,t[o.CompletionKind.TabularSuffix]=r.OptionKind.None,t[o.CompletionKind.Unknown]=r.OptionKind.None,t[o.CompletionKind.Variable]=r.OptionKind.Parameter,t[o.CompletionKind.Option]=r.OptionKind.Option,t),this.disabledCompletionItemsV2={ladderchart:o.CompletionKind.RenderChart,pivotchart:o.CompletionKind.RenderChart,timeline:o.CompletionKind.RenderChart,timepivot:o.CompletionKind.RenderChart,"3Dchart":o.CompletionKind.RenderChart,list:o.CompletionKind.RenderChart},this.isIntellisenseV2=function(){return f._languageSettings.useIntellisenseV2&&f._schema&&"Engine"===f._schema.clusterType},this.disabledCompletionItemsV1={capacity:r.OptionKind.Policy,callout:r.OptionKind.Policy,encoding:r.OptionKind.Policy,batching:r.OptionKind.Policy,querythrottling:r.OptionKind.Policy,merge:r.OptionKind.Policy,querylimit:r.OptionKind.Policy,rowstore:r.OptionKind.Policy,streamingingestion:r.OptionKind.Policy,restricted_view_access:r.OptionKind.Policy,sharding:r.OptionKind.Policy,"restricted-viewers":r.OptionKind.Policy,attach:r.OptionKind.Command,purge:r.OptionKind.Command},this._kustoKindtolsKind=((a={})[r.OptionKind.None]=n.CompletionItemKind.Interface,a[r.OptionKind.Operator]=n.CompletionItemKind.Method,a[r.OptionKind.Command]=n.CompletionItemKind.Method,a[r.OptionKind.Service]=n.CompletionItemKind.Class,a[r.OptionKind.Policy]=n.CompletionItemKind.Reference,a[r.OptionKind.Database]=n.CompletionItemKind.Class,a[r.OptionKind.Table]=n.CompletionItemKind.Class,a[r.OptionKind.DataType]=n.CompletionItemKind.Class,a[r.OptionKind.Literal]=n.CompletionItemKind.Property,a[r.OptionKind.Parameter]=n.CompletionItemKind.Variable,a[r.OptionKind.IngestionMapping]=n.CompletionItemKind.Variable,a[r.OptionKind.ExpressionFunction]=n.CompletionItemKind.Variable,a[r.OptionKind.Option]=n.CompletionItemKind.Interface,a[r.OptionKind.OptionKind]=n.CompletionItemKind.Interface,a[r.OptionKind.OptionRender]=n.CompletionItemKind.Interface,a[r.OptionKind.Column]=n.CompletionItemKind.Function,a[r.OptionKind.ColumnString]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnNumeric]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnDateTime]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnTimespan]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionServerSide]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionAggregation]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionFilter]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionScalar]=n.CompletionItemKind.Field,a[r.OptionKind.ClientDirective]=n.CompletionItemKind.Enum,a),this._kustoKindToLsKindV2=((i={})[o.CompletionKind.AggregateFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.BuiltInFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.Cluster]=n.CompletionItemKind.Class,i[o.CompletionKind.Column]=n.CompletionItemKind.Function,i[o.CompletionKind.CommandPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.Database]=n.CompletionItemKind.Class,i[o.CompletionKind.DatabaseFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.Example]=n.CompletionItemKind.Text,i[o.CompletionKind.Identifier]=n.CompletionItemKind.Method,i[o.CompletionKind.Keyword]=n.CompletionItemKind.Method,i[o.CompletionKind.LocalFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.MaterialiedView]=n.CompletionItemKind.Class,i[o.CompletionKind.Parameter]=n.CompletionItemKind.Variable,i[o.CompletionKind.Punctuation]=n.CompletionItemKind.Interface,i[o.CompletionKind.QueryPrefix]=n.CompletionItemKind.Function,i[o.CompletionKind.RenderChart]=n.CompletionItemKind.Method,i[o.CompletionKind.ScalarInfix]=n.CompletionItemKind.Field,i[o.CompletionKind.ScalarPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.ScalarType]=n.CompletionItemKind.TypeParameter,i[o.CompletionKind.Syntax]=n.CompletionItemKind.Method,i[o.CompletionKind.Table]=n.CompletionItemKind.Class,i[o.CompletionKind.TabularPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.TabularSuffix]=n.CompletionItemKind.Field,i[o.CompletionKind.Unknown]=n.CompletionItemKind.Interface,i[o.CompletionKind.Variable]=n.CompletionItemKind.Variable,i[o.CompletionKind.Option]=n.CompletionItemKind.Text,i),this._tokenKindToClassificationKind=((c={})[m.TableToken]=o.ClassificationKind.Table,c[m.TableColumnToken]=o.ClassificationKind.Column,c[m.OperatorToken]=o.ClassificationKind.QueryOperator,c[m.SubOperatorToken]=o.ClassificationKind.Function,c[m.CalculatedColumnToken]=o.ClassificationKind.Column,c[m.StringLiteralToken]=o.ClassificationKind.Literal,c[m.FunctionNameToken]=o.ClassificationKind.Function,c[m.UnknownToken]=o.ClassificationKind.PlainText,c[m.CommentToken]=o.ClassificationKind.Comment,c[m.PlainTextToken]=o.ClassificationKind.PlainText,c[m.DataTypeToken]=o.ClassificationKind.Type,c[m.ControlCommandToken]=o.ClassificationKind.PlainText,c[m.CommandPartToken]=o.ClassificationKind.PlainText,c[m.QueryParametersToken]=o.ClassificationKind.QueryParameter,c[m.CslCommandToken]=o.ClassificationKind.Keyword,c[m.LetVariablesToken]=o.ClassificationKind.Identifier,c[m.PluginToken]=o.ClassificationKind.Function,c[m.BracketRangeToken]=o.ClassificationKind.Keyword,c[m.ClientDirectiveToken]=o.ClassificationKind.Keyword,c),this._schemaCache={},this._kustoJsSchema=e.convertToKustoJsSchema(d),this._kustoJsSchemaV2=this.convertToKustoJsSchemaV2(d),this._schema=d,this.configure(u),this._newlineAppendPipePolicy=new Kusto.Data.IntelliSense.ApplyPolicy,this._newlineAppendPipePolicy.Text="\n| "}return e.prototype.configure=function(e){this._languageSettings=e,this.createRulesProvider(this._kustoJsSchema,this._schema.clusterType)},e.prototype.doComplete=function(e,d){return this.isIntellisenseV2()?this.doCompleteV2(e,d):this.doCompleteV1(e,d)},e.prototype.doCompleteV2=function(e,d){var u=this;if(!e)return Promise.resolve(n.CompletionList.create([]));var t=this.parseDocumentV2(e),a=e.offsetAt(d),i=this.getCurrentCommandV2(t,a).Service.GetCompletionItems(a),c=this.disabledCompletionItemsV2;this._languageSettings.disabledCompletionItems&&this._languageSettings.disabledCompletionItems.map((function(e){c[e]=o.CompletionKind.Unknown}));var f=this.toArray(i.Items).filter((function(e){return!(e&&e.MatchText&&void 0!==c[e.MatchText]&&(c[e.MatchText]===o.CompletionKind.Unknown||c[e.MatchText]===e.Kind))})).map((function(d,t){var a=new r.CompletionOption(u._toOptionKind[d.Kind]||r.OptionKind.None,d.DisplayText),o=u.getTopic(a),c=d.AfterText&&d.AfterText.length>0?{textToInsert:d.EditText+"$0"+d.AfterText,format:n.InsertTextFormat.Snippet}:{textToInsert:d.EditText,format:n.InsertTextFormat.PlainText},f=c.textToInsert,s=c.format,l=n.CompletionItem.create(d.DisplayText),m=e.positionAt(i.EditStart),p=e.positionAt(i.EditStart+i.EditLength);return l.textEdit=n.TextEdit.replace(n.Range.create(m,p),f),l.sortText=u.getSortText(t+1),l.kind=u.kustoKindToLsKindV2(d.Kind),l.insertTextFormat=s,l.detail=o?o.ShortDescription:void 0,l.documentation=o?{value:o.LongDescription,kind:n.MarkupKind.Markdown}:void 0,l}));return Promise.resolve(n.CompletionList.create(f))},e.prototype.getTopic=function(e){if(e.Kind==r.OptionKind.FunctionScalar||e.Kind==r.OptionKind.FunctionAggregation){var d=e.Value.indexOf("(");d>=0&&(e=new r.CompletionOption(e.Kind,e.Value.substring(0,d)))}return r.CslDocumentation.Instance.GetTopic(e)},e.prototype.doCompleteV1=function(e,d){var u=this,t=e.offsetAt(d);this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var a=this.getCurrentCommand(e,t),i="";if(a){a.AbsoluteStart;this.parseTextV1(a.Text,r.ParseMode.TokenizeAllText);var o=t-a.AbsoluteStart;i=a.Text.substring(a.CslExpressionStartPosition,o)}var c=this.getCommandWithoutLastWord(i),f=this._rulesProvider.AnalyzeCommand$1(i,a).Context,s={v:null};this._rulesProvider.TryMatchAnyRule(c,s);var l=s.v;if(l){var m=this.toArray(l.GetCompletionOptions(f));this._languageSettings.newlineAfterPipe&&l.DefaultAfterApplyPolicy===Kusto.Data.IntelliSense.ApplyPolicy.AppendPipePolicy&&(l.DefaultAfterApplyPolicy=this._newlineAppendPipePolicy);var p=m.filter((function(e){return!(e&&e.Value&&u.disabledCompletionItemsV1[e.Value]===e.Kind)})).map((function(e,d){var t=u.getTextToInsert(l,e),a=t.insertText,i=t.insertTextFormat,o=r.CslDocumentation.Instance.GetTopic(e),c=n.CompletionItem.create(e.Value);return c.kind=u.kustoKindToLsKind(e.Kind),c.insertText=a,c.insertTextFormat=i,c.sortText=u.getSortText(d+1),c.detail=o?o.ShortDescription:void 0,c.documentation=o?{value:o.LongDescription,kind:n.MarkupKind.Markdown}:void 0,c}));return Promise.resolve(n.CompletionList.create(p))}return Promise.resolve(n.CompletionList.create([]))},e.prototype.doRangeFormat=function(e,d){if(!e)return Promise.resolve([]);var u=e.offsetAt(d.start),t=e.offsetAt(d.end),a=this.getFormattedCommandsInDocumentV2(e,u,t);return a.originalRange&&0!==a.formattedCommands.length?Promise.resolve([n.TextEdit.replace(a.originalRange,a.formattedCommands.join(""))]):Promise.resolve([])},e.prototype.doDocumentFormat=function(e){if(!e)return Promise.resolve([]);var d=e.positionAt(0),u=e.positionAt(e.getText().length),t=n.Range.create(d,u),a=this.getFormattedCommandsInDocumentV2(e).formattedCommands.join("");return Promise.resolve([n.TextEdit.replace(t,a)])},e.prototype.doCurrentCommandFormat=function(e,d){var u=e.offsetAt(d),n=this.createRange(e,u-1,u+1);return this.doRangeFormat(e,n)},e.prototype.doFolding=function(e){return e?this.getCommandsInDocument(e).then((function(d){return d.map((function(d){d.text.endsWith("\r\n")?d.absoluteEnd-=2:(d.text.endsWith("\r")||d.text.endsWith("\n"))&&--d.absoluteEnd;var u=e.positionAt(d.absoluteStart),n=e.positionAt(d.absoluteEnd);return{startLine:u.line,startCharacter:u.character,endLine:n.line,endCharacter:n.character}}))})):Promise.resolve([])},e.prototype.doValidation=function(e,d){var u=this;if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var n=this.parseDocumentV2(e),t=this.toArray(n.Blocks);d.length>0&&(t=this.getAffectedBlocks(t,d));var a=t.map((function(e){var d=u.toArray(e.Service.GetDiagnostics());return d||[]})).reduce((function(e,d){return e.concat(d)}),[]),r=this.toLsDiagnostics(a,e);return Promise.resolve(r)},e.prototype.toLsDiagnostics=function(e,d){return e.filter((function(e){return e.HasLocation})).map((function(e){var u=d.positionAt(e.Start),t=d.positionAt(e.Start+e.Length),a=n.Range.create(u,t);return n.Diagnostic.create(a,e.Message,n.DiagnosticSeverity.Error)}))},e.prototype.doColorization=function(e,d){var u=this;if(!e||!this._languageSettings.useSemanticColorization)return Promise.resolve([]);if(!this.isIntellisenseV2()){if(d.length>0){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var n=this.toArray(this._parser.Results).filter((function(e){return!!e&&d.some((function(d){var u=d.start,n=d.end;return e.AbsoluteStart>=u&&e.AbsoluteStart<=n||u>=e.AbsoluteStart&&u<=e.AbsoluteEnd+1}))}));if(!n||0===n.length)return Promise.resolve([{classifications:[],absoluteStart:d[0].start,absoluteEnd:d[0].end}]);var t=n.map((function(e){return u.parseTextV1(e.Text,r.ParseMode.TokenizeAllText),{classifications:b(u.getClassificationsFromParseResult(e.AbsoluteStart)),absoluteStart:e.AbsoluteStart,absoluteEnd:e.AbsoluteEnd}}));return Promise.resolve(t)}this.parseDocumentV1(e,r.ParseMode.TokenizeAllText);var a=this.getClassificationsFromParseResult();return Promise.resolve([{classifications:b(a),absoluteStart:0,absoluteEnd:e.getText().length}])}var i=this.parseDocumentV2(e);if(d.length>0){var o=this.toArray(i.Blocks),c=this.getAffectedBlocks(o,d).map((function(e){return{classifications:b(u.toArray(e.Service.GetClassifications(e.Start,e.End).Classifications)),absoluteStart:e.Start,absoluteEnd:e.End}}));return Promise.resolve(c)}var f=this.toArray(i.Blocks).map((function(e){return u.toArray(e.Service.GetClassifications(e.Start,e.Length).Classifications)})).reduce((function(e,d){return e.concat(d)}),[]);return Promise.resolve([{classifications:b(f),absoluteStart:0,absoluteEnd:e.getText().length}])},e.prototype.getAffectedBlocks=function(e,d){return e.filter((function(e){return!!e&&d.some((function(d){var u=d.start,n=d.end;return e.Start>=u&&e.Start<=n||u>=e.Start&&u<=e.End+1}))}))},e.prototype.setSchema=function(d){var u=this;if(this._schema=d,this._languageSettings.useIntellisenseV2){var n=d&&"Engine"===d.clusterType?this.convertToKustoJsSchemaV2(d):null;this._kustoJsSchemaV2=n,this._script=void 0,this._parsePropertiesV2=void 0}return new Promise((function(n,t){var a=d?e.convertToKustoJsSchema(d):void 0;u._kustoJsSchema=a,u.createRulesProvider(a,d.clusterType),n(void 0)}))},e.prototype.setParameters=function(d){if(!this._languageSettings.useIntellisenseV2||"Engine"!==this._schema.clusterType)throw new Error("setParameters requires intellisense V2 and Engine cluster");this._schema.globalParameters=d;var u=d.map((function(d){return e.createParameterSymbol(d)}));return this._kustoJsSchemaV2=this._kustoJsSchemaV2.WithParameters(e.toBridgeList(u)),Promise.resolve(void 0)},e.prototype.setSchemaFromShowSchema=function(e,d,u,n){var t=this;return this.normalizeSchema(e,d,u).then((function(e){return t.setSchema(__assign(__assign({},e),{globalParameters:n}))}))},e.prototype.normalizeSchema=function(e,d,u){var n=Object.keys(e.Databases).map((function(d){return e.Databases[d]})).map((function(e){var d=e.Name,u=e.Tables,n=e.ExternalTables,t=e.MaterializedViews,a=e.Functions;return{name:d,minorVersion:e.MinorVersion,majorVersion:e.MajorVersion,tables:[].concat.apply([],[[u,"Table"],[t,"MaterializedView"],[n,"ExternalTable"]].filter((function(e){return e[0]})).map((function(e){var d=e[0],u=e[1];return Object.values(d).map((function(e){var d=e.Name,n=e.OrderedColumns;return{name:d,docstring:e.DocString,entityType:u,columns:n.map((function(e){var d=e.Name,u=(e.Type,e.DocString);return{name:d,type:e.CslType,docstring:u}}))}}))}))),functions:Object.keys(a).map((function(e){return a[e]})).map((function(e){return{name:e.Name,body:e.Body,docstring:e.DocString,inputParameters:e.InputParameters.map((function(e){return{name:e.Name,type:e.Type,cslType:e.CslType,cslDefaultValue:e.CslDefaultValue,columns:e.Columns?e.Columns.map((function(e){return{name:e.Name,type:e.Type,cslType:e.CslType}})):e.Columns}}))}}))}})),t={clusterType:"Engine",cluster:{connectionString:d,databases:n},database:n.filter((function(e){return e.name===u}))[0]};return Promise.resolve(t)},e.prototype.getSchema=function(){return Promise.resolve(this._schema)},e.prototype.getCommandInContext=function(e,d){return this.isIntellisenseV2()?this.getCommandInContextV2(e,d):this.getCommandInContextV1(e,d)},e.prototype.getCommandAndLocationInContext=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve(null);var u=this.parseDocumentV2(e),t=this.getCurrentCommandV2(u,d);if(!t)return Promise.resolve(null);var a=e.positionAt(t.Start),r=e.positionAt(t.End),i=n.Location.create(e.uri,n.Range.create(a,r)),o=t.Text;return Promise.resolve({text:o,location:i})},e.prototype.getCommandInContextV1=function(e,d){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var u=this.getCurrentCommand(e,d);return u?Promise.resolve(u.Text):Promise.resolve(null)},e.prototype.getCommandInContextV2=function(e,d){if(!e)return Promise.resolve(null);var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);return n?Promise.resolve(n.Text):Promise.resolve(null)},e.prototype.getCommandsInDocument=function(e){return e?this.isIntellisenseV2()?this.getCommandsInDocumentV2(e):this.getCommandsInDocumentV1(e):Promise.resolve([])},e.prototype.getCommandsInDocumentV1=function(e){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var d=this.toArray(this._parser.Results);return Promise.resolve(d.map((function(e){return{absoluteStart:e.AbsoluteStart,absoluteEnd:e.AbsoluteEnd,text:e.Text}})))},e.prototype.toPlacementStyle=function(e){if(e)switch(e){case"None":return o.PlacementStyle.None;case"NewLine":return o.PlacementStyle.NewLine;case"Smart":return o.PlacementStyle.Smart;default:throw new Error("Unknown PlacementStyle")}},e.prototype.getFormattedCommandsInDocumentV2=function(e,d,u){var n=this,t=this.parseDocumentV2(e),a=this.toArray(t.Blocks).filter((function(e){if(!e.Text||""==e.Text.trim())return!1;if(null==d||null==u)return!0;for(var n=e.End,t=e.Text,a=t.length-1;a>=0&&("\r"==t[a]||"\n"==t[a]);a--)n--;return e.Start>d&&e.Start<u||(n>d&&n<u||(e.Start<=d&&n>=u||void 0))}));return 0===a.length?{formattedCommands:[]}:{formattedCommands:a.map((function(e){var t,a,r=n._languageSettings.formatter,i=Kusto.Language.Editor.FormattingOptions.Default.WithIndentationSize(null!==(t=null==r?void 0:r.indentationSize)&&void 0!==t?t:4).WithInsertMissingTokens(!1).WithPipeOperatorStyle(null!==(a=n.toPlacementStyle(null==r?void 0:r.pipeOperatorStyle))&&void 0!==a?a:o.PlacementStyle.Smart).WithSemicolonStyle(Kusto.Language.Editor.PlacementStyle.None).WithBrackettingStyle(o.BrackettingStyle.Diagonal);return null==d||null==u||d===e.Start&&e.End,e.Service.GetFormattedText(i).Text})),originalRange:this.createRange(e,a[0].Start,a[a.length-1].End)}},e.prototype.getCommandsInDocumentV2=function(e){var d=this.parseDocumentV2(e),u=this.toArray(d.Blocks).filter((function(e){return""!=e.Text.trim()}));return Promise.resolve(u.map((function(e){return{absoluteStart:e.Start,absoluteEnd:e.End,text:e.Text}})))},e.prototype.getClientDirective=function(e){var d={v:null},u=r.CslCommandParser.IsClientDirective(e,d);return Promise.resolve({isClientDirective:u,directiveWithoutLeadingComments:d.v})},e.prototype.getAdminCommand=function(e){var d={v:null},u=r.CslCommandParser.IsAdminCommand$1(e,d);return Promise.resolve({isAdminCommand:u,adminCommandWithoutLeadingComments:d.v})},e.prototype.findDefinition=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),t=e.offsetAt(d),a=this.getCurrentCommandV2(u,t);if(!a)return Promise.resolve([]);var r=a.Service.GetRelatedElements(e.offsetAt(d)),i=this.toArray(r.Elements)[0];if(!i)return Promise.resolve([]);var o=e.positionAt(i.Start),c=e.positionAt(i.End),f=n.Range.create(o,c),s=n.Location.create(e.uri,f);return Promise.resolve([s])},e.prototype.findReferences=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),t=e.offsetAt(d),a=this.getCurrentCommandV2(u,t);if(!a)return Promise.resolve([]);var r=a.Service.GetRelatedElements(e.offsetAt(d)),i=this.toArray(r.Elements);if(!i||0==i.length)return Promise.resolve([]);var o=i.map((function(d){var u=e.positionAt(d.Start),t=e.positionAt(d.End),a=n.Range.create(u,t);return n.Location.create(e.uri,a)}));return Promise.resolve(o)},e.prototype.getQueryParams=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);this.parseDocumentV2(e);var u=this.parseAndAnalyze(e,d),n=this.toArray(u.Syntax.GetDescendants(Kusto.Language.Syntax.QueryParametersStatement));if(!n||0==n.length)return Promise.resolve([]);var t=[];return n.forEach((function(e){e.WalkElements((function(e){return e.ReferencedSymbol&&e.ReferencedSymbol.Type?t.push({name:e.ReferencedSymbol.Name,type:e.ReferencedSymbol.Type.Name}):void 0}))})),Promise.resolve(t)},e.prototype.getRenderInfo=function(e,d){var u=this,n=this.parseAndAnalyze(e,d);if(!n)return Promise.resolve(void 0);var t=this.toArray(n.Syntax.GetDescendants(Kusto.Language.Syntax.RenderOperator));if(!t||0===t.length)return Promise.resolve(void 0);var a=t[0],r=a.TextStart,i=a.End,o=a.ChartType.ValueText,c=a.WithClause;if(!c){var f={options:{visualization:o},location:{startOffset:r,endOffset:i}};return Promise.resolve(f)}var s=this.toArray(c.Properties).reduce((function(e,d){var n=d.Element$1.Name.SimpleName;switch(n){case"xcolumn":var t=d.Element$1.Expression.ReferencedSymbol.Name;e[n]=t;break;case"ycolumns":case"anomalycolumns":var a=u.toArray(d.Element$1.Expression.Names).map((function(e){return e.Element$1.SimpleName}));e[n]=a;break;case"ymin":case"ymax":var r=parseFloat(d.Element$1.Expression.ConstantValue);e[n]=r;break;case"title":case"xtitle":case"ytitle":case"visualization":case"series":var i=d.Element$1.Expression.ConstantValue;e[n]=i;break;case"xaxis":case"yaxis":var o=d.Element$1.Expression.ConstantValue;e[n]=o;break;case"legend":var c=d.Element$1.Expression.ConstantValue;e[n]=c;break;case"ySplit":var f=d.Element$1.Expression.ConstantValue;e[n]=f;break;case"accumulate":var s=d.Element$1.Expression.ConstantValue;e[n]=s;break;case"kind":var m=d.Element$1.Expression.ConstantValue;e[n]=m;break;default:l(n)}return e}),{}),m={options:__assign({visualization:o},s),location:{startOffset:r,endOffset:i}};return Promise.resolve(m)},e.prototype.getReferencedGlobalParams=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);if(!n)return Promise.resolve([]);var t=n.Text,a=Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2),r=this.toArray(this._kustoJsSchemaV2.Parameters),i=this.toArray(a.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(e){return null!==e.ReferencedSymbol})).map((function(e){return e.ReferencedSymbol})).filter((function(e){return r.filter((function(d){return d===e})).length>0})).map((function(e){return{name:e.Name,type:e.Type.Name}}));return Promise.resolve(i)},e.prototype.getGlobalParams=function(e){if(!this.isIntellisenseV2())return Promise.resolve([]);var d=this.toArray(this._kustoJsSchemaV2.Parameters).map((function(e){return{name:e.Name,type:e.Type.Name}}));return Promise.resolve(d)},e.prototype.doRename=function(e,d,u){var t;if(!e||!this.isIntellisenseV2())return Promise.resolve(void 0);var a=this.parseDocumentV2(e),r=e.offsetAt(d),i=this.getCurrentCommandV2(a,r);if(!i)return Promise.resolve(void 0);var c=i.Service.GetRelatedElements(e.offsetAt(d)),f=this.toArray(c.Elements),s=f.filter((function(e){return e.Kind==o.RelatedElementKind.Declaration}));if(!s||0==s.length)return Promise.resolve(void 0);var l=f.map((function(d){var t=e.positionAt(d.Start),a=e.positionAt(d.End),r=n.Range.create(t,a);return n.TextEdit.replace(r,u)})),m={changes:(t={},t[e.uri]=l,t)};return Promise.resolve(m)},e.prototype.doHover=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve(void 0);var u=this.parseDocumentV2(e),n=e.offsetAt(d),t=this.getCurrentCommandV2(u,n);if(!t)return Promise.resolve(void 0);if(!t.Service.IsFeatureSupported(o.CodeServiceFeatures.QuickInfo,n))return Promise.resolve(void 0);var a=t.Service.GetQuickInfo(n);if(!a||!a.Items)return Promise.resolve(void 0);var r=this.toArray(a.Items);if(!r)return Promise.resolve(void 0);var i=(r=r.filter((function(e){return e.Kind!==o.QuickInfoKind.Error}))).map((function(e){return e.Text.replace("\n\n","\n* * *\n")})).join("\n* * *\n");return Promise.resolve({contents:i})},Object.defineProperty(e,"dummySchema",{get:function(){var e={majorVersion:0,minorVersion:0,name:"Kuskus",tables:[{name:"KustoLogs",columns:[{name:"Source",type:"string"},{name:"Timestamp",type:"datetime"},{name:"Directory",type:"string"}],docstring:"A dummy description to test that docstring shows as expected when hovering over a table"}],functions:[{name:"HowBig",inputParameters:[{name:"T",columns:[{name:"Timestamp",type:"System.DateTime",cslType:"datetime"}]}],docstring:"A dummy description to test that docstring shows as expected when hovering over a function",body:"{\r\n union \r\n (T | count | project V='Volume', Metric = strcat(Count/1e9, ' Billion records')),\r\n (T | summarize FirstRecord=min(Timestamp)| project V='Volume', Metric = strcat(toint((now()-FirstRecord)/1d), ' Days of data (from: ', format_datetime(FirstRecord, 'yyyy-MM-dd'),')')),\r\n (T | where Timestamp > ago(1h) | count | project V='Velocity', Metric = strcat(Count/1e6, ' Million records / hour')),\r\n (T | summarize Latency=now()-max(Timestamp) | project V='Velocity', Metric = strcat(Latency / 1sec, ' seconds latency')),\r\n (T | take 1 | project V='Variety', Metric=tostring(pack_all()))\r\n | order by V \r\n}"},{name:"FindCIDPast24h",inputParameters:[{name:"clientActivityId",type:"System.String",cslType:"string"}],body:"{ KustoLogs | where Timestamp > now(-1d) | where ClientActivityId == clientActivityId} "}]};return{clusterType:"Engine",cluster:{connectionString:"https://kuskus.kusto.windows.net;fed=true",databases:[e]},database:e}},enumerable:!1,configurable:!0}),e.convertToEntityDataType=function(e){},e.convertToKustoJsSchema=function(e){switch(e.clusterType){case"Engine":var d=e.database?e.database.name:void 0,n=new r.KustoIntelliSenseClusterEntity,t=void 0;n.ConnectionString=e.cluster.connectionString;var i=[];return e.cluster.databases.forEach((function(e){var n=new r.KustoIntelliSenseDatabaseEntity;n.Name=e.name;var o=[];e.tables.forEach((function(e){var d=new r.KustoIntelliSenseTableEntity;d.Name=e.name;var u=[];e.columns.forEach((function(e){var d=new r.KustoIntelliSenseColumnEntity;d.Name=e.name,d.TypeCode=r.EntityDataType[a.getEntityDataTypeFromCslType(e.type)],u.push(d)})),d.Columns=new Bridge.ArrayEnumerable(u),o.push(d)}));var c=[];e.functions.forEach((function(e){var d=new r.KustoIntelliSenseFunctionEntity;d.Name=e.name,d.CallName=u.getCallName(e),d.Expression=u.getExpression(e),c.push(d)})),n.Tables=new Bridge.ArrayEnumerable(o),n.Functions=new Bridge.ArrayEnumerable(c),i.push(n),e.name==d&&(t=n)})),n.Databases=new Bridge.ArrayEnumerable(i),new r.KustoIntelliSenseQuerySchema(n,t);case"ClusterManager":return{accounts:e.accounts.map((function(e){var d=new r.KustoIntelliSenseAccountEntity;return d.Name=e,d})),services:e.services.map((function(e){var d=new r.KustoIntelliSenseServiceEntity;return d.Name=e,d})),connectionString:e.connectionString};case"DataManagement":return;default:return l(e)}},e.scalarParametersToSignature=function(e){return"("+e.map((function(e){return e.name+": "+e.cslType})).join(", ")+")"},e.inputParameterToSignature=function(e){var d=this;return"("+e.map((function(e){if(e.columns){var u=d.scalarParametersToSignature(e.columns);return e.name+": "+u}return e.name+": "+e.cslType})).join(", ")+")"},e.toLetStatement=function(e){var d=this.inputParameterToSignature(e.inputParameters);return"let "+e.name+" = "+d+" "+e.body},e.createColumnSymbol=function(e){return new c.ColumnSymbol(e.name,c.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(e.type)),e.docstring)},e.createParameterSymbol=function(e){var d=Kusto.Language.Symbols.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(e.type));return new c.ParameterSymbol(e.name,d,null)},e.createParameter=function(d){if(!d.columns){var u=Kusto.Language.Symbols.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(d.type)),n=d.cslDefaultValue&&"string"==typeof d.cslDefaultValue?i.QueryParser.ParseLiteral$1(d.cslDefaultValue):void 0;return new c.Parameter.$ctor3(d.name,u,null,null,null,!1,null,1,1,n,null)}if(0==d.columns.length)return new c.Parameter.ctor(d.name,c.ParameterTypeKind.Tabular,c.ArgumentKind.Expression,null,null,!1,null,1,1,null,null);var t=new c.TableSymbol.ctor(d.columns.map((function(d){return e.createColumnSymbol(d)})));return new c.Parameter.$ctor2(d.name,t)},e.convertToDatabaseSymbol=function(d,u,n){return function(d){var u=d.tables?d.tables.map((function(d){return function(d){var u=d.columns.map((function(d){return e.createColumnSymbol(d)})),n=new c.TableSymbol.$ctor3(d.name,u);switch(n.Description=d.docstring,d.entityType){case"MaterializedViewTable":n=n.WithIsMaterializedView(!0);break;case"ExternalTable":n=n.WithIsExternal(!0)}return n}(d)})):[],n=d.functions?d.functions.map((function(d){return n=(u=d).inputParameters.map((function(d){return e.createParameter(d)})),new c.FunctionSymbol.$ctor16(u.name,u.body,e.toBridgeList(n),u.docstring);var u,n})):[];return new c.DatabaseSymbol.ctor(d.name,u.concat(n))}(d)},e.prototype.convertToKustoJsSchemaV2=function(d){var u=this._schemaCache[d.cluster.connectionString];u||(this._schemaCache[d.cluster.connectionString]={},u=this._schemaCache[d.cluster.connectionString]);var n=d.cluster.databases.reduce((function(e,d){return e[d.name]=d}),{});Object.keys(u).map((function(e){n[e]||delete u.dbName}));var t=f.Default,a=d.database?d.database.name:void 0,r=void 0,i=d.cluster.databases.map((function(d){var n=d.name===a,i=u[d.name];if(!i||i.database.majorVersion<d.majorVersion||n&&!i.includesFunctions){var o=e.convertToDatabaseSymbol(d,t,n);u[d.name]={database:d,symbol:o,includesFunctions:n}}var c=u[d.name].symbol;return d.name===a&&(r=c),c})),o=d.cluster.connectionString.match(/(.*\/\/)?([^\/;]*)/)[2].split(".")[0],s=new c.ClusterSymbol.ctor(o,i);if(t=t.WithCluster(s),r&&(t=t.WithDatabase(r)),d.globalParameters){var l=d.globalParameters.map((function(d){return e.createParameterSymbol(d)}));t=t.WithParameters(e.toBridgeList(l))}return t},e.prototype.getClassificationsFromParseResult=function(e){var d=this;return void 0===e&&(e=0),this.toArray(this._parser.Results).map((function(e){return d.toArray(e.Tokens)})).reduce((function(e,d){return e.concat(d)}),[]).map((function(u){return new o.ClassifiedRange(d.tokenKindToClassificationKind(u.TokenKind),u.AbsoluteStart+e,u.Length)}))},e.trimTrailingNewlineFromRange=function(e,d,u,t){for(var a=e.length-1;"\r"===e[a]||"\n"===e[a];)--a;var r=d+a+1,i=u.positionAt(r);return n.Range.create(t.start,i)},e.prototype.getSortText=function(e){if(e<=0)throw new RangeError("order should be a number >= 1. instead got "+e);for(var d="",u=Math.floor(e/26),n=0;n<u;++n)d+="z";var t=e%26;return t>0&&(d+=String.fromCharCode(96+t)),d},e.prototype.parseTextV1=function(e,d){this._parser.Parse("Engine"===this._schema.clusterType?this._rulesProvider:null,e,d)},e.prototype.parseDocumentV1=function(e,d){this._parsePropertiesV1&&!this._parsePropertiesV1.isParseNeeded(e,this._rulesProvider,d)||(this.parseTextV1(e.getText(),d),this._parsePropertiesV1=new p(e.version,e.uri,this._rulesProvider,d))},e.prototype.parseDocumentV2=function(e){return this._parsePropertiesV2&&!this._parsePropertiesV2.isParseNeeded(e,this._rulesProvider)||(this._script?this._script=this._script.WithText(e.getText()):this._script=o.CodeScript.From$1(e.getText(),this._kustoJsSchemaV2),this._parsePropertiesV2=new p(e.version,e.uri)),this._script},e.prototype.getCurrentCommand=function(e,d){var u=this.toArray(this._parser.Results),n=u.filter((function(e){return e.AbsoluteStart<=d&&e.AbsoluteEnd>=d}))[0];return n||(n=u.filter((function(e){return e.AbsoluteStart<=d&&e.AbsoluteEnd+1>=d}))[0])&&!n.Text.endsWith("\r\n\r\n")?n:null},e.prototype.getCurrentCommandV2=function(e,d){return e.GetBlockAtPosition(d)},e.prototype.getTextToInsert=function(e,d){var u=e.GetBeforeApplyInfo(d.Value),t=e.GetAfterApplyInfo(d.Value),a=u.Text||""+d.Value+t.Text||"",r=n.InsertTextFormat.PlainText;if(t.OffsetToken&&t.OffsetPosition){var i=a.indexOf(t.OffsetToken);i>=0&&(a=this.insertToString(a,"$0",i-a.length+t.OffsetPosition),r=n.InsertTextFormat.Snippet)}else t.OffsetPosition&&(a=this.insertToString(a,"$0",t.OffsetPosition),r=n.InsertTextFormat.Snippet);return{insertText:a,insertTextFormat:r}},e.prototype.insertToString=function(e,d,u){var n=e.length+u;return u>=0||n<0?e:e.substring(0,n)+d+e.substring(n)},e.prototype.getCommandWithoutLastWord=function(e){var d=t("[\\w_]*$","s");return e.replace(d,"")},e.prototype.createRulesProvider=function(e,d){var u=new(s(String)),n=new(s(String));if(this._parser=new r.CslCommandParser,"Engine"!=d)if("DataManagement"!==d){var t=e,a=t.accounts,i=t.services,o=t.connectionString;new r.KustoIntelliSenseAccountEntity,new r.KustoIntelliSenseServiceEntity,this._rulesProvider=new r.ClusterManagerIntelliSenseRulesProvider.$ctor1(new Bridge.ArrayEnumerable(a),new Bridge.ArrayEnumerable(i),o)}else this._rulesProvider=new r.DataManagerIntelliSenseRulesProvider(null);else{var c=e;this._rulesProvider=this._languageSettings&&this._languageSettings.includeControlCommands?new r.CslIntelliSenseRulesProvider.$ctor1(c.Cluster,c,u,n,null,!0,!0):new r.CslQueryIntelliSenseRulesProvider.$ctor1(c.Cluster,c,u,n,null,null,null)}},e.prototype.kustoKindToLsKind=function(e){var d=this._kustoKindtolsKind[e];return d||n.CompletionItemKind.Variable},e.prototype.kustoKindToLsKindV2=function(e){var d=this._kustoKindToLsKindV2[e];return d||n.CompletionItemKind.Variable},e.prototype.createRange=function(e,d,u){return n.Range.create(e.positionAt(d),e.positionAt(u))},e.prototype.toArray=function(e){return Bridge.toArray(e)},e.toBridgeList=function(e){return new(System.Collections.Generic.List$1(System.Object).$ctor1)(e)},e.prototype.tokenKindToClassificationKind=function(e){return this._tokenKindToClassificationKind[e]||o.ClassificationKind.PlainText},e.prototype.parseAndAnalyze=function(e,d){if(e&&this.isIntellisenseV2()){var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);if(n){var t=n.Text;return Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2)}}},e}(),h=new g(g.dummySchema,{includeControlCommands:!0,useIntellisenseV2:!0,useSemanticColorization:!0});d.getKustoLanguageService=function(){return h}})),define("vs/language/kusto/kustoWorker",["require","exports","./languageService/kustoLanguageService","vscode-languageserver-types"],(function(e,d,u,n){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.create=d.KustoWorker=void 0;var t=function(){function e(e,d){this._ctx=e,this._languageSettings=d.languageSettings,this._languageService=u.getKustoLanguageService(),this._languageService.configure(this._languageSettings)}return e.prototype.setSchema=function(e){return this._languageService.setSchema(e)},e.prototype.setSchemaFromShowSchema=function(e,d,u){return this._languageService.setSchemaFromShowSchema(e,d,u)},e.prototype.normalizeSchema=function(e,d,u){return this._languageService.normalizeSchema(e,d,u)},e.prototype.getSchema=function(){return this._languageService.getSchema()},e.prototype.getCommandInContext=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getCommandInContext: document is "+u+". uri is "+e),null;var n=this._languageService.getCommandInContext(u,d);return void 0===n?null:n},e.prototype.getQueryParams=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getQueryParams: document is "+u+". uri is "+e),null;var n=this._languageService.getQueryParams(u,d);return void 0===n?null:n},e.prototype.getGlobalParams=function(e){var d=this._getTextDocument(e);if(!d)return console.error("getGLobalParams: document is "+d+". uri is "+e),null;var u=this._languageService.getGlobalParams(d);return void 0===u?null:u},e.prototype.getReferencedGlobalParams=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getReferencedGlobalParams: document is "+u+". uri is "+e),null;var n=this._languageService.getReferencedGlobalParams(u,d);return void 0===n?null:n},e.prototype.getRenderInfo=function(e,d){var u=this._getTextDocument(e);return u||console.error("getRenderInfo: document is "+u+". uri is "+e),this._languageService.getRenderInfo(u,d).then((function(e){return e||null}))},e.prototype.getCommandAndLocationInContext=function(e,d){var u=this._getTextDocument(e);return u?this._languageService.getCommandAndLocationInContext(u,d).then((function(e){if(!e)return null;var d=e.text,u=e.location.range,n=u.start,t=u.end;return{range:new monaco.Range(n.line+1,n.character+1,t.line+1,t.character+1),text:d}})):(console.error("getCommandAndLocationInContext: document is "+u+". uri is "+e),Promise.resolve(null))},e.prototype.getCommandsInDocument=function(e){var d=this._getTextDocument(e);return d?this._languageService.getCommandsInDocument(d):(console.error("getCommandInDocument: document is "+d+". uri is "+e),null)},e.prototype.doComplete=function(e,d){var u=this._getTextDocument(e);return u?this._languageService.doComplete(u,d):null},e.prototype.doValidation=function(e,d){var u=this._getTextDocument(e);return this._languageService.doValidation(u,d)},e.prototype.doRangeFormat=function(e,d){var u=this._getTextDocument(e);return this._languageService.doRangeFormat(u,d)},e.prototype.doFolding=function(e){var d=this._getTextDocument(e);return this._languageService.doFolding(d)},e.prototype.doDocumentFormat=function(e){var d=this._getTextDocument(e);return this._languageService.doDocumentFormat(d)},e.prototype.doCurrentCommandFormat=function(e,d){var u=this._getTextDocument(e);return this._languageService.doCurrentCommandFormat(u,d)},e.prototype.doColorization=function(e,d){var u=this._getTextDocument(e);return this._languageService.doColorization(u,d)},e.prototype.getClientDirective=function(e){return this._languageService.getClientDirective(e)},e.prototype.getAdminCommand=function(e){return this._languageService.getAdminCommand(e)},e.prototype.findDefinition=function(e,d){var u=this._getTextDocument(e);return this._languageService.findDefinition(u,d)},e.prototype.findReferences=function(e,d){var u=this._getTextDocument(e);return this._languageService.findReferences(u,d)},e.prototype.doRename=function(e,d,u){var n=this._getTextDocument(e);return this._languageService.doRename(n,d,u)},e.prototype.doHover=function(e,d){var u=this._getTextDocument(e);return this._languageService.doHover(u,d)},e.prototype.setParameters=function(e){return this._languageService.setParameters(e)},e.prototype._getTextDocument=function(e){for(var d=0,u=this._ctx.getMirrorModels();d<u.length;d++){var t=u[d];if(t.uri.toString()===e)return n.TextDocument.create(e,this._languageId,t.version,t.getValue())}return null},e}();d.KustoWorker=t,d.create=function(e,d){return new t(e,d)}}));
60
+ var n={astral:!1,natives:!1},t={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},a={},r={},i={},o=[],c={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},f=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,s=void 0===t.exec.call(/()??/,"")[1],l=void 0!==/x/.flags,m={}.toString;function p(e){var d=!0;try{new RegExp("",e)}catch(e){d=!1}return d}var b=p("u"),g=p("y"),h={g:!0,i:!0,m:!0,u:b,y:g};function v(e,d,u,n,t){var a;if(e.xregexp={captureNames:d},t)return e;if(e.__proto__)e.__proto__=O.prototype;else for(a in O.prototype)e[a]=O.prototype[a];return e.xregexp.source=u,e.xregexp.flags=n?n.split("").sort().join(""):n,e}function y(e){return t.replace.call(e,/([\s\S])(?=[\s\S]*\1)/g,"")}function C(e,d){if(!O.isRegExp(e))throw new TypeError("Type RegExp expected");var u=e.xregexp||{},n=function(e){return l?e.flags:t.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(e))[1]}(e),a="",r="",i=null,o=null;return(d=d||{}).removeG&&(r+="g"),d.removeY&&(r+="y"),r&&(n=t.replace.call(n,new RegExp("["+r+"]+","g"),"")),d.addG&&(a+="g"),d.addY&&(a+="y"),a&&(n=y(n+a)),d.isInternalOnly||(void 0!==u.source&&(i=u.source),null!=u.flags&&(o=a?y(u.flags+a):u.flags)),e=v(new RegExp(d.source||e.source,n),function(e){return!(!e.xregexp||!e.xregexp.captureNames)}(e)?u.captureNames.slice(0):null,i,o,d.isInternalOnly)}function _(e){return parseInt(e,16)}function S(e,d,u){return"("===e.input.charAt(e.index-1)||")"===e.input.charAt(e.index+e[0].length)||function(e,d,u,n){var a=u.indexOf("x")>-1?["\\s","#[^#\\n]*","\\(\\?#[^)]*\\)"]:["\\(\\?#[^)]*\\)"];return t.test.call(new RegExp("^(?:"+a.join("|")+")*(?:"+n+")"),e.slice(d))}(e.input,e.index+e[0].length,u,"[?*+]|{\\d+(?:,\\d*)?}")?"":"(?:)"}function I(e){return parseInt(e,10).toString(16)}function x(e,d){var u,n=e.length;for(u=0;u<n;++u)if(e[u]===d)return u;return-1}function T(e,d){return m.call(e)==="[object "+d+"]"}function K(e){for(;e.length<4;)e="0"+e;return e}function P(e){var d={};return T(e,"String")?(O.forEach(e,/[^\s,]+/,(function(e){d[e]=!0})),d):e}function k(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");h[e]=!0}function E(e,d,u,n,t){for(var a,r,i=o.length,c=e.charAt(u),f=null;i--;)if(!((r=o[i]).leadChar&&r.leadChar!==c||r.scope!==n&&"all"!==r.scope||r.flag&&-1===d.indexOf(r.flag))&&(a=O.exec(e,r.regex,u,"sticky"))){f={matchLength:a[0].length,output:r.handler.call(t,a,n,d),reparse:r.reparse};break}return f}function w(e){n.astral=e}function A(e){RegExp.prototype.exec=(e?a:t).exec,RegExp.prototype.test=(e?a:t).test,String.prototype.match=(e?a:t).match,String.prototype.replace=(e?a:t).replace,String.prototype.split=(e?a:t).split,n.natives=e}function D(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function O(e,d){if(O.isRegExp(e)){if(void 0!==d)throw new TypeError("Cannot supply flags when copying a RegExp");return C(e)}if(e=void 0===e?"":String(e),d=void 0===d?"":String(d),O.isInstalled("astral")&&-1===d.indexOf("A")&&(d+="A"),i[e]||(i[e]={}),!i[e][d]){for(var u,n={hasNamedCapture:!1,captureNames:[]},a="default",r="",o=0,f=function(e,d){var u;if(y(d)!==d)throw new SyntaxError("Invalid duplicate regex flag "+d);for(e=t.replace.call(e,/^\(\?([\w$]+)\)/,(function(e,u){if(t.test.call(/[gy]/,u))throw new SyntaxError("Cannot use flag g or y in mode modifier "+e);return d=y(d+u),""})),u=0;u<d.length;++u)if(!h[d.charAt(u)])throw new SyntaxError("Unknown regex flag "+d.charAt(u));return{pattern:e,flags:d}}(e,d),s=f.pattern,l=f.flags;o<s.length;){do{(u=E(s,l,o,a,n))&&u.reparse&&(s=s.slice(0,o)+u.output+s.slice(o+u.matchLength))}while(u&&u.reparse);if(u)r+=u.output,o+=u.matchLength||1;else{var m=O.exec(s,c[a],o,"sticky")[0];r+=m,o+=m.length,"["===m&&"default"===a?a="class":"]"===m&&"class"===a&&(a="default")}}i[e][d]={pattern:t.replace.call(r,/(?:\(\?:\))+/g,"(?:)"),flags:t.replace.call(l,/[^gimuy]+/g,""),captures:n.hasNamedCapture?n.captureNames:null}}var p=i[e][d];return v(new RegExp(p.pattern,p.flags),p.captures,e,d)}O.prototype=new RegExp,O.version="3.2.0",O._clipDuplicates=y,O._hasNativeFlag=p,O._dec=_,O._hex=I,O._pad4=K,O.addToken=function(e,d,u){var n,a=(u=u||{}).optionalFlags;if(u.flag&&k(u.flag),a)for(a=t.split.call(a,""),n=0;n<a.length;++n)k(a[n]);o.push({regex:C(e,{addG:!0,addY:g,isInternalOnly:!0}),handler:d,scope:u.scope||"default",flag:u.flag,reparse:u.reparse,leadChar:u.leadChar}),O.cache.flush("patterns")},O.cache=function(e,d){return r[e]||(r[e]={}),r[e][d]||(r[e][d]=O(e,d))},O.cache.flush=function(e){"patterns"===e?i={}:r={}},O.escape=function(e){return t.replace.call(D(e),/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},O.exec=function(e,d,u,n){var t,r,i,o="g",c=!1;return(t=g&&!!(n||d.sticky&&!1!==n))?o+="y":n&&(c=!0,o+="FakeY"),d.xregexp=d.xregexp||{},u=u||0,(i=d.xregexp[o]||(d.xregexp[o]=C(d,{addG:!0,addY:t,source:c?d.source+"|()":void 0,removeY:!1===n,isInternalOnly:!0}))).lastIndex=u,r=a.exec.call(i,e),c&&r&&""===r.pop()&&(r=null),d.global&&(d.lastIndex=r?i.lastIndex:0),r},O.forEach=function(e,d,u){for(var n,t=0,a=-1;n=O.exec(e,d,t);)u(n,++a,e,d),t=n.index+(n[0].length||1)},O.globalize=function(e){return C(e,{addG:!0})},O.install=function(e){e=P(e),!n.astral&&e.astral&&w(!0),!n.natives&&e.natives&&A(!0)},O.isInstalled=function(e){return!!n[e]},O.isRegExp=function(e){return"[object RegExp]"===m.call(e)},O.match=function(e,d,u){var n,a,r=d.global&&"one"!==u||"all"===u,i=(r?"g":"")+(d.sticky?"y":"")||"noGY";return d.xregexp=d.xregexp||{},a=d.xregexp[i]||(d.xregexp[i]=C(d,{addG:!!r,removeG:"one"===u,isInternalOnly:!0})),n=t.match.call(D(e),a),d.global&&(d.lastIndex="one"===u&&n?n.index+n[0].length:0),r?n||[]:n&&n[0]},O.matchChain=function(e,d){return function e(u,n){var t=d[n].regex?d[n]:{regex:d[n]},a=[];function r(e){if(t.backref){if(!(e.hasOwnProperty(t.backref)||+t.backref<e.length))throw new ReferenceError("Backreference to undefined group: "+t.backref);a.push(e[t.backref]||"")}else a.push(e[0])}for(var i=0;i<u.length;++i)O.forEach(u[i],t.regex,r);return n!==d.length-1&&a.length?e(a,n+1):a}([e],0)},O.replace=function(e,d,u,n){var t,r=O.isRegExp(d),i=d.global&&"one"!==n||"all"===n,o=(i?"g":"")+(d.sticky?"y":"")||"noGY",c=d;return r?(d.xregexp=d.xregexp||{},c=d.xregexp[o]||(d.xregexp[o]=C(d,{addG:!!i,removeG:"one"===n,isInternalOnly:!0}))):i&&(c=new RegExp(O.escape(String(d)),"g")),t=a.replace.call(D(e),c,u),r&&d.global&&(d.lastIndex=0),t},O.replaceEach=function(e,d){var u,n;for(u=0;u<d.length;++u)n=d[u],e=O.replace(e,n[0],n[1],n[2]);return e},O.split=function(e,d,u){return a.split.call(D(e),d,u)},O.test=function(e,d,u,n){return!!O.exec(e,d,u,n)},O.uninstall=function(e){e=P(e),n.astral&&e.astral&&w(!1),n.natives&&e.natives&&A(!1)},O.union=function(e,d,u){var n,a,r=(u=u||{}).conjunction||"or",i=0;function o(e,d,u){var t=a[i-n];if(d){if(++i,t)return"(?<"+t+">"}else if(u)return"\\"+(+u+n);return e}if(!T(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(var c,f=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,s=[],l=0;l<e.length;++l)c=e[l],O.isRegExp(c)?(n=i,a=c.xregexp&&c.xregexp.captureNames||[],s.push(t.replace.call(O(c.source).source,f,o))):s.push(O.escape(c));var m="none"===r?"":"|";return O(s.join(m),d)},a.exec=function(e){var d,u,n,a=this.lastIndex,r=t.exec.apply(this,arguments);if(r){if(!s&&r.length>1&&x(r,"")>-1&&(u=C(this,{removeG:!0,isInternalOnly:!0}),t.replace.call(String(e).slice(r.index),u,(function(){var e,d=arguments.length;for(e=1;e<d-2;++e)void 0===arguments[e]&&(r[e]=void 0)}))),this.xregexp&&this.xregexp.captureNames)for(n=1;n<r.length;++n)(d=this.xregexp.captureNames[n-1])&&(r[d]=r[n]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=a),r},a.test=function(e){return!!a.exec.call(this,e)},a.match=function(e){var d;if(O.isRegExp(e)){if(e.global)return d=t.match.apply(this,arguments),e.lastIndex=0,d}else e=new RegExp(e);return a.exec.call(e,D(this))},a.replace=function(e,d){var u,n,a,r=O.isRegExp(e);return r?(e.xregexp&&(n=e.xregexp.captureNames),u=e.lastIndex):e+="",a=T(d,"Function")?t.replace.call(String(this),e,(function(){var u,t=arguments;if(n)for(t[0]=new String(t[0]),u=0;u<n.length;++u)n[u]&&(t[0][n[u]]=t[u+1]);return r&&e.global&&(e.lastIndex=t[t.length-2]+t[0].length),d.apply(void 0,t)})):t.replace.call(null==this?this:String(this),e,(function(){var e=arguments;return t.replace.call(String(d),f,(function(d,u,t){var a;if(u){if((a=+u)<=e.length-3)return e[a]||"";if((a=n?x(n,u):-1)<0)throw new SyntaxError("Backreference to undefined group "+d);return e[a+1]||""}if("$"===t)return"$";if("&"===t||0==+t)return e[0];if("`"===t)return e[e.length-1].slice(0,e[e.length-2]);if("'"===t)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(t=+t,!isNaN(t)){if(t>e.length-3)throw new SyntaxError("Backreference to undefined group "+d);return e[t]||""}throw new SyntaxError("Invalid token "+d)}))})),r&&(e.global?e.lastIndex=0:e.lastIndex=u),a},a.split=function(e,d){if(!O.isRegExp(e))return t.split.apply(this,arguments);var u,n=String(this),a=[],r=e.lastIndex,i=0;return d=(void 0===d?-1:d)>>>0,O.forEach(n,e,(function(e){e.index+e[0].length>i&&(a.push(n.slice(i,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(a,e.slice(1)),u=e[0].length,i=e.index+u)})),i===n.length?t.test.call(e,"")&&!u||a.push(""):a.push(n.slice(i)),e.lastIndex=r,a.length>d?a.slice(0,d):a},O.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,(function(e,d){if("B"===e[1]&&"default"===d)return e[0];throw new SyntaxError("Invalid escape "+e[0])}),{scope:"all",leadChar:"\\"}),O.addToken(/\\u{([\dA-Fa-f]+)}/,(function(e,d,u){var n=_(e[1]);if(n>1114111)throw new SyntaxError("Invalid Unicode code point "+e[0]);if(n<=65535)return"\\u"+K(I(n));if(b&&u.indexOf("u")>-1)return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")}),{scope:"all",leadChar:"\\"}),O.addToken(/\[(\^?)\]/,(function(e){return e[1]?"[\\s\\S]":"\\b\\B"}),{leadChar:"["}),O.addToken(/\(\?#[^)]*\)/,S,{leadChar:"("}),O.addToken(/\s+|#[^\n]*\n?/,S,{flag:"x"}),O.addToken(/\./,(function(){return"[\\s\\S]"}),{flag:"s",leadChar:"."}),O.addToken(/\\k<([\w$]+)>/,(function(e){var d=isNaN(e[1])?x(this.captureNames,e[1])+1:+e[1],u=e.index+e[0].length;if(!d||d>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+e[0]);return"\\"+d+(u===e.input.length||isNaN(e.input.charAt(u))?"":"(?:)")}),{leadChar:"\\"}),O.addToken(/\\(\d+)/,(function(e,d){if(!("default"===d&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+e[0]);return e[0]}),{scope:"all",leadChar:"\\"}),O.addToken(/\(\?P?<([\w$]+)>/,(function(e){if(!isNaN(e[1]))throw new SyntaxError("Cannot use integer as capture name "+e[0]);if("length"===e[1]||"__proto__"===e[1])throw new SyntaxError("Cannot use reserved word as capture name "+e[0]);if(x(this.captureNames,e[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+e[0]);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("}),{leadChar:"("}),O.addToken(/\((?!\?)/,(function(e,d,u){return u.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")}),{optionalFlags:"n",leadChar:"("}),d.exports=O},{}]},{},[8])(8)})),define("xregexp",["xregexp/xregexp-all"],(function(e){return e}));var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var d,u=1,n=arguments.length;u<n;u++)for(var t in d=arguments[u])Object.prototype.hasOwnProperty.call(d,t)&&(e[t]=d[t]);return e}).apply(this,arguments)};define("vs/language/kusto/languageService/kustoLanguageService",["require","exports","./schema","vscode-languageserver-types","xregexp","./schema"],(function(e,d,u,n,t,a){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.getKustoLanguageService=d.TokenKind=void 0,String.prototype.endsWith||(String.prototype.endsWith=function(e,d){return(void 0===d||d>this.length)&&(d=this.length),this.substring(d-e.length,d)===e}),"undefined"==typeof document&&(importScripts("../../language/kusto/bridge.min.js"),importScripts("../../language/kusto/kusto.javascript.client.min.js"),importScripts("../../language/kusto/Kusto.Language.Bridge.min.js"));var r=Kusto.Data.IntelliSense,i=Kusto.Language.Parsing,o=Kusto.Language.Editor,c=Kusto.Language.Symbols,f=Kusto.Language.GlobalState,s=System.Collections.Generic.List$1;function l(e){throw new Error("Unexpected object: "+e)}var m,p=function(){function e(e,d,u,n){this.version=e,this.uri=d,this.rulesProvider=u,this.parseMode=n}return e.prototype.isParseNeeded=function(e,d,u){return!(e.uri===this.uri&&(!d||d===this.rulesProvider)&&e.version<=this.version&&u&&u<=this.parseMode)},e}();function b(e){return e.map((function(e){return{start:e.Start,end:e.End,length:e.Length,kind:e.Kind}}))}!function(e){e[e.TableToken=2]="TableToken",e[e.TableColumnToken=4]="TableColumnToken",e[e.OperatorToken=8]="OperatorToken",e[e.SubOperatorToken=16]="SubOperatorToken",e[e.CalculatedColumnToken=32]="CalculatedColumnToken",e[e.StringLiteralToken=64]="StringLiteralToken",e[e.FunctionNameToken=128]="FunctionNameToken",e[e.UnknownToken=256]="UnknownToken",e[e.CommentToken=512]="CommentToken",e[e.PlainTextToken=1024]="PlainTextToken",e[e.DataTypeToken=2048]="DataTypeToken",e[e.ControlCommandToken=4096]="ControlCommandToken",e[e.CommandPartToken=8192]="CommandPartToken",e[e.QueryParametersToken=16384]="QueryParametersToken",e[e.CslCommandToken=32768]="CslCommandToken",e[e.LetVariablesToken=65536]="LetVariablesToken",e[e.PluginToken=131072]="PluginToken",e[e.BracketRangeToken=262144]="BracketRangeToken",e[e.ClientDirectiveToken=524288]="ClientDirectiveToken"}(m=d.TokenKind||(d.TokenKind={}));var g=function(){function e(d,u){var t,a,i,c,f=this;this._toOptionKind=((t={})[o.CompletionKind.AggregateFunction]=r.OptionKind.FunctionAggregation,t[o.CompletionKind.BuiltInFunction]=r.OptionKind.FunctionServerSide,t[o.CompletionKind.Cluster]=r.OptionKind.Database,t[o.CompletionKind.Column]=r.OptionKind.Column,t[o.CompletionKind.CommandPrefix]=r.OptionKind.None,t[o.CompletionKind.Database]=r.OptionKind.Database,t[o.CompletionKind.DatabaseFunction]=r.OptionKind.FunctionServerSide,t[o.CompletionKind.Example]=r.OptionKind.None,t[o.CompletionKind.Identifier]=r.OptionKind.None,t[o.CompletionKind.Keyword]=r.OptionKind.None,t[o.CompletionKind.LocalFunction]=r.OptionKind.FunctionLocal,t[o.CompletionKind.MaterialiedView]=r.OptionKind.MaterializedView,t[o.CompletionKind.Parameter]=r.OptionKind.Parameter,t[o.CompletionKind.Punctuation]=r.OptionKind.None,t[o.CompletionKind.QueryPrefix]=r.OptionKind.Operator,t[o.CompletionKind.RenderChart]=r.OptionKind.Operator,t[o.CompletionKind.ScalarInfix]=r.OptionKind.None,t[o.CompletionKind.ScalarPrefix]=r.OptionKind.None,t[o.CompletionKind.ScalarType]=r.OptionKind.DataType,t[o.CompletionKind.Syntax]=r.OptionKind.None,t[o.CompletionKind.Table]=r.OptionKind.Table,t[o.CompletionKind.TabularPrefix]=r.OptionKind.None,t[o.CompletionKind.TabularSuffix]=r.OptionKind.None,t[o.CompletionKind.Unknown]=r.OptionKind.None,t[o.CompletionKind.Variable]=r.OptionKind.Parameter,t[o.CompletionKind.Option]=r.OptionKind.Option,t),this.disabledCompletionItemsV2={ladderchart:o.CompletionKind.RenderChart,pivotchart:o.CompletionKind.RenderChart,timeline:o.CompletionKind.RenderChart,timepivot:o.CompletionKind.RenderChart,"3Dchart":o.CompletionKind.RenderChart,list:o.CompletionKind.RenderChart},this.isIntellisenseV2=function(){return f._languageSettings.useIntellisenseV2&&f._schema&&"Engine"===f._schema.clusterType},this.disabledCompletionItemsV1={capacity:r.OptionKind.Policy,callout:r.OptionKind.Policy,encoding:r.OptionKind.Policy,batching:r.OptionKind.Policy,querythrottling:r.OptionKind.Policy,merge:r.OptionKind.Policy,querylimit:r.OptionKind.Policy,rowstore:r.OptionKind.Policy,streamingingestion:r.OptionKind.Policy,restricted_view_access:r.OptionKind.Policy,sharding:r.OptionKind.Policy,"restricted-viewers":r.OptionKind.Policy,attach:r.OptionKind.Command,purge:r.OptionKind.Command},this._kustoKindtolsKind=((a={})[r.OptionKind.None]=n.CompletionItemKind.Interface,a[r.OptionKind.Operator]=n.CompletionItemKind.Method,a[r.OptionKind.Command]=n.CompletionItemKind.Method,a[r.OptionKind.Service]=n.CompletionItemKind.Class,a[r.OptionKind.Policy]=n.CompletionItemKind.Reference,a[r.OptionKind.Database]=n.CompletionItemKind.Class,a[r.OptionKind.Table]=n.CompletionItemKind.Class,a[r.OptionKind.DataType]=n.CompletionItemKind.Class,a[r.OptionKind.Literal]=n.CompletionItemKind.Property,a[r.OptionKind.Parameter]=n.CompletionItemKind.Variable,a[r.OptionKind.IngestionMapping]=n.CompletionItemKind.Variable,a[r.OptionKind.ExpressionFunction]=n.CompletionItemKind.Variable,a[r.OptionKind.Option]=n.CompletionItemKind.Interface,a[r.OptionKind.OptionKind]=n.CompletionItemKind.Interface,a[r.OptionKind.OptionRender]=n.CompletionItemKind.Interface,a[r.OptionKind.Column]=n.CompletionItemKind.Function,a[r.OptionKind.ColumnString]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnNumeric]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnDateTime]=n.CompletionItemKind.Field,a[r.OptionKind.ColumnTimespan]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionServerSide]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionAggregation]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionFilter]=n.CompletionItemKind.Field,a[r.OptionKind.FunctionScalar]=n.CompletionItemKind.Field,a[r.OptionKind.ClientDirective]=n.CompletionItemKind.Enum,a),this._kustoKindToLsKindV2=((i={})[o.CompletionKind.AggregateFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.BuiltInFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.Cluster]=n.CompletionItemKind.Class,i[o.CompletionKind.Column]=n.CompletionItemKind.Function,i[o.CompletionKind.CommandPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.Database]=n.CompletionItemKind.Class,i[o.CompletionKind.DatabaseFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.Example]=n.CompletionItemKind.Text,i[o.CompletionKind.Identifier]=n.CompletionItemKind.Method,i[o.CompletionKind.Keyword]=n.CompletionItemKind.Method,i[o.CompletionKind.LocalFunction]=n.CompletionItemKind.Field,i[o.CompletionKind.MaterialiedView]=n.CompletionItemKind.Class,i[o.CompletionKind.Parameter]=n.CompletionItemKind.Variable,i[o.CompletionKind.Punctuation]=n.CompletionItemKind.Interface,i[o.CompletionKind.QueryPrefix]=n.CompletionItemKind.Function,i[o.CompletionKind.RenderChart]=n.CompletionItemKind.Method,i[o.CompletionKind.ScalarInfix]=n.CompletionItemKind.Field,i[o.CompletionKind.ScalarPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.ScalarType]=n.CompletionItemKind.TypeParameter,i[o.CompletionKind.Syntax]=n.CompletionItemKind.Method,i[o.CompletionKind.Table]=n.CompletionItemKind.Class,i[o.CompletionKind.TabularPrefix]=n.CompletionItemKind.Field,i[o.CompletionKind.TabularSuffix]=n.CompletionItemKind.Field,i[o.CompletionKind.Unknown]=n.CompletionItemKind.Interface,i[o.CompletionKind.Variable]=n.CompletionItemKind.Variable,i[o.CompletionKind.Option]=n.CompletionItemKind.Text,i),this._tokenKindToClassificationKind=((c={})[m.TableToken]=o.ClassificationKind.Table,c[m.TableColumnToken]=o.ClassificationKind.Column,c[m.OperatorToken]=o.ClassificationKind.QueryOperator,c[m.SubOperatorToken]=o.ClassificationKind.Function,c[m.CalculatedColumnToken]=o.ClassificationKind.Column,c[m.StringLiteralToken]=o.ClassificationKind.Literal,c[m.FunctionNameToken]=o.ClassificationKind.Function,c[m.UnknownToken]=o.ClassificationKind.PlainText,c[m.CommentToken]=o.ClassificationKind.Comment,c[m.PlainTextToken]=o.ClassificationKind.PlainText,c[m.DataTypeToken]=o.ClassificationKind.Type,c[m.ControlCommandToken]=o.ClassificationKind.PlainText,c[m.CommandPartToken]=o.ClassificationKind.PlainText,c[m.QueryParametersToken]=o.ClassificationKind.QueryParameter,c[m.CslCommandToken]=o.ClassificationKind.Keyword,c[m.LetVariablesToken]=o.ClassificationKind.Identifier,c[m.PluginToken]=o.ClassificationKind.Function,c[m.BracketRangeToken]=o.ClassificationKind.Keyword,c[m.ClientDirectiveToken]=o.ClassificationKind.Keyword,c),this._schemaCache={},this._kustoJsSchema=e.convertToKustoJsSchema(d),this.__kustoJsSchemaV2=this.convertToKustoJsSchemaV2(d),this._schema=d,this._clustersSetInGlobalState=new Set,this._nonEmptyDatabaseSetInGlobalState=new Set,this.configure(u),this._newlineAppendPipePolicy=new Kusto.Data.IntelliSense.ApplyPolicy,this._newlineAppendPipePolicy.Text="\n| "}return e.prototype.createDatabaseUniqueName=function(e,d){return e+"_"+d},Object.defineProperty(e.prototype,"_kustoJsSchemaV2",{get:function(){return this.__kustoJsSchemaV2},set:function(e){this.__kustoJsSchemaV2=e;for(var d=0;d<e.Clusters.Count;d++){var u=this._kustoJsSchemaV2.Clusters.getItem(d);this._clustersSetInGlobalState.add(u.Name);for(var n=0;n<u.Databases.Count;n++){var t=u.Databases.getItem(n);t.Tables.Count>0&&this._nonEmptyDatabaseSetInGlobalState.add(this.createDatabaseUniqueName(u.Name,t.Name))}}},enumerable:!1,configurable:!0}),e.prototype.configure=function(e){this._languageSettings=e,this.createRulesProvider(this._kustoJsSchema,this._schema.clusterType)},e.prototype.doComplete=function(e,d){return this.isIntellisenseV2()?this.doCompleteV2(e,d):this.doCompleteV1(e,d)},e.prototype.debugGlobalState=function(e){console.log("globals.Clusters.Count: "+e.Clusters.Count);for(var d=0;d<e.Clusters.Count;d++){var u=e.Clusters.getItem(d);console.log("cluster: "+u.Name),console.log("cluster.Databases.Count: "+u.Databases.Count);for(var n=0;n<u.Databases.Count;n++){var t=u.Databases.getItem(n);console.log("cluster.database: ["+u.Name+"].["+t.Name+"]"),console.log("cluster.Databases.Tables.Count: "+t.Tables.Count);for(var a=0;a<t.Tables.Count;a++){var r=t.Tables.getItem(a);console.log("cluster.database.table: ["+u.Name+"].["+t.Name+"].["+r.Name+"]")}}}},e.prototype.doCompleteV2=function(e,d){var u=this;if(!e)return Promise.resolve(n.CompletionList.create([]));var t=this.parseDocumentV2(e),a=e.offsetAt(d),i=t.GetBlockAtPosition(a).Service.GetCompletionItems(a),c=this.disabledCompletionItemsV2;this._languageSettings.disabledCompletionItems&&this._languageSettings.disabledCompletionItems.map((function(e){c[e]=o.CompletionKind.Unknown}));var f=this.toArray(i.Items).filter((function(e){return!(e&&e.MatchText&&void 0!==c[e.MatchText]&&(c[e.MatchText]===o.CompletionKind.Unknown||c[e.MatchText]===e.Kind))})).map((function(d,t){var a=new r.CompletionOption(u._toOptionKind[d.Kind]||r.OptionKind.None,d.DisplayText),o=u.getTopic(a),c=d.AfterText&&d.AfterText.length>0?{textToInsert:d.EditText+"$0"+d.AfterText,format:n.InsertTextFormat.Snippet}:{textToInsert:d.EditText,format:n.InsertTextFormat.PlainText},f=c.textToInsert,s=c.format,l=n.CompletionItem.create(d.DisplayText),m=e.positionAt(i.EditStart),p=e.positionAt(i.EditStart+i.EditLength);return l.textEdit=n.TextEdit.replace(n.Range.create(m,p),f),l.sortText=u.getSortText(t+1),l.kind=u.kustoKindToLsKindV2(d.Kind),l.insertTextFormat=s,l.detail=o?o.ShortDescription:void 0,l.documentation=o?{value:o.LongDescription,kind:n.MarkupKind.Markdown}:void 0,l}));return Promise.resolve(n.CompletionList.create(f))},e.prototype.getTopic=function(e){if(e.Kind==r.OptionKind.FunctionScalar||e.Kind==r.OptionKind.FunctionAggregation){var d=e.Value.indexOf("(");d>=0&&(e=new r.CompletionOption(e.Kind,e.Value.substring(0,d)))}return r.CslDocumentation.Instance.GetTopic(e)},e.prototype.doCompleteV1=function(e,d){var u=this,t=e.offsetAt(d);this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var a=this.getCurrentCommand(e,t),i="";if(a){a.AbsoluteStart;this.parseTextV1(a.Text,r.ParseMode.TokenizeAllText);var o=t-a.AbsoluteStart;i=a.Text.substring(a.CslExpressionStartPosition,o)}var c=this.getCommandWithoutLastWord(i),f=this._rulesProvider.AnalyzeCommand$1(i,a).Context,s={v:null};this._rulesProvider.TryMatchAnyRule(c,s);var l=s.v;if(l){var m=this.toArray(l.GetCompletionOptions(f));this._languageSettings.newlineAfterPipe&&l.DefaultAfterApplyPolicy===Kusto.Data.IntelliSense.ApplyPolicy.AppendPipePolicy&&(l.DefaultAfterApplyPolicy=this._newlineAppendPipePolicy);var p=m.filter((function(e){return!(e&&e.Value&&u.disabledCompletionItemsV1[e.Value]===e.Kind)})).map((function(e,d){var t=u.getTextToInsert(l,e),a=t.insertText,i=t.insertTextFormat,o=r.CslDocumentation.Instance.GetTopic(e),c=n.CompletionItem.create(e.Value);return c.kind=u.kustoKindToLsKind(e.Kind),c.insertText=a,c.insertTextFormat=i,c.sortText=u.getSortText(d+1),c.detail=o?o.ShortDescription:void 0,c.documentation=o?{value:o.LongDescription,kind:n.MarkupKind.Markdown}:void 0,c}));return Promise.resolve(n.CompletionList.create(p))}return Promise.resolve(n.CompletionList.create([]))},e.prototype.doRangeFormat=function(e,d){if(!e)return Promise.resolve([]);var u=e.offsetAt(d.start),t=e.offsetAt(d.end),a=this.getFormattedCommandsInDocumentV2(e,u,t);return a.originalRange&&0!==a.formattedCommands.length?Promise.resolve([n.TextEdit.replace(a.originalRange,a.formattedCommands.join(""))]):Promise.resolve([])},e.prototype.doDocumentFormat=function(e){if(!e)return Promise.resolve([]);var d=e.positionAt(0),u=e.positionAt(e.getText().length),t=n.Range.create(d,u),a=this.getFormattedCommandsInDocumentV2(e).formattedCommands.join("");return Promise.resolve([n.TextEdit.replace(t,a)])},e.prototype.doCurrentCommandFormat=function(e,d){var u=e.offsetAt(d),n=this.createRange(e,u-1,u+1);return this.doRangeFormat(e,n)},e.prototype.doFolding=function(e){return e?this.getCommandsInDocument(e).then((function(d){return d.map((function(d){d.text.endsWith("\r\n")?d.absoluteEnd-=2:(d.text.endsWith("\r")||d.text.endsWith("\n"))&&--d.absoluteEnd;var u=e.positionAt(d.absoluteStart),n=e.positionAt(d.absoluteEnd);return{startLine:u.line,startCharacter:u.character,endLine:n.line,endCharacter:n.character}}))})):Promise.resolve([])},e.prototype.getClusterReferences=function(e,d){var u,n=this.parseDocumentV2(e),t=this.getCurrentCommandV2(n,d),a=null===(u=null==t?void 0:t.Service)||void 0===u?void 0:u.GetClusterReferences();if(!a)return Promise.resolve([]);for(var r=[],i=new Set,o=0;o<a.Count;o++){var c=a.getItem(o).Cluster;i.has(c)||(i.add(c),this._clustersSetInGlobalState.has(c.toLowerCase())||r.push({clusterName:c}))}return Promise.resolve(r)},e.prototype.getDatabaseReferences=function(e,d){var u,n=this.parseDocumentV2(e),t=this.getCurrentCommandV2(n,d),a=null===(u=null==t?void 0:t.Service)||void 0===u?void 0:u.GetDatabaseReferences();if(!a)return Promise.resolve([]);for(var r=[],i=new Set,o=0;o<a.Count;o++){var c=a.getItem(o),f=this.createDatabaseUniqueName(c.Cluster,c.Database);if(!i.has(f))i.add(f),this._nonEmptyDatabaseSetInGlobalState.has(f)||r.push({databaseName:c.Database,clusterName:c.Cluster})}return Promise.resolve(r)},e.prototype.doValidation=function(e,d){var u=this;if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var n=this.parseDocumentV2(e),t=this.toArray(n.Blocks);d.length>0&&(t=this.getAffectedBlocks(t,d));var a=t.map((function(e){var d=u.toArray(e.Service.GetDiagnostics());return d||[]})).reduce((function(e,d){return e.concat(d)}),[]),r=this.toLsDiagnostics(a,e);return Promise.resolve(r)},e.prototype.toLsDiagnostics=function(e,d){return e.filter((function(e){return e.HasLocation})).map((function(e){var u=d.positionAt(e.Start),t=d.positionAt(e.Start+e.Length),a=n.Range.create(u,t);return n.Diagnostic.create(a,e.Message,n.DiagnosticSeverity.Error)}))},e.prototype.doColorization=function(e,d){var u=this;if(!e||!this._languageSettings.useSemanticColorization)return Promise.resolve([]);if(!this.isIntellisenseV2()){if(d.length>0){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var n=this.toArray(this._parser.Results).filter((function(e){return!!e&&d.some((function(d){var u=d.start,n=d.end;return e.AbsoluteStart>=u&&e.AbsoluteStart<=n||u>=e.AbsoluteStart&&u<=e.AbsoluteEnd+1}))}));if(!n||0===n.length)return Promise.resolve([{classifications:[],absoluteStart:d[0].start,absoluteEnd:d[0].end}]);var t=n.map((function(e){return u.parseTextV1(e.Text,r.ParseMode.TokenizeAllText),{classifications:b(u.getClassificationsFromParseResult(e.AbsoluteStart)),absoluteStart:e.AbsoluteStart,absoluteEnd:e.AbsoluteEnd}}));return Promise.resolve(t)}this.parseDocumentV1(e,r.ParseMode.TokenizeAllText);var a=this.getClassificationsFromParseResult();return Promise.resolve([{classifications:b(a),absoluteStart:0,absoluteEnd:e.getText().length}])}var i=this.parseDocumentV2(e);if(d.length>0){var o=this.toArray(i.Blocks),c=this.getAffectedBlocks(o,d).map((function(e){return{classifications:b(u.toArray(e.Service.GetClassifications(e.Start,e.End).Classifications)),absoluteStart:e.Start,absoluteEnd:e.End}}));return Promise.resolve(c)}var f=this.toArray(i.Blocks).map((function(e){return u.toArray(e.Service.GetClassifications(e.Start,e.Length).Classifications)})).reduce((function(e,d){return e.concat(d)}),[]);return Promise.resolve([{classifications:b(f),absoluteStart:0,absoluteEnd:e.getText().length}])},e.prototype.getAffectedBlocks=function(e,d){return e.filter((function(e){return!!e&&d.some((function(d){var u=d.start,n=d.end;return e.Start>=u&&e.Start<=n||u>=e.Start&&u<=e.End+1}))}))},e.prototype.addClusterToSchema=function(d,u,n){var t=Kusto.Language.KustoFacts.GetHostName(u),a=this._kustoJsSchemaV2.GetCluster$1(t);if(a&&n.filter((function(e){return!a.GetDatabase(e)})).map((function(e){var d=new c.DatabaseSymbol.$ctor1(e,void 0,!1);a=a.AddDatabase(d)})),!a){var r=n.map((function(e){return new c.DatabaseSymbol.$ctor1(e,void 0,!1)})),i=e.toBridgeList(r);a=new c.ClusterSymbol.$ctor1(t,i,!1)}return this._kustoJsSchemaV2=this._kustoJsSchemaV2.AddOrReplaceCluster(a),this._script=o.CodeScript.From$1(d.getText(),this._kustoJsSchemaV2),Promise.resolve()},e.prototype.addDatabaseToSchema=function(d,u,n){var t=this;return new Promise((function(a){var r=Kusto.Language.KustoFacts.GetHostName(u),i=t._kustoJsSchemaV2.GetCluster$1(r);i||(i=new c.ClusterSymbol.$ctor1(r,null,!1));var f=e.convertToDatabaseSymbol(n);i=i.AddOrUpdateDatabase(f),t._kustoJsSchemaV2=t._kustoJsSchemaV2.AddOrReplaceCluster(i),t._script=o.CodeScript.From$1(d.getText(),t._kustoJsSchemaV2),a()}))},e.prototype.setSchema=function(d){var u=this;if(this._schema=d,this._languageSettings.useIntellisenseV2){var n=d&&"Engine"===d.clusterType?this.convertToKustoJsSchemaV2(d):null;this._kustoJsSchemaV2=n,this._script=void 0,this._parsePropertiesV2=void 0}return new Promise((function(n,t){var a=d?e.convertToKustoJsSchema(d):void 0;u._kustoJsSchema=a,u.createRulesProvider(a,d.clusterType),n(void 0)}))},e.prototype.setParameters=function(d){if(!this._languageSettings.useIntellisenseV2||"Engine"!==this._schema.clusterType)throw new Error("setParameters requires intellisense V2 and Engine cluster");this._schema.globalParameters=d;var u=d.map((function(d){return e.createParameterSymbol(d)}));return this._kustoJsSchemaV2=this._kustoJsSchemaV2.WithParameters(e.toBridgeList(u)),Promise.resolve(void 0)},e.prototype.setSchemaFromShowSchema=function(e,d,u,n){var t=this;return this.normalizeSchema(e,d,u).then((function(e){return t.setSchema(__assign(__assign({},e),{globalParameters:n}))}))},e.prototype.normalizeSchema=function(e,d,u){var n=Object.keys(e.Databases).map((function(d){return e.Databases[d]})).map((function(e){var d=e.Name,u=e.Tables,n=e.ExternalTables,t=e.MaterializedViews,a=e.Functions;return{name:d,minorVersion:e.MinorVersion,majorVersion:e.MajorVersion,tables:[].concat.apply([],[[u,"Table"],[t,"MaterializedView"],[n,"ExternalTable"]].filter((function(e){return e[0]})).map((function(e){var d=e[0],u=e[1];return Object.values(d).map((function(e){var d=e.Name,n=e.OrderedColumns;return{name:d,docstring:e.DocString,entityType:u,columns:n.map((function(e){var d=e.Name,u=(e.Type,e.DocString);return{name:d,type:e.CslType,docstring:u}}))}}))}))),functions:Object.keys(a).map((function(e){return a[e]})).map((function(e){return{name:e.Name,body:e.Body,docstring:e.DocString,inputParameters:e.InputParameters.map((function(e){return{name:e.Name,type:e.Type,cslType:e.CslType,cslDefaultValue:e.CslDefaultValue,columns:e.Columns?e.Columns.map((function(e){return{name:e.Name,type:e.Type,cslType:e.CslType}})):e.Columns}}))}}))}})),t={clusterType:"Engine",cluster:{connectionString:d,databases:n},database:n.filter((function(e){return e.name===u}))[0]};return Promise.resolve(t)},e.prototype.getSchema=function(){return Promise.resolve(this._schema)},e.prototype.getCommandInContext=function(e,d){return this.isIntellisenseV2()?this.getCommandInContextV2(e,d):this.getCommandInContextV1(e,d)},e.prototype.getCommandAndLocationInContext=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve(null);var u=this.parseDocumentV2(e),t=this.getCurrentCommandV2(u,d);if(!t)return Promise.resolve(null);var a=e.positionAt(t.Start),r=e.positionAt(t.End),i=n.Location.create(e.uri,n.Range.create(a,r)),o=t.Text;return Promise.resolve({text:o,location:i})},e.prototype.getCommandInContextV1=function(e,d){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var u=this.getCurrentCommand(e,d);return u?Promise.resolve(u.Text):Promise.resolve(null)},e.prototype.getCommandInContextV2=function(e,d){if(!e)return Promise.resolve(null);var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);return n?Promise.resolve(n.Text):Promise.resolve(null)},e.prototype.getCommandsInDocument=function(e){return e?this.isIntellisenseV2()?this.getCommandsInDocumentV2(e):this.getCommandsInDocumentV1(e):Promise.resolve([])},e.prototype.getCommandsInDocumentV1=function(e){this.parseDocumentV1(e,r.ParseMode.CommandTokensOnly);var d=this.toArray(this._parser.Results);return Promise.resolve(d.map((function(e){return{absoluteStart:e.AbsoluteStart,absoluteEnd:e.AbsoluteEnd,text:e.Text}})))},e.prototype.toPlacementStyle=function(e){if(e)switch(e){case"None":return o.PlacementStyle.None;case"NewLine":return o.PlacementStyle.NewLine;case"Smart":return o.PlacementStyle.Smart;default:throw new Error("Unknown PlacementStyle")}},e.prototype.getFormattedCommandsInDocumentV2=function(e,d,u){var n=this,t=this.parseDocumentV2(e),a=this.toArray(t.Blocks).filter((function(e){if(!e.Text||""==e.Text.trim())return!1;if(null==d||null==u)return!0;for(var n=e.End,t=e.Text,a=t.length-1;a>=0&&("\r"==t[a]||"\n"==t[a]);a--)n--;return e.Start>d&&e.Start<u||(n>d&&n<u||(e.Start<=d&&n>=u||void 0))}));return 0===a.length?{formattedCommands:[]}:{formattedCommands:a.map((function(e){var t,a,r=n._languageSettings.formatter,i=Kusto.Language.Editor.FormattingOptions.Default.WithIndentationSize(null!==(t=null==r?void 0:r.indentationSize)&&void 0!==t?t:4).WithInsertMissingTokens(!1).WithPipeOperatorStyle(null!==(a=n.toPlacementStyle(null==r?void 0:r.pipeOperatorStyle))&&void 0!==a?a:o.PlacementStyle.Smart).WithSemicolonStyle(Kusto.Language.Editor.PlacementStyle.None).WithBrackettingStyle(o.BrackettingStyle.Diagonal);return null==d||null==u||d===e.Start&&e.End,e.Service.GetFormattedText(i).Text})),originalRange:this.createRange(e,a[0].Start,a[a.length-1].End)}},e.prototype.getCommandsInDocumentV2=function(e){var d=this.parseDocumentV2(e),u=this.toArray(d.Blocks).filter((function(e){return""!=e.Text.trim()}));return Promise.resolve(u.map((function(e){return{absoluteStart:e.Start,absoluteEnd:e.End,text:e.Text}})))},e.prototype.getClientDirective=function(e){var d={v:null},u=r.CslCommandParser.IsClientDirective(e,d);return Promise.resolve({isClientDirective:u,directiveWithoutLeadingComments:d.v})},e.prototype.getAdminCommand=function(e){var d={v:null},u=r.CslCommandParser.IsAdminCommand$1(e,d);return Promise.resolve({isAdminCommand:u,adminCommandWithoutLeadingComments:d.v})},e.prototype.findDefinition=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),t=e.offsetAt(d),a=this.getCurrentCommandV2(u,t);if(!a)return Promise.resolve([]);var r=a.Service.GetRelatedElements(e.offsetAt(d)),i=this.toArray(r.Elements)[0];if(!i)return Promise.resolve([]);var o=e.positionAt(i.Start),c=e.positionAt(i.End),f=n.Range.create(o,c),s=n.Location.create(e.uri,f);return Promise.resolve([s])},e.prototype.findReferences=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),t=e.offsetAt(d),a=this.getCurrentCommandV2(u,t);if(!a)return Promise.resolve([]);var r=a.Service.GetRelatedElements(e.offsetAt(d)),i=this.toArray(r.Elements);if(!i||0==i.length)return Promise.resolve([]);var o=i.map((function(d){var u=e.positionAt(d.Start),t=e.positionAt(d.End),a=n.Range.create(u,t);return n.Location.create(e.uri,a)}));return Promise.resolve(o)},e.prototype.getQueryParams=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);this.parseDocumentV2(e);var u=this.parseAndAnalyze(e,d),n=this.toArray(u.Syntax.GetDescendants(Kusto.Language.Syntax.QueryParametersStatement));if(!n||0==n.length)return Promise.resolve([]);var t=[];return n.forEach((function(e){e.WalkElements((function(e){return e.ReferencedSymbol&&e.ReferencedSymbol.Type?t.push({name:e.ReferencedSymbol.Name,type:e.ReferencedSymbol.Type.Name}):void 0}))})),Promise.resolve(t)},e.prototype.getRenderInfo=function(e,d){var u=this,n=this.parseAndAnalyze(e,d);if(!n)return Promise.resolve(void 0);var t=this.toArray(n.Syntax.GetDescendants(Kusto.Language.Syntax.RenderOperator));if(!t||0===t.length)return Promise.resolve(void 0);var a=t[0],r=a.TextStart,i=a.End,o=a.ChartType.ValueText,c=a.WithClause;if(!c){var f={options:{visualization:o},location:{startOffset:r,endOffset:i}};return Promise.resolve(f)}var s=this.toArray(c.Properties).reduce((function(e,d){var n=d.Element$1.Name.SimpleName;switch(n){case"xcolumn":var t=d.Element$1.Expression.ReferencedSymbol.Name;e[n]=t;break;case"ycolumns":case"anomalycolumns":var a=u.toArray(d.Element$1.Expression.Names).map((function(e){return e.Element$1.SimpleName}));e[n]=a;break;case"ymin":case"ymax":var r=parseFloat(d.Element$1.Expression.ConstantValue);e[n]=r;break;case"title":case"xtitle":case"ytitle":case"visualization":case"series":var i=d.Element$1.Expression.ConstantValue;e[n]=i;break;case"xaxis":case"yaxis":var o=d.Element$1.Expression.ConstantValue;e[n]=o;break;case"legend":var c=d.Element$1.Expression.ConstantValue;e[n]=c;break;case"ySplit":var f=d.Element$1.Expression.ConstantValue;e[n]=f;break;case"accumulate":var s=d.Element$1.Expression.ConstantValue;e[n]=s;break;case"kind":var m=d.Element$1.Expression.ConstantValue;e[n]=m;break;default:l(n)}return e}),{}),m={options:__assign({visualization:o},s),location:{startOffset:r,endOffset:i}};return Promise.resolve(m)},e.prototype.getReferencedGlobalParams=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve([]);var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);if(!n)return Promise.resolve([]);var t=n.Text,a=Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2),r=this.toArray(this._kustoJsSchemaV2.Parameters),i=this.toArray(a.Syntax.GetDescendants(Kusto.Language.Syntax.Expression)).filter((function(e){return null!==e.ReferencedSymbol})).map((function(e){return e.ReferencedSymbol})).filter((function(e){return r.filter((function(d){return d===e})).length>0})).map((function(e){return{name:e.Name,type:e.Type.Name}}));return Promise.resolve(i)},e.prototype.getGlobalParams=function(e){if(!this.isIntellisenseV2())return Promise.resolve([]);var d=this.toArray(this._kustoJsSchemaV2.Parameters).map((function(e){return{name:e.Name,type:e.Type.Name}}));return Promise.resolve(d)},e.prototype.doRename=function(e,d,u){var t;if(!e||!this.isIntellisenseV2())return Promise.resolve(void 0);var a=this.parseDocumentV2(e),r=e.offsetAt(d),i=this.getCurrentCommandV2(a,r);if(!i)return Promise.resolve(void 0);var c=i.Service.GetRelatedElements(e.offsetAt(d)),f=this.toArray(c.Elements),s=f.filter((function(e){return e.Kind==o.RelatedElementKind.Declaration}));if(!s||0==s.length)return Promise.resolve(void 0);var l=f.map((function(d){var t=e.positionAt(d.Start),a=e.positionAt(d.End),r=n.Range.create(t,a);return n.TextEdit.replace(r,u)})),m={changes:(t={},t[e.uri]=l,t)};return Promise.resolve(m)},e.prototype.doHover=function(e,d){if(!e||!this.isIntellisenseV2())return Promise.resolve(void 0);var u=this.parseDocumentV2(e),n=e.offsetAt(d),t=this.getCurrentCommandV2(u,n);if(!t)return Promise.resolve(void 0);if(!t.Service.IsFeatureSupported(o.CodeServiceFeatures.QuickInfo,n))return Promise.resolve(void 0);var a=t.Service.GetQuickInfo(n);if(!a||!a.Items)return Promise.resolve(void 0);var r=this.toArray(a.Items);if(!r)return Promise.resolve(void 0);var i=(r=r.filter((function(e){return e.Kind!==o.QuickInfoKind.Error}))).map((function(e){return e.Text.replace("\n\n","\n* * *\n")})).join("\n* * *\n");return Promise.resolve({contents:i})},Object.defineProperty(e,"dummySchema",{get:function(){var e={majorVersion:0,minorVersion:0,name:"Kuskus",tables:[{name:"KustoLogs",columns:[{name:"Source",type:"string"},{name:"Timestamp",type:"datetime"},{name:"Directory",type:"string"}],docstring:"A dummy description to test that docstring shows as expected when hovering over a table"}],functions:[{name:"HowBig",inputParameters:[{name:"T",columns:[{name:"Timestamp",type:"System.DateTime",cslType:"datetime"}]}],docstring:"A dummy description to test that docstring shows as expected when hovering over a function",body:"{\r\n union \r\n (T | count | project V='Volume', Metric = strcat(Count/1e9, ' Billion records')),\r\n (T | summarize FirstRecord=min(Timestamp)| project V='Volume', Metric = strcat(toint((now()-FirstRecord)/1d), ' Days of data (from: ', format_datetime(FirstRecord, 'yyyy-MM-dd'),')')),\r\n (T | where Timestamp > ago(1h) | count | project V='Velocity', Metric = strcat(Count/1e6, ' Million records / hour')),\r\n (T | summarize Latency=now()-max(Timestamp) | project V='Velocity', Metric = strcat(Latency / 1sec, ' seconds latency')),\r\n (T | take 1 | project V='Variety', Metric=tostring(pack_all()))\r\n | order by V \r\n}"},{name:"FindCIDPast24h",inputParameters:[{name:"clientActivityId",type:"System.String",cslType:"string"}],body:"{ KustoLogs | where Timestamp > now(-1d) | where ClientActivityId == clientActivityId} "}]};return{clusterType:"Engine",cluster:{connectionString:"https://kuskus.kusto.windows.net;fed=true",databases:[e]},database:e}},enumerable:!1,configurable:!0}),e.convertToEntityDataType=function(e){},e.convertToKustoJsSchema=function(e){switch(e.clusterType){case"Engine":var d=e.database?e.database.name:void 0,n=new r.KustoIntelliSenseClusterEntity,t=void 0;n.ConnectionString=e.cluster.connectionString;var i=[];return e.cluster.databases.forEach((function(e){var n=new r.KustoIntelliSenseDatabaseEntity;n.Name=e.name;var o=[];e.tables.forEach((function(e){var d=new r.KustoIntelliSenseTableEntity;d.Name=e.name;var u=[];e.columns.forEach((function(e){var d=new r.KustoIntelliSenseColumnEntity;d.Name=e.name,d.TypeCode=r.EntityDataType[a.getEntityDataTypeFromCslType(e.type)],u.push(d)})),d.Columns=new Bridge.ArrayEnumerable(u),o.push(d)}));var c=[];e.functions.forEach((function(e){var d=new r.KustoIntelliSenseFunctionEntity;d.Name=e.name,d.CallName=u.getCallName(e),d.Expression=u.getExpression(e),c.push(d)})),n.Tables=new Bridge.ArrayEnumerable(o),n.Functions=new Bridge.ArrayEnumerable(c),i.push(n),e.name==d&&(t=n)})),n.Databases=new Bridge.ArrayEnumerable(i),new r.KustoIntelliSenseQuerySchema(n,t);case"ClusterManager":return{accounts:e.accounts.map((function(e){var d=new r.KustoIntelliSenseAccountEntity;return d.Name=e,d})),services:e.services.map((function(e){var d=new r.KustoIntelliSenseServiceEntity;return d.Name=e,d})),connectionString:e.connectionString};case"DataManagement":return;default:return l(e)}},e.scalarParametersToSignature=function(e){return"("+e.map((function(e){return e.name+": "+e.cslType})).join(", ")+")"},e.inputParameterToSignature=function(e){var d=this;return"("+e.map((function(e){if(e.columns){var u=d.scalarParametersToSignature(e.columns);return e.name+": "+u}return e.name+": "+e.cslType})).join(", ")+")"},e.toLetStatement=function(e){var d=this.inputParameterToSignature(e.inputParameters);return"let "+e.name+" = "+d+" "+e.body},e.createColumnSymbol=function(e){return new c.ColumnSymbol(e.name,c.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(e.type)),e.docstring)},e.createParameterSymbol=function(e){var d=Kusto.Language.Symbols.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(e.type));return new c.ParameterSymbol(e.name,d,null)},e.createParameter=function(d){if(!d.columns){var u=Kusto.Language.Symbols.ScalarTypes.GetSymbol(a.getCslTypeNameFromClrType(d.type)),n=d.cslDefaultValue&&"string"==typeof d.cslDefaultValue?i.QueryParser.ParseLiteral$1(d.cslDefaultValue):void 0;return new c.Parameter.$ctor3(d.name,u,null,null,null,!1,null,1,1,n,null)}if(0==d.columns.length)return new c.Parameter.ctor(d.name,c.ParameterTypeKind.Tabular,c.ArgumentKind.Expression,null,null,!1,null,1,1,null,null);var t=new c.TableSymbol.ctor(d.columns.map((function(d){return e.createColumnSymbol(d)})));return new c.Parameter.$ctor2(d.name,t)},e.convertToDatabaseSymbol=function(d){return function(d){var u=d.tables?d.tables.map((function(d){return function(d){var u=d.columns.map((function(d){return e.createColumnSymbol(d)})),n=new c.TableSymbol.$ctor3(d.name,u);switch(n.Description=d.docstring,d.entityType){case"MaterializedViewTable":n=n.WithIsMaterializedView(!0);break;case"ExternalTable":n=n.WithIsExternal(!0)}return n}(d)})):[],n=d.functions?d.functions.map((function(d){return n=(u=d).inputParameters.map((function(d){return e.createParameter(d)})),new c.FunctionSymbol.$ctor16(u.name,u.body,e.toBridgeList(n),u.docstring);var u,n})):[];return new c.DatabaseSymbol.ctor(d.name,u.concat(n))}(d)},e.prototype.convertToKustoJsSchemaV2=function(d){var u=this._schemaCache[d.cluster.connectionString];u||(this._schemaCache[d.cluster.connectionString]={},u=this._schemaCache[d.cluster.connectionString]);var n=d.cluster.databases.reduce((function(e,d){return e[d.name]=d}),{});Object.keys(u).map((function(e){n[e]||delete u.dbName}));var t=f.Default,a=d.database?d.database.name:void 0,r=void 0,i=d.cluster.databases.map((function(d){var n=d.name===a,t=u[d.name];if(!t||t.database.majorVersion<d.majorVersion||n&&!t.includesFunctions){var i=e.convertToDatabaseSymbol(d);u[d.name]={database:d,symbol:i,includesFunctions:n}}var o=u[d.name].symbol;return d.name===a&&(r=o),o})),o=d.cluster.connectionString.match(/(.*\/\/)?([^\/;]*)/)[2].split(".")[0],s=new c.ClusterSymbol.ctor(o,i);if(t=t.WithCluster(s),r&&(t=t.WithDatabase(r)),d.globalParameters){var l=d.globalParameters.map((function(d){return e.createParameterSymbol(d)}));t=t.WithParameters(e.toBridgeList(l))}return t},e.prototype.getClassificationsFromParseResult=function(e){var d=this;return void 0===e&&(e=0),this.toArray(this._parser.Results).map((function(e){return d.toArray(e.Tokens)})).reduce((function(e,d){return e.concat(d)}),[]).map((function(u){return new o.ClassifiedRange(d.tokenKindToClassificationKind(u.TokenKind),u.AbsoluteStart+e,u.Length)}))},e.trimTrailingNewlineFromRange=function(e,d,u,t){for(var a=e.length-1;"\r"===e[a]||"\n"===e[a];)--a;var r=d+a+1,i=u.positionAt(r);return n.Range.create(t.start,i)},e.prototype.getSortText=function(e){if(e<=0)throw new RangeError("order should be a number >= 1. instead got "+e);for(var d="",u=Math.floor(e/26),n=0;n<u;++n)d+="z";var t=e%26;return t>0&&(d+=String.fromCharCode(96+t)),d},e.prototype.parseTextV1=function(e,d){this._parser.Parse("Engine"===this._schema.clusterType?this._rulesProvider:null,e,d)},e.prototype.parseDocumentV1=function(e,d){this._parsePropertiesV1&&!this._parsePropertiesV1.isParseNeeded(e,this._rulesProvider,d)||(this.parseTextV1(e.getText(),d),this._parsePropertiesV1=new p(e.version,e.uri,this._rulesProvider,d))},e.prototype.parseDocumentV2=function(e){return this._parsePropertiesV2&&!this._parsePropertiesV2.isParseNeeded(e,this._rulesProvider)||(this._script?this._script=this._script.WithText(e.getText()):this._script=o.CodeScript.From$1(e.getText(),this._kustoJsSchemaV2),this._parsePropertiesV2=new p(e.version,e.uri)),this._script},e.prototype.getCurrentCommand=function(e,d){var u=this.toArray(this._parser.Results),n=u.filter((function(e){return e.AbsoluteStart<=d&&e.AbsoluteEnd>=d}))[0];return n||(n=u.filter((function(e){return e.AbsoluteStart<=d&&e.AbsoluteEnd+1>=d}))[0])&&!n.Text.endsWith("\r\n\r\n")?n:null},e.prototype.getCurrentCommandV2=function(e,d){return e.GetBlockAtPosition(d)},e.prototype.getTextToInsert=function(e,d){var u=e.GetBeforeApplyInfo(d.Value),t=e.GetAfterApplyInfo(d.Value),a=u.Text||""+d.Value+t.Text||"",r=n.InsertTextFormat.PlainText;if(t.OffsetToken&&t.OffsetPosition){var i=a.indexOf(t.OffsetToken);i>=0&&(a=this.insertToString(a,"$0",i-a.length+t.OffsetPosition),r=n.InsertTextFormat.Snippet)}else t.OffsetPosition&&(a=this.insertToString(a,"$0",t.OffsetPosition),r=n.InsertTextFormat.Snippet);return{insertText:a,insertTextFormat:r}},e.prototype.insertToString=function(e,d,u){var n=e.length+u;return u>=0||n<0?e:e.substring(0,n)+d+e.substring(n)},e.prototype.getCommandWithoutLastWord=function(e){var d=t("[\\w_]*$","s");return e.replace(d,"")},e.prototype.createRulesProvider=function(e,d){var u=new(s(String)),n=new(s(String));if(this._parser=new r.CslCommandParser,"Engine"!=d)if("DataManagement"!==d){var t=e,a=t.accounts,i=t.services,o=t.connectionString;new r.KustoIntelliSenseAccountEntity,new r.KustoIntelliSenseServiceEntity,this._rulesProvider=new r.ClusterManagerIntelliSenseRulesProvider.$ctor1(new Bridge.ArrayEnumerable(a),new Bridge.ArrayEnumerable(i),o)}else this._rulesProvider=new r.DataManagerIntelliSenseRulesProvider(null);else{var c=e;this._rulesProvider=this._languageSettings&&this._languageSettings.includeControlCommands?new r.CslIntelliSenseRulesProvider.$ctor1(c.Cluster,c,u,n,null,!0,!0):new r.CslQueryIntelliSenseRulesProvider.$ctor1(c.Cluster,c,u,n,null,null,null)}},e.prototype.kustoKindToLsKind=function(e){var d=this._kustoKindtolsKind[e];return d||n.CompletionItemKind.Variable},e.prototype.kustoKindToLsKindV2=function(e){var d=this._kustoKindToLsKindV2[e];return d||n.CompletionItemKind.Variable},e.prototype.createRange=function(e,d,u){return n.Range.create(e.positionAt(d),e.positionAt(u))},e.prototype.toArray=function(e){return Bridge.toArray(e)},e.toBridgeList=function(e){return new(System.Collections.Generic.List$1(System.Object).$ctor1)(e)},e.prototype.tokenKindToClassificationKind=function(e){return this._tokenKindToClassificationKind[e]||o.ClassificationKind.PlainText},e.prototype.parseAndAnalyze=function(e,d){if(e&&this.isIntellisenseV2()){var u=this.parseDocumentV2(e),n=this.getCurrentCommandV2(u,d);if(n){var t=n.Text;return Kusto.Language.KustoCode.ParseAndAnalyze(t,this._kustoJsSchemaV2)}}},e}(),h=new g(g.dummySchema,{includeControlCommands:!0,useIntellisenseV2:!0,useSemanticColorization:!0});d.getKustoLanguageService=function(){return h}})),define("vs/language/kusto/kustoWorker",["require","exports","./languageService/kustoLanguageService","vscode-languageserver-types"],(function(e,d,u,n){"use strict";Object.defineProperty(d,"__esModule",{value:!0}),d.create=d.KustoWorker=void 0;var t=function(){function e(e,d){this._ctx=e,this._languageSettings=d.languageSettings,this._languageService=u.getKustoLanguageService(),this._languageService.configure(this._languageSettings)}return e.prototype.setSchema=function(e){return this._languageService.setSchema(e)},e.prototype.addClusterToSchema=function(e,d,u){var n=this._getTextDocument(e);return n?this._languageService.addClusterToSchema(n,d,u):(console.error("addClusterToSchema: document is "+n+". uri is "+e),null)},e.prototype.addDatabaseToSchema=function(e,d,u){var n=this._getTextDocument(e);return n?this._languageService.addDatabaseToSchema(n,d,u):(console.error("addDatabaseToSchema: document is "+n+". uri is "+e),null)},e.prototype.setSchemaFromShowSchema=function(e,d,u){return this._languageService.setSchemaFromShowSchema(e,d,u)},e.prototype.normalizeSchema=function(e,d,u){return this._languageService.normalizeSchema(e,d,u)},e.prototype.getSchema=function(){return this._languageService.getSchema()},e.prototype.getCommandInContext=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getCommandInContext: document is "+u+". uri is "+e),null;var n=this._languageService.getCommandInContext(u,d);return void 0===n?null:n},e.prototype.getQueryParams=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getQueryParams: document is "+u+". uri is "+e),null;var n=this._languageService.getQueryParams(u,d);return void 0===n?null:n},e.prototype.getGlobalParams=function(e){var d=this._getTextDocument(e);if(!d)return console.error("getGLobalParams: document is "+d+". uri is "+e),null;var u=this._languageService.getGlobalParams(d);return void 0===u?null:u},e.prototype.getReferencedGlobalParams=function(e,d){var u=this._getTextDocument(e);if(!u)return console.error("getReferencedGlobalParams: document is "+u+". uri is "+e),null;var n=this._languageService.getReferencedGlobalParams(u,d);return void 0===n?null:n},e.prototype.getRenderInfo=function(e,d){var u=this._getTextDocument(e);return u||console.error("getRenderInfo: document is "+u+". uri is "+e),this._languageService.getRenderInfo(u,d).then((function(e){return e||null}))},e.prototype.getCommandAndLocationInContext=function(e,d){var u=this._getTextDocument(e);return u?this._languageService.getCommandAndLocationInContext(u,d).then((function(e){if(!e)return null;var d=e.text,u=e.location.range,n=u.start,t=u.end;return{range:new monaco.Range(n.line+1,n.character+1,t.line+1,t.character+1),text:d}})):(console.error("getCommandAndLocationInContext: document is "+u+". uri is "+e),Promise.resolve(null))},e.prototype.getCommandsInDocument=function(e){var d=this._getTextDocument(e);return d?this._languageService.getCommandsInDocument(d):(console.error("getCommandInDocument: document is "+d+". uri is "+e),null)},e.prototype.doComplete=function(e,d){var u=this._getTextDocument(e);return u?this._languageService.doComplete(u,d):null},e.prototype.doValidation=function(e,d){var u=this._getTextDocument(e);return this._languageService.doValidation(u,d)},e.prototype.doRangeFormat=function(e,d){var u=this._getTextDocument(e);return this._languageService.doRangeFormat(u,d)},e.prototype.doFolding=function(e){var d=this._getTextDocument(e);return this._languageService.doFolding(d)},e.prototype.doDocumentFormat=function(e){var d=this._getTextDocument(e);return this._languageService.doDocumentFormat(d)},e.prototype.doCurrentCommandFormat=function(e,d){var u=this._getTextDocument(e);return this._languageService.doCurrentCommandFormat(u,d)},e.prototype.doColorization=function(e,d){var u=this._getTextDocument(e);return this._languageService.doColorization(u,d)},e.prototype.getClientDirective=function(e){return this._languageService.getClientDirective(e)},e.prototype.getAdminCommand=function(e){return this._languageService.getAdminCommand(e)},e.prototype.findDefinition=function(e,d){var u=this._getTextDocument(e);return this._languageService.findDefinition(u,d)},e.prototype.findReferences=function(e,d){var u=this._getTextDocument(e);return this._languageService.findReferences(u,d)},e.prototype.doRename=function(e,d,u){var n=this._getTextDocument(e);return this._languageService.doRename(n,d,u)},e.prototype.doHover=function(e,d){var u=this._getTextDocument(e);return this._languageService.doHover(u,d)},e.prototype.setParameters=function(e){return this._languageService.setParameters(e)},e.prototype.getClusterReferences=function(e,d){var u=this._getTextDocument(e);return this._languageService.getClusterReferences(u,d)},e.prototype.getDatabaseReferences=function(e,d){var u=this._getTextDocument(e);return this._languageService.getDatabaseReferences(u,d)},e.prototype._getTextDocument=function(e){for(var d=0,u=this._ctx.getMirrorModels();d<u.length;d++){var t=u[d];if(t.uri.toString()===e)return n.TextDocument.create(e,this._languageId,t.version,t.getValue())}return null},e}();d.KustoWorker=t,d.create=function(e,d){return new t(e,d)}}));
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 4.0.6(undefined)
3
+ * monaco-kusto version: 4.1.0(undefined)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -119,6 +119,33 @@ declare module monaco.languages.kusto {
119
119
  doCurrentCommandFormat(uri: string, caretPosition: ls.Position): Promise<ls.TextEdit[]>;
120
120
  doValidation(uri: string, intervals: { start: number; end: number }[]): Promise<ls.Diagnostic[]>;
121
121
  setParameters(parameters: ScalarParameter[]): void;
122
+ /**
123
+ * Get all the database references from the current command.
124
+ * If database's schema is already cached it will not be returned.
125
+ * This method should be used to get all the cross-databases in a command, then schema for the database should be fetched and added with addDatabaseToSchema.
126
+ * @example
127
+ * If the current command includes: cluster('help').database('Samples')
128
+ * it returns [{ clusterName: 'help', databaseName 'Samples' }]
129
+ */
130
+ getDatabaseReferences(uri: string, cursorOffset: number): Promise<DatabaseReference[]>;
131
+ /**
132
+ * Get all the cluster references from the current command.
133
+ * If cluster's schema is already cached it will not be returned.
134
+ * This method should be used to get all the cross-clusters in a command, then schema for the cluster should be fetched and added with addClusterToSchema.
135
+ * @example
136
+ * If the current command includes: cluster('help')
137
+ * it returns [{ clusterName: 'help' }]
138
+ */
139
+ getClusterReferences(uri: string, cursorOffset: number): Promise<ClusterReference[]>;
140
+ /**
141
+ * Adds a database's scheme. Useful with getDatabaseReferences to load schema for cross-cluster commands.
142
+ */
143
+ addDatabaseToSchema(uri: string, clusterName: string, databaseSchema: Database): Promise<void>;
144
+ /**
145
+ * Adds a cluster's scheme (database names only). Useful with getClusterReferences to load schema for cross-cluster commands.
146
+ * To load a full database schema call addDatabaseToSchema.
147
+ */
148
+ addClusterToSchema(uri: string, clusterName: string, databasesNames: string[]): Promise<void>;
122
149
  }
123
150
 
124
151
  /**
@@ -234,6 +261,15 @@ declare module monaco.languages.kusto {
234
261
  location: { startOffset: number; endOffset: number };
235
262
  }
236
263
 
264
+ export interface DatabaseReference {
265
+ databaseName: string;
266
+ clusterName: string;
267
+ };
268
+
269
+ export interface ClusterReference {
270
+ clusterName: string;
271
+ }
272
+
237
273
  export type RenderOptionKeys = keyof RenderOptions;
238
274
 
239
275
  export type OnDidProvideCompletionItems = (list: ls.CompletionList) => Promise<ls.CompletionList>;