@kusto/monaco-kusto 14.1.0 → 14.2.2

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/README.md CHANGED
@@ -168,6 +168,18 @@ This section provides a high-level overview of the main files and their responsi
168
168
 
169
169
  ## Changelog
170
170
 
171
+ ### 14.2.2
172
+
173
+ - docs: add external references to semver-classification skill
174
+
175
+ ### 14.2.1
176
+
177
+ - chore: bump CI Node.js version to 22
178
+
179
+ ### 14.2.0
180
+
181
+ - feat: add `onSchemaUpdateComplete` event emitter so consumers can react to schema refresh completion
182
+
171
183
  ### 14.1.0
172
184
 
173
185
  - feat: support graph schema
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kusto/monaco-kusto",
3
- "version": "14.1.0",
3
+ "version": "14.2.2",
4
4
  "description": "CSL, KQL plugin for the Monaco Editor",
5
5
  "author": {
6
6
  "name": "Microsoft"
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './main-374ffef1', './types-330e461e'], (function (exports, monaco, main, types$1) { 'use strict';
8
+ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './main-2d6da563', './types-fb9b493a'], (function (exports, monaco, main, types$1) { 'use strict';
9
9
 
10
10
  function _interopNamespaceDefault(e) {
11
11
  var n = Object.create(null);
@@ -1556,9 +1556,10 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1556
1556
  function _toPropertyKey$1(t) { var i = _toPrimitive$1(t, "string"); return "symbol" == _typeof$2(i) ? i : i + ""; }
1557
1557
  function _toPrimitive$1(t, r) { if ("object" != _typeof$2(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof$2(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1558
1558
  var SemanticTokensProvider = /*#__PURE__*/function () {
1559
- function SemanticTokensProvider(classificationsGetter) {
1559
+ function SemanticTokensProvider(classificationsGetter, onTokensProvided) {
1560
1560
  _classCallCheck(this, SemanticTokensProvider);
1561
1561
  this.classificationsGetter = classificationsGetter;
1562
+ this.onTokensProvided = onTokensProvided;
1562
1563
  }
1563
1564
  return _createClass(SemanticTokensProvider, [{
1564
1565
  key: "getLegend",
@@ -1572,7 +1573,8 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1572
1573
  key: "provideDocumentSemanticTokens",
1573
1574
  value: function () {
1574
1575
  var _provideDocumentSemanticTokens = _asyncToGenerator$2( /*#__PURE__*/_regeneratorRuntime$2().mark(function _callee(model) {
1575
- var resource, classifications, tokens, prevLine, prevChar, _iterator, _step, classification, parts, _i, _parts, part, _part, absLine, absChar, length, kind, modifiers, deltaLine, deltaChar;
1576
+ var _this$onTokensProvide;
1577
+ var resource, classifications, tokens, prevLine, prevChar, _iterator, _step, classification, parts, _i, _parts, part, _part, absLine, absChar, length, kind, modifiers, deltaLine, deltaChar, result;
1576
1578
  return _regeneratorRuntime$2().wrap(function _callee$(_context) {
1577
1579
  while (1) switch (_context.prev = _context.next) {
1578
1580
  case 0:
@@ -1604,11 +1606,13 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1604
1606
  } finally {
1605
1607
  _iterator.f();
1606
1608
  }
1607
- return _context.abrupt("return", {
1609
+ result = {
1608
1610
  data: new Uint32Array(tokens.flat(2)),
1609
1611
  resultId: model.getVersionId().toString()
1610
- });
1611
- case 10:
1612
+ };
1613
+ (_this$onTokensProvide = this.onTokensProvided) === null || _this$onTokensProvide === void 0 || _this$onTokensProvide.call(this, resource);
1614
+ return _context.abrupt("return", result);
1615
+ case 12:
1612
1616
  case "end":
1613
1617
  return _context.stop();
1614
1618
  }
@@ -1651,10 +1655,10 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1651
1655
  function _asyncToGenerator$1(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep$1(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep$1(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
1652
1656
  // Registers semantic token provider that utilizes the language service
1653
1657
  // for more context-relevant syntax highlighting.
1654
- function semanticTokensProviderRegistrarCreator() {
1658
+ function semanticTokensProviderRegistrarCreator(onTokensProvided) {
1655
1659
  var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreatorForTest();
1656
1660
  return function (monacoInstance, workerAccessor) {
1657
- var semanticTokensProvider = semanticTokensProviderMaker(workerAccessor);
1661
+ var semanticTokensProvider = semanticTokensProviderMaker(workerAccessor, onTokensProvided);
1658
1662
  semanticTokensProviderRegistrar(monacoInstance, semanticTokensProvider);
1659
1663
  };
1660
1664
  }
@@ -1667,7 +1671,7 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1667
1671
  semanticTokensDisposable = monacoInstance.languages.registerDocumentSemanticTokensProvider(types$1.LANGUAGE_ID, semanticTokensProvider);
1668
1672
  };
1669
1673
  }
1670
- function semanticTokensProviderMaker(workerAccessor) {
1674
+ function semanticTokensProviderMaker(workerAccessor, onTokensProvided) {
1671
1675
  var classificationsGetter = /*#__PURE__*/function () {
1672
1676
  var _ref = _asyncToGenerator$1( /*#__PURE__*/_regeneratorRuntime$1().mark(function _callee(resource) {
1673
1677
  var worker;
@@ -1689,7 +1693,7 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1689
1693
  return _ref.apply(this, arguments);
1690
1694
  };
1691
1695
  }();
1692
- return new SemanticTokensProvider(classificationsGetter);
1696
+ return new SemanticTokensProvider(classificationsGetter, onTokensProvided);
1693
1697
  }
1694
1698
 
1695
1699
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
@@ -1717,10 +1721,16 @@ define('vs/language/kusto/kustoMode', ['exports', 'vs/editor/editor.main', './ma
1717
1721
  /**
1718
1722
  * Called when Kusto language is first needed (a model has the language set)
1719
1723
  * @param defaults
1724
+ * @param monacoInstance
1725
+ * @param onSchemaUpdateCompleteEmitter Optional,fired when the language service has finished all schema-related work
1720
1726
  */
1721
- function setupMode(defaults, monacoInstance) {
1727
+ function setupMode(defaults, monacoInstance, onSchemaUpdateCompleteEmitter) {
1722
1728
  var onSchemaChange = new monaco__namespace.Emitter();
1723
- var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator();
1729
+ var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator(function (uri) {
1730
+ onSchemaUpdateCompleteEmitter === null || onSchemaUpdateCompleteEmitter === void 0 || onSchemaUpdateCompleteEmitter.fire({
1731
+ uri: uri
1732
+ });
1733
+ });
1724
1734
  var client = new WorkerManager(monacoInstance, defaults);
1725
1735
  var workerAccessor = function workerAccessor(first) {
1726
1736
  var augmentedSetSchema = /*#__PURE__*/function () {
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/kustoWorker', ['exports', './main-374ffef1', './schema-778d43e4'], (function (exports, main, schema) { 'use strict';
8
+ define('vs/language/kusto/kustoWorker', ['exports', './main-2d6da563', './schema-c2628e1d'], (function (exports, main, schema) { 'use strict';
9
9
 
10
10
  function _slicedToArray$2(r, e) { return _arrayWithHoles$2(r) || _iterableToArrayLimit$2(r, e) || _unsupportedIterableToArray$3(r, e) || _nonIterableRest$2(); }
11
11
  function _nonIterableRest$2() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/main-374ffef1', ['exports'], (function (exports) { 'use strict';
8
+ define('vs/language/kusto/main-2d6da563', ['exports'], (function (exports) { 'use strict';
9
9
 
10
10
  /* --------------------------------------------------------------------------------------------
11
11
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/editor/editor.main', './types-330e461e', './schema-778d43e4'], (function (require, exports, monaco, types, schema) { 'use strict';
8
+ define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/editor/editor.main', './types-fb9b493a', './schema-c2628e1d'], (function (require, exports, monaco, types, schema) { 'use strict';
9
9
 
10
10
  function _interopNamespaceDefault(e) {
11
11
  var n = Object.create(null);
@@ -594,6 +594,10 @@ define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/edito
594
594
  });
595
595
  });
596
596
  }
597
+
598
+ // Fires after semantic tokens are (re)computed following a schema update; payload carries the model URI.
599
+ var onSchemaUpdateCompleteEmitter = new monaco__namespace.Emitter();
600
+ var onSchemaUpdateComplete = onSchemaUpdateCompleteEmitter.event;
597
601
  function withMode(callback) {
598
602
  return new Promise(function (resolve, reject) { require(['./kustoMode'], resolve, reject); }).then(callback);
599
603
  }
@@ -604,7 +608,7 @@ define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/edito
604
608
  case 0:
605
609
  _context.next = 2;
606
610
  return withMode(function (mode) {
607
- return mode.setupMode(kustoDefaults, monaco__namespace);
611
+ return mode.setupMode(kustoDefaults, monaco__namespace, onSchemaUpdateCompleteEmitter);
608
612
  });
609
613
  case 2:
610
614
  case "end":
@@ -675,7 +679,8 @@ define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/edito
675
679
  getEntityDataTypeFromCslType: schema.getEntityDataTypeFromCslType,
676
680
  kustoDefaults: kustoDefaults,
677
681
  getKustoWorker: getKustoWorker,
678
- getRangeHtml: getRangeHtml
682
+ getRangeHtml: getRangeHtml,
683
+ onSchemaUpdateComplete: onSchemaUpdateComplete
679
684
  };
680
685
  monaco__namespace.languages.kusto = globalApi;
681
686
 
@@ -688,5 +693,6 @@ define('vs/language/kusto/monaco.contribution', ['require', 'exports', 'vs/edito
688
693
  exports.getKustoWorker = getKustoWorker;
689
694
  exports.getRangeHtml = getRangeHtml;
690
695
  exports.kustoDefaults = kustoDefaults;
696
+ exports.onSchemaUpdateComplete = onSchemaUpdateComplete;
691
697
 
692
698
  }));
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/schema-778d43e4', ['exports'], (function (exports) { 'use strict';
8
+ define('vs/language/kusto/schema-c2628e1d', ['exports'], (function (exports) { 'use strict';
9
9
 
10
10
  // Definition of schema object in the context of language services. This model is exposed to consumers of this library.
11
11
 
@@ -1,11 +1,11 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
- define('vs/language/kusto/types-330e461e', ['exports'], (function (exports) { 'use strict';
8
+ define('vs/language/kusto/types-fb9b493a', ['exports'], (function (exports) { 'use strict';
9
9
 
10
10
  var LANGUAGE_ID = 'kusto';
11
11
 
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -8,7 +8,7 @@
8
8
  import * as worker from 'monaco-editor/esm/vs/editor/editor.worker';
9
9
  import * as ls from 'vscode-languageserver-types';
10
10
  import XRegExp from 'xregexp';
11
- import { d as getEntityDataTypeFromCslType, a as getCallName, b as getExpression, g as getCslTypeNameFromClrType } from './schema-9bf4386b.js';
11
+ import { d as getEntityDataTypeFromCslType, a as getCallName, b as getExpression, g as getCslTypeNameFromClrType } from './schema-6e15bdaa.js';
12
12
  import '@kusto/language-service/bridge.min';
13
13
  import '@kusto/language-service/Kusto.JavaScript.Client.min';
14
14
  import '@kusto/language-service/newtonsoft.json.min';
@@ -9,6 +9,10 @@ export interface AugmentedWorkerAccessor {
9
9
  /**
10
10
  * Called when Kusto language is first needed (a model has the language set)
11
11
  * @param defaults
12
+ * @param monacoInstance
13
+ * @param onSchemaUpdateCompleteEmitter Optional,fired when the language service has finished all schema-related work
12
14
  */
13
- export declare function setupMode(defaults: LanguageServiceDefaults, monacoInstance: typeof globalThis.monaco): void;
15
+ export declare function setupMode(defaults: LanguageServiceDefaults, monacoInstance: typeof monaco, onSchemaUpdateCompleteEmitter?: monaco.Emitter<{
16
+ uri: monaco.Uri;
17
+ }>): void;
14
18
  export declare function getKustoWorker(): Promise<AugmentedWorkerAccessor>;
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -9,7 +9,7 @@ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
9
9
  import { languages } from 'monaco-editor/esm/vs/editor/editor.api';
10
10
  import * as ls from 'vscode-languageserver-types';
11
11
  import debounce from 'lodash-es/debounce';
12
- import { L as LANGUAGE_ID, T as Token, t as tokenTypes } from './globals-bfe000bf.js';
12
+ import { L as LANGUAGE_ID, T as Token, t as tokenTypes } from './globals-2482dd04.js';
13
13
 
14
14
  class WorkerManager {
15
15
  constructor(_monacoInstance, defaults) {
@@ -792,8 +792,9 @@ const kustoLanguageDefinition = {
792
792
  };
793
793
 
794
794
  class SemanticTokensProvider {
795
- constructor(classificationsGetter) {
795
+ constructor(classificationsGetter, onTokensProvided) {
796
796
  this.classificationsGetter = classificationsGetter;
797
+ this.onTokensProvided = onTokensProvided;
797
798
  }
798
799
  getLegend() {
799
800
  return {
@@ -818,10 +819,12 @@ class SemanticTokensProvider {
818
819
  prevChar = absChar;
819
820
  }
820
821
  }
821
- return {
822
+ const result = {
822
823
  data: new Uint32Array(tokens.flat(2)),
823
824
  resultId: model.getVersionId().toString()
824
825
  };
826
+ this.onTokensProvided?.(resource);
827
+ return result;
825
828
  }
826
829
  releaseDocumentSemanticTokens() {}
827
830
  }
@@ -850,10 +853,10 @@ function toSemanticTokens(classification, model) {
850
853
 
851
854
  // Registers semantic token provider that utilizes the language service
852
855
  // for more context-relevant syntax highlighting.
853
- function semanticTokensProviderRegistrarCreator() {
856
+ function semanticTokensProviderRegistrarCreator(onTokensProvided) {
854
857
  const semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreatorForTest();
855
858
  return (monacoInstance, workerAccessor) => {
856
- const semanticTokensProvider = semanticTokensProviderMaker(workerAccessor);
859
+ const semanticTokensProvider = semanticTokensProviderMaker(workerAccessor, onTokensProvided);
857
860
  semanticTokensProviderRegistrar(monacoInstance, semanticTokensProvider);
858
861
  };
859
862
  }
@@ -866,12 +869,12 @@ function semanticTokensProviderRegistrarCreatorForTest() {
866
869
  semanticTokensDisposable = monacoInstance.languages.registerDocumentSemanticTokensProvider(LANGUAGE_ID, semanticTokensProvider);
867
870
  };
868
871
  }
869
- function semanticTokensProviderMaker(workerAccessor) {
872
+ function semanticTokensProviderMaker(workerAccessor, onTokensProvided) {
870
873
  const classificationsGetter = async resource => {
871
874
  const worker = await workerAccessor(resource);
872
875
  return worker.getClassifications(resource.toString());
873
876
  };
874
- return new SemanticTokensProvider(classificationsGetter);
877
+ return new SemanticTokensProvider(classificationsGetter, onTokensProvided);
875
878
  }
876
879
 
877
880
  languages.LanguageConfiguration;
@@ -884,10 +887,16 @@ let workerPromise = new Promise((resolve, reject) => {
884
887
  /**
885
888
  * Called when Kusto language is first needed (a model has the language set)
886
889
  * @param defaults
890
+ * @param monacoInstance
891
+ * @param onSchemaUpdateCompleteEmitter Optional,fired when the language service has finished all schema-related work
887
892
  */
888
- function setupMode(defaults, monacoInstance) {
893
+ function setupMode(defaults, monacoInstance, onSchemaUpdateCompleteEmitter) {
889
894
  const onSchemaChange = new monaco.Emitter();
890
- const semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator();
895
+ const semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator(uri => {
896
+ onSchemaUpdateCompleteEmitter?.fire({
897
+ uri
898
+ });
899
+ });
891
900
  const client = new WorkerManager(monacoInstance, defaults);
892
901
  const workerAccessor = (first, ...more) => {
893
902
  const augmentedSetSchema = async (schema, worker) => {
@@ -19,5 +19,8 @@ declare class LanguageServiceDefaultsImpl implements LanguageServiceDefaults {
19
19
  getWorkerMaxIdleTime(): number;
20
20
  }
21
21
  export declare function getKustoWorker(): Promise<WorkerAccessor>;
22
+ export declare const onSchemaUpdateComplete: monaco.IEvent<{
23
+ uri: monaco.Uri;
24
+ }>;
22
25
  export declare const kustoDefaults: LanguageServiceDefaultsImpl;
23
26
  export { getRangeHtml };
@@ -1,15 +1,15 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
7
7
 
8
8
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
9
9
  import { editor } from 'monaco-editor/esm/vs/editor/editor.api';
10
- import { T as Token, L as LANGUAGE_ID } from './globals-bfe000bf.js';
11
- import { g as getCslTypeNameFromClrType, a as getCallName, b as getExpression, c as getInputParametersAsCslString, d as getEntityDataTypeFromCslType } from './schema-9bf4386b.js';
12
- export { s as showSchema } from './schema-9bf4386b.js';
10
+ import { T as Token, L as LANGUAGE_ID } from './globals-2482dd04.js';
11
+ import { g as getCslTypeNameFromClrType, a as getCallName, b as getExpression, c as getInputParametersAsCslString, d as getEntityDataTypeFromCslType } from './schema-6e15bdaa.js';
12
+ export { s as showSchema } from './schema-6e15bdaa.js';
13
13
 
14
14
  function getCurrentCommandRange(editor, cursorPosition) {
15
15
  const zeroBasedCursorLineNumber = cursorPosition.lineNumber - 1;
@@ -516,12 +516,16 @@ function getKustoWorker() {
516
516
  });
517
517
  });
518
518
  }
519
+
520
+ // Fires after semantic tokens are (re)computed following a schema update; payload carries the model URI.
521
+ const onSchemaUpdateCompleteEmitter = new monaco.Emitter();
522
+ const onSchemaUpdateComplete = onSchemaUpdateCompleteEmitter.event;
519
523
  function withMode(callback) {
520
524
  return import('./kustoMode.js').then(callback);
521
525
  }
522
526
  const kustoDefaults = new LanguageServiceDefaultsImpl(defaultLanguageSettings);
523
527
  monaco.languages.onLanguage('kusto', async () => {
524
- await withMode(mode => mode.setupMode(kustoDefaults, monaco));
528
+ await withMode(mode => mode.setupMode(kustoDefaults, monaco, onSchemaUpdateCompleteEmitter));
525
529
  });
526
530
  monaco.languages.register({
527
531
  id: LANGUAGE_ID,
@@ -582,8 +586,9 @@ const globalApi = {
582
586
  getEntityDataTypeFromCslType,
583
587
  kustoDefaults,
584
588
  getKustoWorker,
585
- getRangeHtml
589
+ getRangeHtml,
590
+ onSchemaUpdateComplete
586
591
  };
587
592
  monaco.languages.kusto = globalApi;
588
593
 
589
- export { getCallName, getCslTypeNameFromClrType, getEntityDataTypeFromCslType, getExpression, getInputParametersAsCslString, getKustoWorker, getRangeHtml, kustoDefaults };
594
+ export { getCallName, getCslTypeNameFromClrType, getEntityDataTypeFromCslType, getExpression, getInputParametersAsCslString, getKustoWorker, getRangeHtml, kustoDefaults, onSchemaUpdateComplete };
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 14.1.0(a07433e158c993af04f2cfb3a1453ddac68ec2bd)
3
+ * monaco-kusto version: 14.2.2(22fb70324f78ec316d3733a3c97919f80215e03d)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -2,9 +2,11 @@ import type * as monaco from 'monaco-editor';
2
2
  import { editor } from 'monaco-editor';
3
3
  import { ClassificationRange } from './types';
4
4
  type ClassificationsGetter = (resource: monaco.Uri) => Promise<ClassificationRange[]>;
5
+ type OnTokensProvided = (uri: monaco.Uri) => void;
5
6
  export declare class SemanticTokensProvider implements monaco.languages.DocumentSemanticTokensProvider {
6
7
  private readonly classificationsGetter;
7
- constructor(classificationsGetter: ClassificationsGetter);
8
+ private readonly onTokensProvided?;
9
+ constructor(classificationsGetter: ClassificationsGetter, onTokensProvided?: OnTokensProvided);
8
10
  getLegend(): {
9
11
  tokenTypes: import("./types").Token[];
10
12
  tokenModifiers: any[];
@@ -36,22 +36,24 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  };
37
37
  import { tokenTypes } from './types';
38
38
  var SemanticTokensProvider = /** @class */ (function () {
39
- function SemanticTokensProvider(classificationsGetter) {
39
+ function SemanticTokensProvider(classificationsGetter, onTokensProvided) {
40
40
  this.classificationsGetter = classificationsGetter;
41
+ this.onTokensProvided = onTokensProvided;
41
42
  }
42
43
  SemanticTokensProvider.prototype.getLegend = function () {
43
44
  return { tokenTypes: tokenTypes, tokenModifiers: [] };
44
45
  };
45
46
  SemanticTokensProvider.prototype.provideDocumentSemanticTokens = function (model) {
46
47
  return __awaiter(this, void 0, void 0, function () {
47
- var resource, classifications, tokens, prevLine, prevChar, _i, classifications_1, classification, parts, _a, parts_1, part, absLine, absChar, length_1, kind, modifiers, deltaLine, deltaChar;
48
- return __generator(this, function (_b) {
49
- switch (_b.label) {
48
+ var resource, classifications, tokens, prevLine, prevChar, _i, classifications_1, classification, parts, _a, parts_1, part, absLine, absChar, length_1, kind, modifiers, deltaLine, deltaChar, result;
49
+ var _b;
50
+ return __generator(this, function (_c) {
51
+ switch (_c.label) {
50
52
  case 0:
51
53
  resource = model.uri;
52
54
  return [4 /*yield*/, this.classificationsGetter(resource)];
53
55
  case 1:
54
- classifications = _b.sent();
56
+ classifications = _c.sent();
55
57
  tokens = [];
56
58
  prevLine = 0;
57
59
  prevChar = 0;
@@ -68,10 +70,12 @@ var SemanticTokensProvider = /** @class */ (function () {
68
70
  prevChar = absChar;
69
71
  }
70
72
  }
71
- return [2 /*return*/, {
72
- data: new Uint32Array(tokens.flat(2)),
73
- resultId: model.getVersionId().toString(),
74
- }];
73
+ result = {
74
+ data: new Uint32Array(tokens.flat(2)),
75
+ resultId: model.getVersionId().toString(),
76
+ };
77
+ (_b = this.onTokensProvided) === null || _b === void 0 ? void 0 : _b.call(this, resource);
78
+ return [2 /*return*/, result];
75
79
  }
76
80
  });
77
81
  });
@@ -2,5 +2,5 @@ import monaco from 'monaco-editor/esm/vs/editor/editor.api';
2
2
  import { SemanticTokensProvider } from './SemanticTokensProvider';
3
3
  import { AugmentedWorkerAccessor } from '../kustoMode';
4
4
  export type SemanticTokensProviderRegistrar = (monacoInstance: typeof monaco, semanticTokensProvider: SemanticTokensProvider) => void;
5
- export declare function semanticTokensProviderRegistrarCreator(): (monacoInstance: typeof monaco, workerAccessor: AugmentedWorkerAccessor) => void;
5
+ export declare function semanticTokensProviderRegistrarCreator(onTokensProvided?: (uri: monaco.Uri) => void): (monacoInstance: typeof monaco, workerAccessor: AugmentedWorkerAccessor) => void;
6
6
  export declare function semanticTokensProviderRegistrarCreatorForTest(): (monacoInstance: typeof monaco, semanticTokensProvider: SemanticTokensProvider) => void;
@@ -38,10 +38,10 @@ import { LANGUAGE_ID } from '../globals';
38
38
  import { SemanticTokensProvider } from './SemanticTokensProvider';
39
39
  // Registers semantic token provider that utilizes the language service
40
40
  // for more context-relevant syntax highlighting.
41
- export function semanticTokensProviderRegistrarCreator() {
41
+ export function semanticTokensProviderRegistrarCreator(onTokensProvided) {
42
42
  var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreatorForTest();
43
43
  return function (monacoInstance, workerAccessor) {
44
- var semanticTokensProvider = semanticTokensProviderMaker(workerAccessor);
44
+ var semanticTokensProvider = semanticTokensProviderMaker(workerAccessor, onTokensProvided);
45
45
  semanticTokensProviderRegistrar(monacoInstance, semanticTokensProvider);
46
46
  };
47
47
  }
@@ -54,7 +54,7 @@ export function semanticTokensProviderRegistrarCreatorForTest() {
54
54
  semanticTokensDisposable = monacoInstance.languages.registerDocumentSemanticTokensProvider(LANGUAGE_ID, semanticTokensProvider);
55
55
  };
56
56
  }
57
- function semanticTokensProviderMaker(workerAccessor) {
57
+ function semanticTokensProviderMaker(workerAccessor, onTokensProvided) {
58
58
  var _this = this;
59
59
  var classificationsGetter = function (resource) { return __awaiter(_this, void 0, void 0, function () {
60
60
  var worker;
@@ -67,5 +67,5 @@ function semanticTokensProviderMaker(workerAccessor) {
67
67
  }
68
68
  });
69
69
  }); };
70
- return new SemanticTokensProvider(classificationsGetter);
70
+ return new SemanticTokensProvider(classificationsGetter, onTokensProvided);
71
71
  }