@kusto/monaco-kusto 12.0.1 → 12.0.3

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.
Files changed (32) hide show
  1. package/README.md +9 -1
  2. package/package.json +2 -2
  3. package/release/dev/kusto.javascript.client.min.js +1 -1
  4. package/release/dev/kustoMode.js +1771 -4
  5. package/release/dev/kustoWorker.js +2 -2
  6. package/release/dev/{main-f36cb42f.js → main-1546c7f5.js} +2 -2
  7. package/release/dev/monaco.contribution.js +73 -76
  8. package/release/dev/{schema-077630e6.js → schema-9341f93e.js} +2 -13
  9. package/release/dev/types-91878f5b.js +46 -0
  10. package/release/esm/globals-417d1e2f.js +40 -0
  11. package/release/esm/kusto.worker.js +11 -11
  12. package/release/esm/kustoMode.d.ts +8 -4
  13. package/release/esm/kustoMode.js +89 -92
  14. package/release/esm/languageFeatures.d.ts +1 -1
  15. package/release/esm/languageServiceManager/schema.d.ts +2 -2
  16. package/release/esm/monaco.contribution.js +20 -55
  17. package/release/esm/{schema-b8f0ba9b.js → schema-d4e431c7.js} +2 -12
  18. package/release/esm/syntaxHighlighting/SemanticTokensProvider.d.ts +1 -1
  19. package/release/esm/syntaxHighlighting/SemanticTokensProvider.js +3 -3
  20. package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.d.ts +2 -2
  21. package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.js +52 -4
  22. package/release/min/kusto.javascript.client.min.js +1 -1
  23. package/release/min/kustoMode.js +2 -2
  24. package/release/min/kustoWorker.js +2 -2
  25. package/release/min/{main-86d6c837.js → main-a2b9fd7b.js} +2 -2
  26. package/release/min/monaco.contribution.js +2 -2
  27. package/release/min/schema-319a2b5f.js +7 -0
  28. package/release/min/types-310c0d26.js +7 -0
  29. package/release/dev/kustoMode-d3f9e09a.js +0 -1818
  30. package/release/esm/kustoMode-349f5467.js +0 -957
  31. package/release/min/kustoMode-2dd4a01e.js +0 -7
  32. package/release/min/schema-a60c216c.js +0 -7
@@ -48,104 +48,101 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
48
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
49
49
  import { WorkerManager } from './workerManager';
50
50
  import * as languageFeatures from './languageFeatures';
51
+ import { kustoLanguageDefinition } from './syntaxHighlighting/kustoMonarchLanguageDefinition';
51
52
  import { LANGUAGE_ID } from './globals';
52
53
  import { semanticTokensProviderRegistrarCreator } from './syntaxHighlighting/semanticTokensProviderRegistrar';
53
- import { kustoLanguageDefinition } from './syntaxHighlighting/kustoMonarchLanguageDefinition';
54
- var workerAccessor;
54
+ var kustoWorker;
55
+ var resolveWorker;
56
+ var rejectWorker;
57
+ var workerPromise = new Promise(function (resolve, reject) {
58
+ resolveWorker = resolve;
59
+ rejectWorker = reject;
60
+ });
61
+ /**
62
+ * Called when Kusto language is first needed (a model has the language set)
63
+ * @param defaults
64
+ */
55
65
  export function setupMode(defaults, monacoInstance) {
56
- return __awaiter(this, void 0, void 0, function () {
57
- var onSchemaChange, client, semanticTokensProviderRegistrar, completionAdapter, documentRangeFormattingAdapter, foldingRangeAdapter, definitionProvider, referenceProvider, hoverAdapter, documentFormattingAdapter, languageConfiguration;
58
- var _this = this;
59
- return __generator(this, function (_a) {
60
- onSchemaChange = new monaco.Emitter();
61
- client = new WorkerManager(monacoInstance, defaults);
62
- semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator();
63
- workerAccessor = function (uri) { return __awaiter(_this, void 0, void 0, function () {
64
- var worker, augmentedSetSchema, setSchemaFromShowSchema;
65
- var _this = this;
66
- return __generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0: return [4 /*yield*/, client.getLanguageServiceWorker(uri)];
69
- case 1:
70
- worker = _a.sent();
71
- augmentedSetSchema = function (schema) { return __awaiter(_this, void 0, void 0, function () {
72
- return __generator(this, function (_a) {
73
- switch (_a.label) {
74
- case 0: return [4 /*yield*/, worker.setSchema(schema)];
75
- case 1:
76
- _a.sent();
77
- onSchemaChange.fire(schema);
78
- semanticTokensProviderRegistrar(monacoInstance, worker);
79
- return [2 /*return*/];
80
- }
81
- });
82
- }); };
83
- setSchemaFromShowSchema = function (schema, clusterConnectionString, databaseInContextName, globalScalarParameters, globalTabularParameters) { return __awaiter(_this, void 0, void 0, function () {
84
- var normalizedSchema;
85
- return __generator(this, function (_a) {
86
- switch (_a.label) {
87
- case 0: return [4 /*yield*/, worker.normalizeSchema(schema, clusterConnectionString, databaseInContextName)];
88
- case 1:
89
- normalizedSchema = _a.sent();
90
- normalizedSchema.globalScalarParameters = globalScalarParameters;
91
- normalizedSchema.globalTabularParameters = globalTabularParameters;
92
- return [4 /*yield*/, augmentedSetSchema(normalizedSchema)];
93
- case 2:
94
- _a.sent();
95
- return [2 /*return*/];
66
+ var _this = this;
67
+ var onSchemaChange = new monaco.Emitter();
68
+ // TODO: when should we dispose of these? seems like monaco-css and monaco-typescript don't dispose of these.
69
+ var disposables = [];
70
+ var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreator();
71
+ var client = new WorkerManager(monacoInstance, defaults);
72
+ disposables.push(client);
73
+ var workerAccessor = function (first) {
74
+ var more = [];
75
+ for (var _i = 1; _i < arguments.length; _i++) {
76
+ more[_i - 1] = arguments[_i];
77
+ }
78
+ var augmentedSetSchema = function (schema, worker) { return __awaiter(_this, void 0, void 0, function () {
79
+ var workerPromise;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ workerPromise = worker.setSchema(schema);
84
+ return [4 /*yield*/, workerPromise.then(function () {
85
+ onSchemaChange.fire(schema);
86
+ })];
87
+ case 1:
88
+ _a.sent();
89
+ semanticTokensProviderRegistrar(monacoInstance, workerAccessor);
90
+ return [2 /*return*/];
91
+ }
92
+ });
93
+ }); };
94
+ var worker = client.getLanguageServiceWorker.apply(client, [first].concat(more));
95
+ return worker.then(function (worker) { return (__assign(__assign({}, worker), { setSchema: function (schema) { return augmentedSetSchema(schema, worker); }, setSchemaFromShowSchema: function (schema, connection, database, globalScalarParameters, globalTabularParameters) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0: return [4 /*yield*/, worker.normalizeSchema(schema, connection, database).then(function (schema) {
100
+ if (globalScalarParameters || globalTabularParameters) {
101
+ schema = __assign(__assign({}, schema), { globalScalarParameters: globalScalarParameters, globalTabularParameters: globalTabularParameters });
96
102
  }
97
- });
98
- }); };
99
- return [2 /*return*/, __assign(__assign({}, worker), { setSchema: augmentedSetSchema, setSchemaFromShowSchema: setSchemaFromShowSchema })];
100
- }
103
+ augmentedSetSchema(schema, worker);
104
+ })];
105
+ case 1:
106
+ _a.sent();
107
+ return [2 /*return*/];
108
+ }
109
+ });
101
110
  });
102
- }); };
103
- monacoInstance.languages.setMonarchTokensProvider(LANGUAGE_ID, kustoLanguageDefinition);
104
- completionAdapter = new languageFeatures.CompletionAdapter(workerAccessor, defaults.languageSettings);
105
- monacoInstance.languages.registerCompletionItemProvider(LANGUAGE_ID, completionAdapter);
106
- // this constructor has side effects and therefore doesn't need to be passed anywhere
107
- new languageFeatures.DiagnosticsAdapter(monacoInstance, LANGUAGE_ID, workerAccessor, defaults, onSchemaChange.event);
108
- documentRangeFormattingAdapter = new languageFeatures.FormatAdapter(workerAccessor);
109
- monacoInstance.languages.registerDocumentRangeFormattingEditProvider(LANGUAGE_ID, documentRangeFormattingAdapter);
110
- foldingRangeAdapter = new languageFeatures.FoldingAdapter(workerAccessor);
111
- monacoInstance.languages.registerFoldingRangeProvider(LANGUAGE_ID, foldingRangeAdapter);
112
- definitionProvider = new languageFeatures.DefinitionAdapter(workerAccessor);
113
- monacoInstance.languages.registerDefinitionProvider(LANGUAGE_ID, definitionProvider);
114
- monacoInstance.languages.registerRenameProvider(LANGUAGE_ID, new languageFeatures.RenameAdapter(workerAccessor));
115
- referenceProvider = new languageFeatures.ReferenceAdapter(workerAccessor);
116
- monacoInstance.languages.registerReferenceProvider(LANGUAGE_ID, referenceProvider);
117
- if (defaults.languageSettings.enableHover) {
118
- hoverAdapter = new languageFeatures.HoverAdapter(workerAccessor);
119
- monacoInstance.languages.registerHoverProvider(LANGUAGE_ID, hoverAdapter);
120
- }
121
- documentFormattingAdapter = new languageFeatures.DocumentFormatAdapter(workerAccessor);
122
- monacoInstance.languages.registerDocumentFormattingEditProvider(LANGUAGE_ID, documentFormattingAdapter);
123
- languageConfiguration = {
124
- folding: {
125
- offSide: false,
126
- markers: { start: /^\s*[\r\n]/gm, end: /^\s*[\r\n]/gm },
127
- },
128
- comments: {
129
- lineComment: '//',
130
- blockComment: null,
131
- },
132
- autoClosingPairs: [
133
- { open: '{', close: '}' },
134
- { open: '[', close: ']' },
135
- { open: '(', close: ')' },
136
- { open: "'", close: "'", notIn: ['string', 'comment'] },
137
- { open: '"', close: '"', notIn: ['string', 'comment'] },
138
- ],
139
- };
140
- monacoInstance.languages.setLanguageConfiguration(LANGUAGE_ID, languageConfiguration);
141
- return [2 /*return*/, workerAccessor];
142
- });
111
+ } })); });
112
+ };
113
+ disposables.push(monacoInstance.languages.registerCompletionItemProvider(LANGUAGE_ID, new languageFeatures.CompletionAdapter(workerAccessor, defaults.languageSettings)));
114
+ var monarchTokensProvider = monacoInstance.languages.setMonarchTokensProvider(LANGUAGE_ID, kustoLanguageDefinition);
115
+ disposables.push(new languageFeatures.DiagnosticsAdapter(monacoInstance, LANGUAGE_ID, workerAccessor, defaults, onSchemaChange.event));
116
+ disposables.push(monacoInstance.languages.registerDocumentRangeFormattingEditProvider(LANGUAGE_ID, new languageFeatures.FormatAdapter(workerAccessor)));
117
+ disposables.push(monacoInstance.languages.registerFoldingRangeProvider(LANGUAGE_ID, new languageFeatures.FoldingAdapter(workerAccessor)));
118
+ disposables.push(monacoInstance.languages.registerDefinitionProvider(LANGUAGE_ID, new languageFeatures.DefinitionAdapter(workerAccessor)));
119
+ disposables.push(monacoInstance.languages.registerRenameProvider(LANGUAGE_ID, new languageFeatures.RenameAdapter(workerAccessor)));
120
+ disposables.push(monacoInstance.languages.registerReferenceProvider(LANGUAGE_ID, new languageFeatures.ReferenceAdapter(workerAccessor)));
121
+ if (defaults.languageSettings.enableHover) {
122
+ disposables.push(monacoInstance.languages.registerHoverProvider(LANGUAGE_ID, new languageFeatures.HoverAdapter(workerAccessor)));
123
+ }
124
+ monacoInstance.languages.registerDocumentFormattingEditProvider(LANGUAGE_ID, new languageFeatures.DocumentFormatAdapter(workerAccessor));
125
+ kustoWorker = workerAccessor;
126
+ resolveWorker(workerAccessor);
127
+ monacoInstance.languages.setLanguageConfiguration(LANGUAGE_ID, {
128
+ folding: {
129
+ offSide: false,
130
+ markers: { start: /^\s*[\r\n]/gm, end: /^\s*[\r\n]/gm },
131
+ },
132
+ comments: {
133
+ lineComment: '//',
134
+ blockComment: null,
135
+ },
136
+ autoClosingPairs: [
137
+ { open: '{', close: '}' },
138
+ { open: '[', close: ']' },
139
+ { open: '(', close: ')' },
140
+ { open: "'", close: "'", notIn: ['string', 'comment'] },
141
+ { open: '"', close: '"', notIn: ['string', 'comment'] },
142
+ ],
143
143
  });
144
+ return kustoWorker;
144
145
  }
145
146
  export function getKustoWorker() {
146
- return __awaiter(this, void 0, void 0, function () {
147
- return __generator(this, function (_a) {
148
- return [2 /*return*/, workerAccessor];
149
- });
150
- });
147
+ return workerPromise.then(function () { return kustoWorker; });
151
148
  }
@@ -13,7 +13,7 @@ export declare class DiagnosticsAdapter {
13
13
  private _schemaListener;
14
14
  private _cursorListener;
15
15
  private _debouncedValidations;
16
- constructor(_monacoInstance: typeof monaco, _languageId: string, _worker: AugmentedWorkerAccessor, defaults: LanguageServiceDefaults, onSchemaChange: monaco.IEvent<Schema>);
16
+ constructor(_monacoInstance: typeof globalThis.monaco, _languageId: string, _worker: AugmentedWorkerAccessor, defaults: LanguageServiceDefaults, onSchemaChange: monaco.IEvent<Schema>);
17
17
  private getMonacoCodeActions;
18
18
  private getOrCreateDebouncedValidation;
19
19
  dispose(): void;
@@ -62,8 +62,8 @@ export interface EngineSchema {
62
62
  readonly databases: readonly Database[];
63
63
  };
64
64
  readonly database: Database | undefined;
65
- globalScalarParameters?: readonly ScalarParameter[];
66
- globalTabularParameters?: readonly TabularParameter[];
65
+ readonly globalScalarParameters?: readonly ScalarParameter[];
66
+ readonly globalTabularParameters?: readonly TabularParameter[];
67
67
  }
68
68
  export type TableEntityType = 'Table' | 'ExternalTable' | 'MaterializedViewTable';
69
69
  export interface ClusterMangerSchema {
@@ -1,64 +1,17 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
1
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';
49
- import * as mode from './kustoMode';
50
2
  import KustoCommandHighlighter from './commandHighlighter';
51
3
  import KustoCommandFormatter from './commandFormatter';
52
4
  import { extend } from './extendedEditor';
53
5
  import { themes } from './syntaxHighlighting/themes';
54
6
  import { LANGUAGE_ID } from './globals';
55
- import * as schema from './languageServiceManager/schema';
7
+ import { getCslTypeNameFromClrType, getCallName, getExpression, getInputParametersAsCslString, getEntityDataTypeFromCslType, } from './languageServiceManager/schema';
56
8
  import { getRangeHtml } from './extendedGlobalApi';
57
9
  export * from './languageServiceManager/schema';
58
10
  export * from './languageServiceManager/renderInfo';
59
11
  export * from './languageServiceManager/settings';
60
12
  export * from './types';
61
13
  export * from './extendedGlobalApi';
14
+ // --- Kusto configuration and defaults ---------
62
15
  var LanguageServiceDefaultsImpl = /** @class */ (function () {
63
16
  function LanguageServiceDefaultsImpl(languageSettings) {
64
17
  this._onDidChange = new monaco.Emitter();
@@ -119,15 +72,18 @@ var defaultLanguageSettings = {
119
72
  completionOptions: { includeExtendedSyntax: false },
120
73
  };
121
74
  export function getKustoWorker() {
122
- return __awaiter(this, void 0, void 0, function () {
123
- return __generator(this, function (_a) {
124
- return [2 /*return*/, mode.getKustoWorker()];
75
+ return new Promise(function (resolve, reject) {
76
+ withMode(function (mode) {
77
+ mode.getKustoWorker().then(resolve, reject);
125
78
  });
126
79
  });
127
80
  }
81
+ function withMode(callback) {
82
+ import('./kustoMode').then(callback);
83
+ }
128
84
  export var kustoDefaults = new LanguageServiceDefaultsImpl(defaultLanguageSettings);
129
- monaco.languages.onLanguage(LANGUAGE_ID, function () {
130
- mode.setupMode(kustoDefaults, monaco);
85
+ monaco.languages.onLanguage('kusto', function () {
86
+ withMode(function (mode) { return mode.setupMode(kustoDefaults, monaco); });
131
87
  });
132
88
  monaco.languages.register({
133
89
  id: LANGUAGE_ID,
@@ -179,5 +135,14 @@ function triggerSuggestDialogWhenCompletionItemSelected(editor) {
179
135
  function isStandaloneCodeEditor(editor) {
180
136
  return editor.addAction !== undefined;
181
137
  }
182
- var globalApi = __assign(__assign({}, schema), { kustoDefaults: kustoDefaults, getKustoWorker: getKustoWorker, getRangeHtml: getRangeHtml });
138
+ var globalApi = {
139
+ getCslTypeNameFromClrType: getCslTypeNameFromClrType,
140
+ getCallName: getCallName,
141
+ getExpression: getExpression,
142
+ getInputParametersAsCslString: getInputParametersAsCslString,
143
+ getEntityDataTypeFromCslType: getEntityDataTypeFromCslType,
144
+ kustoDefaults: kustoDefaults,
145
+ getKustoWorker: getKustoWorker,
146
+ getRangeHtml: getRangeHtml,
147
+ };
183
148
  monaco.languages.kusto = globalApi;
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * monaco-kusto version: 12.0.1(56b90ce0fd31e7d6792f5098d1e8204274966b6e)
3
+ * monaco-kusto version: 12.0.3(418f3d71791a9e0959cc8869c01ea6d9b94b3179)
4
4
  * Released under the MIT license
5
5
  * https://https://github.com/Azure/monaco-kusto/blob/master/README.md
6
6
  *-----------------------------------------------------------------------------*/
@@ -81,14 +81,4 @@ const getInputParameterAsCslString = inputParameter => {
81
81
  */
82
82
  let showSchema;
83
83
 
84
- const schema = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
85
- __proto__: null,
86
- getCallName,
87
- getCslTypeNameFromClrType,
88
- getEntityDataTypeFromCslType,
89
- getExpression,
90
- getInputParametersAsCslString,
91
- showSchema
92
- }, Symbol.toStringTag, { value: 'Module' }));
93
-
94
- export { getEntityDataTypeFromCslType as a, getCallName as b, getExpression as c, getInputParametersAsCslString as d, showSchema as e, getCslTypeNameFromClrType as g, schema as s };
84
+ export { getCallName as a, getExpression as b, getInputParametersAsCslString as c, getEntityDataTypeFromCslType as d, getCslTypeNameFromClrType as g, showSchema as s };
@@ -1,7 +1,7 @@
1
1
  import type * as monaco from 'monaco-editor';
2
2
  import { editor } from 'monaco-editor';
3
3
  import { ClassificationRange } from './types';
4
- type ClassificationsGetter = (uri: string) => Promise<ClassificationRange[]>;
4
+ type ClassificationsGetter = (resource: monaco.Uri) => Promise<ClassificationRange[]>;
5
5
  export declare class SemanticTokensProvider implements monaco.languages.DocumentSemanticTokensProvider {
6
6
  private readonly classificationsGetter;
7
7
  constructor(classificationsGetter: ClassificationsGetter);
@@ -44,12 +44,12 @@ var SemanticTokensProvider = /** @class */ (function () {
44
44
  };
45
45
  SemanticTokensProvider.prototype.provideDocumentSemanticTokens = function (model) {
46
46
  return __awaiter(this, void 0, void 0, function () {
47
- var uri, classifications, semanticTokens;
47
+ var resource, classifications, semanticTokens;
48
48
  return __generator(this, function (_a) {
49
49
  switch (_a.label) {
50
50
  case 0:
51
- uri = model.uri.toString();
52
- return [4 /*yield*/, this.classificationsGetter(uri)];
51
+ resource = model.uri;
52
+ return [4 /*yield*/, this.classificationsGetter(resource)];
53
53
  case 1:
54
54
  classifications = _a.sent();
55
55
  semanticTokens = classifications.map(function (classification, index) {
@@ -1,6 +1,6 @@
1
1
  import monaco from 'monaco-editor/esm/vs/editor/editor.api';
2
2
  import { SemanticTokensProvider } from './SemanticTokensProvider';
3
- import { IKustoWorkerImpl } from '../kustoWorker';
3
+ import { AugmentedWorkerAccessor } from '../kustoMode';
4
4
  export type SemanticTokensProviderRegistrar = (monacoInstance: typeof monaco, semanticTokensProvider: SemanticTokensProvider) => void;
5
- export declare function semanticTokensProviderRegistrarCreator(): (monacoInstance: typeof monaco, worker: IKustoWorkerImpl) => void;
5
+ export declare function semanticTokensProviderRegistrarCreator(): (monacoInstance: typeof monaco, workerAccessor: AugmentedWorkerAccessor) => void;
6
6
  export declare function semanticTokensProviderRegistrarCreatorForTest(): (monacoInstance: typeof monaco, semanticTokensProvider: SemanticTokensProvider) => void;
@@ -1,11 +1,47 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
1
37
  import { LANGUAGE_ID } from '../globals';
2
38
  import { SemanticTokensProvider } from './SemanticTokensProvider';
3
39
  // Registers semantic token provider that utilizes the language service
4
40
  // for more context-relevant syntax highlighting.
5
41
  export function semanticTokensProviderRegistrarCreator() {
6
42
  var semanticTokensProviderRegistrar = semanticTokensProviderRegistrarCreatorForTest();
7
- return function (monacoInstance, worker) {
8
- var semanticTokensProvider = semanticTokensProviderMaker(worker);
43
+ return function (monacoInstance, workerAccessor) {
44
+ var semanticTokensProvider = semanticTokensProviderMaker(workerAccessor);
9
45
  semanticTokensProviderRegistrar(monacoInstance, semanticTokensProvider);
10
46
  };
11
47
  }
@@ -18,6 +54,18 @@ export function semanticTokensProviderRegistrarCreatorForTest() {
18
54
  semanticTokensDisposable = monacoInstance.languages.registerDocumentSemanticTokensProvider(LANGUAGE_ID, semanticTokensProvider);
19
55
  };
20
56
  }
21
- function semanticTokensProviderMaker(worker) {
22
- return new SemanticTokensProvider(worker.getClassifications);
57
+ function semanticTokensProviderMaker(workerAccessor) {
58
+ var _this = this;
59
+ var classificationsGetter = function (resource) { return __awaiter(_this, void 0, void 0, function () {
60
+ var worker;
61
+ return __generator(this, function (_a) {
62
+ switch (_a.label) {
63
+ case 0: return [4 /*yield*/, workerAccessor(resource)];
64
+ case 1:
65
+ worker = _a.sent();
66
+ return [2 /*return*/, worker.getClassifications(resource.toString())];
67
+ }
68
+ });
69
+ }); };
70
+ return new SemanticTokensProvider(classificationsGetter);
23
71
  }