@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.
- package/README.md +9 -1
- package/package.json +2 -2
- package/release/dev/kusto.javascript.client.min.js +1 -1
- package/release/dev/kustoMode.js +1771 -4
- package/release/dev/kustoWorker.js +2 -2
- package/release/dev/{main-f36cb42f.js → main-1546c7f5.js} +2 -2
- package/release/dev/monaco.contribution.js +73 -76
- package/release/dev/{schema-077630e6.js → schema-9341f93e.js} +2 -13
- package/release/dev/types-91878f5b.js +46 -0
- package/release/esm/globals-417d1e2f.js +40 -0
- package/release/esm/kusto.worker.js +11 -11
- package/release/esm/kustoMode.d.ts +8 -4
- package/release/esm/kustoMode.js +89 -92
- package/release/esm/languageFeatures.d.ts +1 -1
- package/release/esm/languageServiceManager/schema.d.ts +2 -2
- package/release/esm/monaco.contribution.js +20 -55
- package/release/esm/{schema-b8f0ba9b.js → schema-d4e431c7.js} +2 -12
- package/release/esm/syntaxHighlighting/SemanticTokensProvider.d.ts +1 -1
- package/release/esm/syntaxHighlighting/SemanticTokensProvider.js +3 -3
- package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.d.ts +2 -2
- package/release/esm/syntaxHighlighting/semanticTokensProviderRegistrar.js +52 -4
- package/release/min/kusto.javascript.client.min.js +1 -1
- package/release/min/kustoMode.js +2 -2
- package/release/min/kustoWorker.js +2 -2
- package/release/min/{main-86d6c837.js → main-a2b9fd7b.js} +2 -2
- package/release/min/monaco.contribution.js +2 -2
- package/release/min/schema-319a2b5f.js +7 -0
- package/release/min/types-310c0d26.js +7 -0
- package/release/dev/kustoMode-d3f9e09a.js +0 -1818
- package/release/esm/kustoMode-349f5467.js +0 -957
- package/release/min/kustoMode-2dd4a01e.js +0 -7
- package/release/min/schema-a60c216c.js +0 -7
package/release/esm/kustoMode.js
CHANGED
|
@@ -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
|
-
|
|
54
|
-
var
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
100
|
-
|
|
103
|
+
augmentedSetSchema(schema, worker);
|
|
104
|
+
})];
|
|
105
|
+
case 1:
|
|
106
|
+
_a.sent();
|
|
107
|
+
return [2 /*return*/];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
101
110
|
});
|
|
102
|
-
}); };
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
|
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
|
|
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
|
|
123
|
-
|
|
124
|
-
|
|
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(
|
|
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 =
|
|
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.
|
|
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
|
-
|
|
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 = (
|
|
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
|
|
47
|
+
var resource, classifications, semanticTokens;
|
|
48
48
|
return __generator(this, function (_a) {
|
|
49
49
|
switch (_a.label) {
|
|
50
50
|
case 0:
|
|
51
|
-
|
|
52
|
-
return [4 /*yield*/, this.classificationsGetter(
|
|
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 {
|
|
3
|
+
import { AugmentedWorkerAccessor } from '../kustoMode';
|
|
4
4
|
export type SemanticTokensProviderRegistrar = (monacoInstance: typeof monaco, semanticTokensProvider: SemanticTokensProvider) => void;
|
|
5
|
-
export declare function semanticTokensProviderRegistrarCreator(): (monacoInstance: typeof monaco,
|
|
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,
|
|
8
|
-
var semanticTokensProvider = semanticTokensProviderMaker(
|
|
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(
|
|
22
|
-
|
|
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
|
}
|