@kusto/monaco-kusto 5.6.6 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +26 -16
- package/release/dev/commandFormatter.d.ts +6 -0
- package/release/dev/commandHighlighter.d.ts +20 -0
- package/release/dev/extendedEditor.d.ts +7 -0
- package/release/dev/kustoMode.d.ts +8 -0
- package/release/dev/kustoMode.js +1730 -3278
- package/release/dev/kustoWorker.d.ts +92 -0
- package/release/dev/kustoWorker.js +5663 -8534
- package/release/dev/languageFeatures.d.ts +91 -0
- package/release/dev/languageService/kustoLanguageService.d.ts +142 -0
- package/release/dev/languageService/kustoMonarchLanguageDefinition.d.ts +1 -0
- package/release/dev/languageService/renderInfo.d.ts +31 -0
- package/release/dev/languageService/schema.d.ts +144 -0
- package/release/dev/languageService/settings.d.ts +30 -0
- package/release/dev/main-24a15f15.js +1958 -0
- package/release/dev/monaco.contribution.d.ts +15 -0
- package/release/dev/monaco.contribution.js +462 -309
- package/release/dev/workerManager.d.ts +23 -0
- package/release/esm/commandFormatter.d.ts +6 -0
- package/release/esm/commandHighlighter.d.ts +20 -0
- package/release/esm/extendedEditor.d.ts +7 -0
- package/release/esm/kusto.worker.js +2224 -5
- package/release/esm/kustoMode.d.ts +8 -0
- package/release/esm/kustoMode.js +1120 -88
- package/release/esm/kustoWorker.d.ts +92 -0
- package/release/esm/languageFeatures.d.ts +91 -0
- package/release/esm/languageService/kustoLanguageService.d.ts +142 -0
- package/release/esm/languageService/kustoMonarchLanguageDefinition.d.ts +1 -0
- package/release/esm/languageService/renderInfo.d.ts +31 -0
- package/release/esm/languageService/schema.d.ts +144 -0
- package/release/esm/languageService/settings.d.ts +30 -0
- package/release/esm/monaco.contribution.d.ts +1 -0
- package/release/esm/monaco.contribution.js +424 -181
- package/release/esm/workerManager.d.ts +23 -0
- package/release/min/commandFormatter.d.ts +6 -0
- package/release/min/commandHighlighter.d.ts +20 -0
- package/release/min/extendedEditor.d.ts +7 -0
- package/release/min/kustoMode.d.ts +8 -0
- package/release/min/kustoMode.js +2 -11
- package/release/min/kustoWorker.d.ts +92 -0
- package/release/min/kustoWorker.js +10 -53
- package/release/min/languageFeatures.d.ts +91 -0
- package/release/min/languageService/kustoLanguageService.d.ts +142 -0
- package/release/min/languageService/kustoMonarchLanguageDefinition.d.ts +1 -0
- package/release/min/languageService/renderInfo.d.ts +31 -0
- package/release/min/languageService/schema.d.ts +144 -0
- package/release/min/languageService/settings.d.ts +30 -0
- package/release/min/main-1108181b.js +7 -0
- package/release/min/monaco.contribution.d.ts +1 -0
- package/release/min/monaco.contribution.js +2 -2
- package/release/min/monaco.d.ts +1 -319
- package/release/min/workerManager.d.ts +23 -0
- package/release/esm/_deps/lodash/lodash.js +0 -17209
- package/release/esm/_deps/vscode-languageserver-types/main.js +0 -1908
- package/release/esm/_deps/xregexp/xregexp-all.js +0 -4652
- package/release/esm/commandFormatter.js +0 -36
- package/release/esm/commandHighlighter.js +0 -51
- package/release/esm/extendedEditor.js +0 -38
- package/release/esm/kustoWorker.js +0 -245
- package/release/esm/languageFeatures.js +0 -1032
- package/release/esm/languageService/kustoLanguageService.js +0 -1912
- package/release/esm/languageService/kustoMonarchLanguageDefinition.js +0 -127
- package/release/esm/languageService/schema.js +0 -64
- package/release/esm/workerManager.js +0 -102
- /package/release/{esm/monaco.d.ts → monaco.d.ts} +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/// <reference types="monaco-editor-core/monaco" />
|
|
2
|
+
/// <reference types="../monaco" />
|
|
3
|
+
import type { LanguageServiceDefaultsImpl } from './monaco.contribution';
|
|
4
|
+
import type { KustoWorker } from './kustoWorker';
|
|
5
|
+
import Uri = monaco.Uri;
|
|
6
|
+
import Position = monaco.Position;
|
|
7
|
+
import Range = monaco.Range;
|
|
8
|
+
import Thenable = monaco.Thenable;
|
|
9
|
+
import CancellationToken = monaco.CancellationToken;
|
|
10
|
+
import type { Schema } from './languageService/schema';
|
|
11
|
+
export interface WorkerAccessor {
|
|
12
|
+
(first: Uri, ...more: Uri[]): Promise<KustoWorker>;
|
|
13
|
+
}
|
|
14
|
+
export declare class DiagnosticsAdapter {
|
|
15
|
+
private _monacoInstance;
|
|
16
|
+
private _languageId;
|
|
17
|
+
private _worker;
|
|
18
|
+
private defaults;
|
|
19
|
+
private _disposables;
|
|
20
|
+
private _contentListener;
|
|
21
|
+
private _configurationListener;
|
|
22
|
+
private _schemaListener;
|
|
23
|
+
private _cursorListener;
|
|
24
|
+
private _debouncedValidations;
|
|
25
|
+
constructor(_monacoInstance: typeof monaco, _languageId: string, _worker: WorkerAccessor, defaults: LanguageServiceDefaultsImpl, onSchemaChange: monaco.IEvent<Schema>);
|
|
26
|
+
private getMonacoCodeActions;
|
|
27
|
+
private getOrCreateDebouncedValidation;
|
|
28
|
+
dispose(): void;
|
|
29
|
+
private _doValidate;
|
|
30
|
+
}
|
|
31
|
+
export declare class ColorizationAdapter {
|
|
32
|
+
private _monacoInstance;
|
|
33
|
+
private _languageId;
|
|
34
|
+
private _worker;
|
|
35
|
+
private _disposables;
|
|
36
|
+
private _contentListener;
|
|
37
|
+
private _configurationListener;
|
|
38
|
+
private _schemaListener;
|
|
39
|
+
private decorations;
|
|
40
|
+
constructor(_monacoInstance: typeof monaco, _languageId: string, _worker: WorkerAccessor, defaults: LanguageServiceDefaultsImpl, onSchemaChange: monaco.IEvent<Schema>);
|
|
41
|
+
dispose(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Return true if the range doesn't intersect any of the line ranges.
|
|
44
|
+
* @param range Range
|
|
45
|
+
* @param impactedLineRanges an array of line ranges
|
|
46
|
+
*/
|
|
47
|
+
private _rangeDoesNotIntersectAny;
|
|
48
|
+
private _doColorization;
|
|
49
|
+
}
|
|
50
|
+
export declare class CompletionAdapter implements monaco.languages.CompletionItemProvider {
|
|
51
|
+
private _worker;
|
|
52
|
+
private languageSettings;
|
|
53
|
+
constructor(_worker: WorkerAccessor, languageSettings: monaco.languages.kusto.LanguageSettings);
|
|
54
|
+
get triggerCharacters(): string[];
|
|
55
|
+
provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.CompletionContext, token: CancellationToken): Thenable<monaco.languages.CompletionList>;
|
|
56
|
+
}
|
|
57
|
+
export declare class DefinitionAdapter {
|
|
58
|
+
private _worker;
|
|
59
|
+
constructor(_worker: WorkerAccessor);
|
|
60
|
+
provideDefinition(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Definition>;
|
|
61
|
+
}
|
|
62
|
+
export declare class ReferenceAdapter implements monaco.languages.ReferenceProvider {
|
|
63
|
+
private _worker;
|
|
64
|
+
constructor(_worker: WorkerAccessor);
|
|
65
|
+
provideReferences(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.ReferenceContext, token: CancellationToken): Thenable<monaco.languages.Location[]>;
|
|
66
|
+
}
|
|
67
|
+
export declare class RenameAdapter implements monaco.languages.RenameProvider {
|
|
68
|
+
private _worker;
|
|
69
|
+
constructor(_worker: WorkerAccessor);
|
|
70
|
+
provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Thenable<monaco.languages.WorkspaceEdit>;
|
|
71
|
+
}
|
|
72
|
+
export declare class DocumentFormatAdapter implements monaco.languages.DocumentFormattingEditProvider {
|
|
73
|
+
private _worker;
|
|
74
|
+
constructor(_worker: WorkerAccessor);
|
|
75
|
+
provideDocumentFormattingEdits(model: monaco.editor.IReadOnlyModel, options: monaco.languages.FormattingOptions, token: CancellationToken): monaco.languages.TextEdit[] | Thenable<monaco.languages.TextEdit[]>;
|
|
76
|
+
}
|
|
77
|
+
export declare class FormatAdapter implements monaco.languages.DocumentRangeFormattingEditProvider {
|
|
78
|
+
private _worker;
|
|
79
|
+
constructor(_worker: WorkerAccessor);
|
|
80
|
+
provideDocumentRangeFormattingEdits(model: monaco.editor.IReadOnlyModel, range: Range, options: monaco.languages.FormattingOptions, token: CancellationToken): monaco.languages.TextEdit[] | Thenable<monaco.languages.TextEdit[]>;
|
|
81
|
+
}
|
|
82
|
+
export declare class FoldingAdapter implements monaco.languages.FoldingRangeProvider {
|
|
83
|
+
private _worker;
|
|
84
|
+
constructor(_worker: WorkerAccessor);
|
|
85
|
+
provideFoldingRanges(model: monaco.editor.ITextModel, context: monaco.languages.FoldingContext, token: CancellationToken): monaco.languages.FoldingRange[] | PromiseLike<monaco.languages.FoldingRange[]>;
|
|
86
|
+
}
|
|
87
|
+
export declare class HoverAdapter implements monaco.languages.HoverProvider {
|
|
88
|
+
private _worker;
|
|
89
|
+
constructor(_worker: WorkerAccessor);
|
|
90
|
+
provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Hover>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/// <reference types="@kusto/language-service-next/Kusto.Language.Bridge" />
|
|
2
|
+
/// <reference types="@kusto/language-service/Kusto.JavaScript.Client" />
|
|
3
|
+
import * as s from './schema';
|
|
4
|
+
import * as ls from 'vscode-languageserver-types';
|
|
5
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
6
|
+
import type { FoldingRange } from 'vscode-languageserver-types';
|
|
7
|
+
import type { LanguageSettings } from './settings';
|
|
8
|
+
import k = Kusto.Data.IntelliSense;
|
|
9
|
+
import k2 = Kusto.Language.Editor;
|
|
10
|
+
import { Database } from './schema';
|
|
11
|
+
import type { RenderInfo } from './renderInfo';
|
|
12
|
+
export declare enum TokenKind {
|
|
13
|
+
TableToken = 2,
|
|
14
|
+
TableColumnToken = 4,
|
|
15
|
+
OperatorToken = 8,
|
|
16
|
+
SubOperatorToken = 16,
|
|
17
|
+
CalculatedColumnToken = 32,
|
|
18
|
+
StringLiteralToken = 64,
|
|
19
|
+
FunctionNameToken = 128,
|
|
20
|
+
UnknownToken = 256,
|
|
21
|
+
CommentToken = 512,
|
|
22
|
+
PlainTextToken = 1024,
|
|
23
|
+
DataTypeToken = 2048,
|
|
24
|
+
ControlCommandToken = 4096,
|
|
25
|
+
CommandPartToken = 8192,
|
|
26
|
+
QueryParametersToken = 16384,
|
|
27
|
+
CslCommandToken = 32768,
|
|
28
|
+
LetVariablesToken = 65536,
|
|
29
|
+
PluginToken = 131072,
|
|
30
|
+
BracketRangeToken = 262144,
|
|
31
|
+
ClientDirectiveToken = 524288
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A plain old javascript object that is roughly equivalent to the @kusto/language-service-next object, but without
|
|
35
|
+
* all the Bridge.Net properties and methods. this object is being sent from web worker to main thread and turns out
|
|
36
|
+
* that when posting the message we lose all properties (and functions), thus we use a POJO instead.
|
|
37
|
+
* This issue started happening once upgrading to 0.20.0 from 0.15.5.
|
|
38
|
+
*/
|
|
39
|
+
export interface ClassifiedRange {
|
|
40
|
+
kind: k2.ClassificationKind;
|
|
41
|
+
start: number;
|
|
42
|
+
length: number;
|
|
43
|
+
end: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* colorization data for specific line range.
|
|
47
|
+
*/
|
|
48
|
+
export interface ColorizationRange {
|
|
49
|
+
classifications: ClassifiedRange[];
|
|
50
|
+
absoluteStart: number;
|
|
51
|
+
absoluteEnd: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ResultAction {
|
|
54
|
+
title: string;
|
|
55
|
+
changes: {
|
|
56
|
+
start: number;
|
|
57
|
+
deleteLength: number;
|
|
58
|
+
insertText: string | null;
|
|
59
|
+
}[];
|
|
60
|
+
}
|
|
61
|
+
export interface LanguageService {
|
|
62
|
+
doComplete(document: TextDocument, position: ls.Position): Promise<ls.CompletionList>;
|
|
63
|
+
doRangeFormat(document: TextDocument, range: ls.Range): Promise<ls.TextEdit[]>;
|
|
64
|
+
doDocumentFormat(document: TextDocument): Promise<ls.TextEdit[]>;
|
|
65
|
+
doCurrentCommandFormat(document: TextDocument, caretPosition: ls.Position): Promise<ls.TextEdit[]>;
|
|
66
|
+
doFolding(document: TextDocument): Promise<FoldingRange[]>;
|
|
67
|
+
doValidation(document: TextDocument, intervals: {
|
|
68
|
+
start: number;
|
|
69
|
+
end: number;
|
|
70
|
+
}[], includeWarnings?: boolean, includeSuggestions?: boolean): Promise<ls.Diagnostic[]>;
|
|
71
|
+
getResultActions(document: TextDocument, start: number, end: number): Promise<ResultAction[]>;
|
|
72
|
+
doColorization(document: TextDocument, intervals: {
|
|
73
|
+
start: number;
|
|
74
|
+
end: number;
|
|
75
|
+
}[]): Promise<ColorizationRange[]>;
|
|
76
|
+
doRename(document: TextDocument, position: ls.Position, newName: string): Promise<ls.WorkspaceEdit | undefined>;
|
|
77
|
+
doHover(document: TextDocument, position: ls.Position): Promise<ls.Hover | undefined>;
|
|
78
|
+
setParameters(scalarParameters: readonly s.ScalarParameter[], tabularParameters: readonly s.TabularParameter[]): Promise<void>;
|
|
79
|
+
setSchema(schema: s.Schema): Promise<void>;
|
|
80
|
+
setSchemaFromShowSchema(schema: s.showSchema.Result, clusterConnectionString: string, databaseInContextName: string, globalScalarParameters?: s.ScalarParameter[], globalTabularParameters?: s.TabularParameter[]): Promise<void>;
|
|
81
|
+
normalizeSchema(schema: s.showSchema.Result, clusterConnectionString: string, databaseInContextName: string): Promise<s.EngineSchema>;
|
|
82
|
+
getSchema(): Promise<s.Schema>;
|
|
83
|
+
getCommandInContext(document: TextDocument, cursorOffset: number): Promise<string>;
|
|
84
|
+
getCommandAndLocationInContext(document: TextDocument, cursorOffset: number): Promise<{
|
|
85
|
+
text: string;
|
|
86
|
+
location: ls.Location;
|
|
87
|
+
} | null>;
|
|
88
|
+
getCommandsInDocument(document: TextDocument): Promise<{
|
|
89
|
+
absoluteStart: number;
|
|
90
|
+
absoluteEnd: number;
|
|
91
|
+
text: string;
|
|
92
|
+
}[]>;
|
|
93
|
+
configure(languageSettings: LanguageSettings): void;
|
|
94
|
+
getClientDirective(text: string): Promise<{
|
|
95
|
+
isClientDirective: boolean;
|
|
96
|
+
directiveWithoutLeadingComments: string;
|
|
97
|
+
}>;
|
|
98
|
+
getAdminCommand(text: string): Promise<{
|
|
99
|
+
isAdminCommand: boolean;
|
|
100
|
+
adminCommandWithoutLeadingComments: string;
|
|
101
|
+
}>;
|
|
102
|
+
findDefinition(document: TextDocument, position: ls.Position): Promise<ls.Location[]>;
|
|
103
|
+
findReferences(document: TextDocument, position: ls.Position): Promise<ls.Location[]>;
|
|
104
|
+
getQueryParams(document: TextDocument, cursorOffset: number): Promise<{
|
|
105
|
+
name: string;
|
|
106
|
+
type: string;
|
|
107
|
+
}[]>;
|
|
108
|
+
getGlobalParams(document: TextDocument): Promise<{
|
|
109
|
+
name: string;
|
|
110
|
+
type: string;
|
|
111
|
+
}[]>;
|
|
112
|
+
getReferencedSymbols(document: TextDocument, offset?: number): Promise<{
|
|
113
|
+
name: string;
|
|
114
|
+
kind: string;
|
|
115
|
+
display: string;
|
|
116
|
+
}[]>;
|
|
117
|
+
getReferencedGlobalParams(document: TextDocument, offset?: number): Promise<{
|
|
118
|
+
name: string;
|
|
119
|
+
type: string;
|
|
120
|
+
}[]>;
|
|
121
|
+
getRenderInfo(document: TextDocument, cursorOffset: number): Promise<RenderInfo | undefined>;
|
|
122
|
+
getDatabaseReferences(document: TextDocument, cursorOffset: number): Promise<DatabaseReference[]>;
|
|
123
|
+
getClusterReferences(document: TextDocument, cursorOffset: number): Promise<ClusterReference[]>;
|
|
124
|
+
addDatabaseToSchema(document: TextDocument, clusterName: string, databaseSchema: Database): Promise<void>;
|
|
125
|
+
addClusterToSchema(document: TextDocument, clusterName: string, databaseNames: string[]): Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
export type CmSchema = {
|
|
128
|
+
accounts: k.KustoIntelliSenseAccountEntity[];
|
|
129
|
+
services: k.KustoIntelliSenseServiceEntity[];
|
|
130
|
+
connectionString: string;
|
|
131
|
+
};
|
|
132
|
+
export interface DatabaseReference {
|
|
133
|
+
databaseName: string;
|
|
134
|
+
clusterName: string;
|
|
135
|
+
}
|
|
136
|
+
export interface ClusterReference {
|
|
137
|
+
clusterName: string;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Obtain an instance of the kusto language service.
|
|
141
|
+
*/
|
|
142
|
+
export declare function getKustoLanguageService(): LanguageService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const KustoLanguageDefinition: any;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare type VisualizationType = 'anomalychart' | 'areachart' | 'barchart' | 'columnchart' | 'ladderchart' | 'linechart' | 'piechart' | 'pivotchart' | 'scatterchart' | 'stackedareachart' | 'timechart' | 'table' | 'timeline' | 'timepivot' | 'card';
|
|
2
|
+
export declare type Scale = 'linear' | 'log';
|
|
3
|
+
export declare type LegendVisibility = 'visible' | 'hidden';
|
|
4
|
+
export declare type YSplit = 'none' | 'axes' | 'panels';
|
|
5
|
+
export declare type Kind = 'default' | 'unstacked' | 'stacked' | 'stacked100' | 'map';
|
|
6
|
+
export interface RenderOptions {
|
|
7
|
+
visualization?: null | VisualizationType;
|
|
8
|
+
title?: null | string;
|
|
9
|
+
xcolumn?: null | string;
|
|
10
|
+
series?: null | string[];
|
|
11
|
+
ycolumns?: null | string[];
|
|
12
|
+
xtitle?: null | string;
|
|
13
|
+
ytitle?: null | string;
|
|
14
|
+
xaxis?: null | Scale;
|
|
15
|
+
yaxis?: null | Scale;
|
|
16
|
+
legend?: null | LegendVisibility;
|
|
17
|
+
ysplit?: null | YSplit;
|
|
18
|
+
accumulate?: null | boolean;
|
|
19
|
+
kind?: null | Kind;
|
|
20
|
+
anomalycolumns?: null | string[];
|
|
21
|
+
ymin?: null | number;
|
|
22
|
+
ymax?: null | number;
|
|
23
|
+
}
|
|
24
|
+
export interface RenderInfo {
|
|
25
|
+
options: RenderOptions;
|
|
26
|
+
location: {
|
|
27
|
+
startOffset: number;
|
|
28
|
+
endOffset: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export type RenderOptionKeys = keyof RenderOptions;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
export interface Column {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
docstring?: string;
|
|
5
|
+
examples?: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface Table {
|
|
8
|
+
name: string;
|
|
9
|
+
entityType?: TableEntityType;
|
|
10
|
+
columns: Column[];
|
|
11
|
+
docstring?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface MaterializedViewTable extends Table {
|
|
14
|
+
entityType: 'MaterializedViewTable';
|
|
15
|
+
mvQuery?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ScalarParameter {
|
|
18
|
+
name: string;
|
|
19
|
+
type?: string;
|
|
20
|
+
cslType?: string;
|
|
21
|
+
docstring?: string;
|
|
22
|
+
cslDefaultValue?: string;
|
|
23
|
+
examples?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface TabularParameter {
|
|
26
|
+
name: string;
|
|
27
|
+
columns: Column[];
|
|
28
|
+
docstring?: string;
|
|
29
|
+
}
|
|
30
|
+
export type InputParameter = ScalarParameter & {
|
|
31
|
+
columns?: ScalarParameter[];
|
|
32
|
+
};
|
|
33
|
+
export interface Function {
|
|
34
|
+
name: string;
|
|
35
|
+
body: string;
|
|
36
|
+
inputParameters: InputParameter[];
|
|
37
|
+
docstring?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface Database {
|
|
40
|
+
name: string;
|
|
41
|
+
tables: Table[];
|
|
42
|
+
functions: Function[];
|
|
43
|
+
majorVersion: number;
|
|
44
|
+
minorVersion: number;
|
|
45
|
+
}
|
|
46
|
+
export type ClusterType = 'Engine' | 'DataManagement' | 'ClusterManager';
|
|
47
|
+
export interface EngineSchema {
|
|
48
|
+
clusterType: 'Engine';
|
|
49
|
+
cluster: {
|
|
50
|
+
connectionString: string;
|
|
51
|
+
databases: Database[];
|
|
52
|
+
};
|
|
53
|
+
database: Database | undefined;
|
|
54
|
+
globalScalarParameters?: ScalarParameter[];
|
|
55
|
+
globalTabularParameters?: TabularParameter[];
|
|
56
|
+
}
|
|
57
|
+
export type TableEntityType = 'Table' | 'ExternalTable' | 'MaterializedViewTable';
|
|
58
|
+
export interface ClusterMangerSchema {
|
|
59
|
+
clusterType: 'ClusterManager';
|
|
60
|
+
accounts: string[];
|
|
61
|
+
services: string[];
|
|
62
|
+
connectionString: string;
|
|
63
|
+
}
|
|
64
|
+
export interface DataManagementSchema {
|
|
65
|
+
clusterType: 'DataManagement';
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Schema types:
|
|
69
|
+
* Engine – The main schema type. Contains clusters, databases, tables, table columns and functions.
|
|
70
|
+
* Cluster Manager – Internal only. A schema for clusters that manages other clusters.
|
|
71
|
+
* Data Management – Internal only. A schema for ingestion point operations.
|
|
72
|
+
*/
|
|
73
|
+
export type Schema = EngineSchema | ClusterMangerSchema | DataManagementSchema;
|
|
74
|
+
export declare const getCslTypeNameFromClrType: (clrType: string) => string;
|
|
75
|
+
export declare const getEntityDataTypeFromCslType: (cslType: string) => string;
|
|
76
|
+
export declare const getCallName: (fn: Function) => string;
|
|
77
|
+
export declare const getExpression: (fn: Function) => string;
|
|
78
|
+
export declare const getInputParametersAsCslString: (inputParameters: InputParameter[]) => any;
|
|
79
|
+
/**
|
|
80
|
+
* This is the schema of the output of kusto command
|
|
81
|
+
* .show schema as json
|
|
82
|
+
*/
|
|
83
|
+
export declare namespace showSchema {
|
|
84
|
+
interface Column {
|
|
85
|
+
Name: string;
|
|
86
|
+
Type: string;
|
|
87
|
+
CslType: string;
|
|
88
|
+
DocString?: string;
|
|
89
|
+
Examples?: string[];
|
|
90
|
+
}
|
|
91
|
+
interface Table {
|
|
92
|
+
Name: string;
|
|
93
|
+
EntityType: TableEntityType;
|
|
94
|
+
OrderedColumns: Column[];
|
|
95
|
+
DocString?: string;
|
|
96
|
+
}
|
|
97
|
+
interface Tables {
|
|
98
|
+
[tableName: string]: Table;
|
|
99
|
+
}
|
|
100
|
+
interface ScalarParameter {
|
|
101
|
+
Name: string;
|
|
102
|
+
Type?: string;
|
|
103
|
+
CslType?: string;
|
|
104
|
+
DocString?: string;
|
|
105
|
+
CslDefaultValue?: string;
|
|
106
|
+
}
|
|
107
|
+
interface TabularParameter {
|
|
108
|
+
Name: string;
|
|
109
|
+
Columns: Column[];
|
|
110
|
+
DocString?: string;
|
|
111
|
+
}
|
|
112
|
+
type InputParameter = ScalarParameter & {
|
|
113
|
+
Columns?: ScalarParameter[];
|
|
114
|
+
};
|
|
115
|
+
interface Function {
|
|
116
|
+
Name: string;
|
|
117
|
+
InputParameters: InputParameter[];
|
|
118
|
+
Body: string;
|
|
119
|
+
Folder: string;
|
|
120
|
+
DocString: string;
|
|
121
|
+
FunctionKind: string;
|
|
122
|
+
OutputColumns: any[];
|
|
123
|
+
}
|
|
124
|
+
interface Functions {
|
|
125
|
+
[functionName: string]: Function;
|
|
126
|
+
}
|
|
127
|
+
interface Database {
|
|
128
|
+
Name: string;
|
|
129
|
+
Tables: Tables;
|
|
130
|
+
ExternalTables: Tables;
|
|
131
|
+
MaterializedViews: Table;
|
|
132
|
+
MajorVersion: number;
|
|
133
|
+
MinorVersion: number;
|
|
134
|
+
Functions: Functions;
|
|
135
|
+
DatabaseAccessMode: string;
|
|
136
|
+
}
|
|
137
|
+
interface Databases {
|
|
138
|
+
[dbName: string]: Database;
|
|
139
|
+
}
|
|
140
|
+
interface Result {
|
|
141
|
+
Plugins: Plugin[];
|
|
142
|
+
Databases: Databases;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="../monaco" />
|
|
2
|
+
export interface LanguageSettings {
|
|
3
|
+
includeControlCommands?: boolean;
|
|
4
|
+
newlineAfterPipe?: boolean;
|
|
5
|
+
openSuggestionDialogAfterPreviousSuggestionAccepted?: boolean;
|
|
6
|
+
useIntellisenseV2: boolean;
|
|
7
|
+
useSemanticColorization?: boolean;
|
|
8
|
+
useTokenColorization?: boolean;
|
|
9
|
+
disabledCompletionItems?: string[];
|
|
10
|
+
onDidProvideCompletionItems?: monaco.languages.kusto.OnDidProvideCompletionItems;
|
|
11
|
+
enableHover?: boolean;
|
|
12
|
+
formatter?: FormatterOptions;
|
|
13
|
+
syntaxErrorAsMarkDown?: SyntaxErrorAsMarkDownOptions;
|
|
14
|
+
enableQueryWarnings?: boolean;
|
|
15
|
+
enableQuerySuggestions?: boolean;
|
|
16
|
+
disabledDiagnoticCodes?: string[];
|
|
17
|
+
quickFixCodeActions?: QuickFixCodeActionOptions[];
|
|
18
|
+
enableQuickFixes?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface FormatterOptions {
|
|
21
|
+
indentationSize?: number;
|
|
22
|
+
pipeOperatorStyle?: FormatterPlacementStyle;
|
|
23
|
+
}
|
|
24
|
+
export interface SyntaxErrorAsMarkDownOptions {
|
|
25
|
+
header?: string;
|
|
26
|
+
icon?: string;
|
|
27
|
+
enableSyntaxErrorAsMarkDown?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export type QuickFixCodeActionOptions = 'Extract Expression' | 'Extract Function' | 'Change to';
|
|
30
|
+
export type FormatterPlacementStyle = 'None' | 'NewLine' | 'Smart';
|