@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 +12 -0
- package/package.json +1 -1
- package/release/dev/kustoMode.js +23 -13
- package/release/dev/kustoWorker.js +2 -2
- package/release/dev/{main-374ffef1.js → main-2d6da563.js} +2 -2
- package/release/dev/monaco.contribution.js +10 -4
- package/release/dev/{schema-778d43e4.js → schema-c2628e1d.js} +2 -2
- package/release/dev/{types-330e461e.js → types-fb9b493a.js} +2 -2
- package/release/esm/{globals-bfe000bf.js → globals-2482dd04.js} +1 -1
- package/release/esm/kusto.worker.js +2 -2
- package/release/esm/kustoMode.d.ts +5 -1
- package/release/esm/kustoMode.js +19 -10
- package/release/esm/monaco.contribution.d.ts +3 -0
- package/release/esm/monaco.contribution.js +12 -7
- package/release/esm/{schema-9bf4386b.js → schema-6e15bdaa.js} +1 -1
- package/release/esm/syntaxHighlighting/SemanticTokensProvider.d.ts +3 -1
- package/release/esm/syntaxHighlighting/SemanticTokensProvider.js +13 -9
- package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.d.ts +1 -1
- package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.js +4 -4
- package/release/min/kustoMode.js +2 -2
- package/release/min/kustoWorker.js +2 -2
- package/release/min/{main-f8f8d919.js → main-e541fd9c.js} +2 -2
- package/release/min/monaco.contribution.js +2 -2
- package/release/min/{schema-d1f6d06d.js → schema-f5610a54.js} +2 -2
- package/release/min/{types-5ec10ded.js → types-3f592d79.js} +2 -2
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
package/release/dev/kustoMode.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* monaco-kusto version: 14.
|
|
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-
|
|
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
|
|
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
|
-
|
|
1609
|
+
result = {
|
|
1608
1610
|
data: new Uint32Array(tokens.flat(2)),
|
|
1609
1611
|
resultId: model.getVersionId().toString()
|
|
1610
|
-
}
|
|
1611
|
-
|
|
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.
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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-
|
|
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
|
|
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>;
|
package/release/esm/kustoMode.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!-----------------------------------------------------------------------------
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
* monaco-kusto version: 14.
|
|
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-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
11
|
-
import { g as getCslTypeNameFromClrType, a as getCallName, b as getExpression, c as getInputParametersAsCslString, d as getEntityDataTypeFromCslType } from './schema-
|
|
12
|
-
export { s as showSchema } from './schema-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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 =
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
}
|