@microsoft/powerquery-language-services 0.3.31 → 0.3.32
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/lib/powerquery-language-services/analysis/analysis.d.ts +2 -1
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +9 -5
- package/lib/powerquery-language-services/analysis/analysisBase.js +47 -21
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +4 -3
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/commonTypes.js +1 -1
- package/lib/powerquery-language-services/commonTypes.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +5 -7
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +1 -1
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +11 -6
- package/lib/powerquery-language-services/providers/index.d.ts +1 -1
- package/lib/powerquery-language-services/providers/index.js +3 -3
- package/lib/powerquery-language-services/providers/index.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider.d.ts +21 -0
- package/lib/powerquery-language-services/providers/{localDocumentSymbolProvider.js → localDocumentProvider.js} +36 -7
- package/lib/powerquery-language-services/providers/localDocumentProvider.js.map +1 -0
- package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +4 -2
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +6 -0
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/package.json +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +0 -18
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { Hover, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
1
|
+
import type { Hover, Location, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
2
2
|
import { IDisposable } from "../commonTypes";
|
|
3
3
|
import { Inspection } from "..";
|
|
4
4
|
export interface Analysis extends IDisposable {
|
|
5
5
|
getAutocompleteItems(): Promise<Inspection.AutocompleteItem[]>;
|
|
6
|
+
getDefinition(): Promise<Location[]>;
|
|
6
7
|
getHover(): Promise<Hover>;
|
|
7
8
|
getSignatureHelp(): Promise<SignatureHelp>;
|
|
8
9
|
getRenameEdits(newName: string): Promise<TextEdit[]>;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import type { Hover, Range, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
1
|
+
import type { Hover, Location, Range, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
2
|
+
import type { DocumentUri } from "vscode-languageserver-textdocument";
|
|
2
3
|
import { AutocompleteItem } from "../inspection";
|
|
3
|
-
import type {
|
|
4
|
+
import type { IAutocompleteItemProvider, ILocalDocumentProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
4
5
|
import { Inspection } from "..";
|
|
5
6
|
import type { Analysis } from "./analysis";
|
|
6
7
|
import type { AnalysisSettings } from "./analysisSettings";
|
|
7
8
|
export declare abstract class AnalysisBase implements Analysis {
|
|
9
|
+
protected uri: DocumentUri;
|
|
8
10
|
protected analysisSettings: AnalysisSettings;
|
|
9
11
|
protected promiseMaybeInspected: Promise<Inspection.Inspected | undefined>;
|
|
10
|
-
protected languageAutocompleteItemProvider:
|
|
12
|
+
protected languageAutocompleteItemProvider: IAutocompleteItemProvider;
|
|
11
13
|
protected librarySymbolProvider: ISymbolProvider;
|
|
12
|
-
protected
|
|
13
|
-
constructor(analysisSettings: AnalysisSettings, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>);
|
|
14
|
+
protected localDocumentProvider: ILocalDocumentProvider;
|
|
15
|
+
constructor(uri: DocumentUri, analysisSettings: AnalysisSettings, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>);
|
|
14
16
|
getAutocompleteItems(): Promise<AutocompleteItem[]>;
|
|
17
|
+
getDefinition(): Promise<Location[]>;
|
|
15
18
|
getHover(): Promise<Hover>;
|
|
16
19
|
getSignatureHelp(): Promise<SignatureHelp>;
|
|
17
20
|
getRenameEdits(newName: string): Promise<TextEdit[]>;
|
|
@@ -23,6 +26,7 @@ export declare abstract class AnalysisBase implements Analysis {
|
|
|
23
26
|
private static createHoverCalls;
|
|
24
27
|
private static createSignatureHelpCalls;
|
|
25
28
|
private static isValidHoverIdentifier;
|
|
29
|
+
private getMaybeIdentifierContext;
|
|
26
30
|
private getMaybePositionIdentifier;
|
|
27
31
|
private getMaybeActiveNode;
|
|
28
32
|
}
|
|
@@ -21,7 +21,8 @@ const commonTypes_1 = require("../commonTypes");
|
|
|
21
21
|
const scopeUtils_1 = require("../inspection/scope/scopeUtils");
|
|
22
22
|
const providers_1 = require("../providers");
|
|
23
23
|
class AnalysisBase {
|
|
24
|
-
constructor(analysisSettings, promiseMaybeInspected) {
|
|
24
|
+
constructor(uri, analysisSettings, promiseMaybeInspected) {
|
|
25
|
+
this.uri = uri;
|
|
25
26
|
this.analysisSettings = analysisSettings;
|
|
26
27
|
this.promiseMaybeInspected = promiseMaybeInspected;
|
|
27
28
|
const library = analysisSettings.library;
|
|
@@ -33,10 +34,10 @@ class AnalysisBase {
|
|
|
33
34
|
analysisSettings.maybeCreateLibrarySymbolProviderFn !== undefined
|
|
34
35
|
? analysisSettings.maybeCreateLibrarySymbolProviderFn(library)
|
|
35
36
|
: new providers_1.LibrarySymbolProvider(library);
|
|
36
|
-
this.
|
|
37
|
-
analysisSettings.
|
|
38
|
-
? analysisSettings.
|
|
39
|
-
: new providers_1.
|
|
37
|
+
this.localDocumentProvider =
|
|
38
|
+
analysisSettings.maybeCreateLocalDocumentProviderFn !== undefined
|
|
39
|
+
? analysisSettings.maybeCreateLocalDocumentProviderFn(library, uri, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn)
|
|
40
|
+
: new providers_1.LocalDocumentProvider(library, uri, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn);
|
|
40
41
|
}
|
|
41
42
|
getAutocompleteItems() {
|
|
42
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -52,7 +53,7 @@ class AnalysisBase {
|
|
|
52
53
|
// TODO: intellisense improvements
|
|
53
54
|
// - honor expected data type
|
|
54
55
|
// - only include current query name after @
|
|
55
|
-
const [languageResponse, libraryResponse, localDocumentResponse] = yield Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.
|
|
56
|
+
const [languageResponse, libraryResponse, localDocumentResponse] = yield Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.localDocumentProvider], this.analysisSettings.symbolProviderTimeoutInMS));
|
|
56
57
|
const partial = [];
|
|
57
58
|
for (const collection of [localDocumentResponse, languageResponse, libraryResponse]) {
|
|
58
59
|
for (const item of collection) {
|
|
@@ -66,26 +67,29 @@ class AnalysisBase {
|
|
|
66
67
|
return result;
|
|
67
68
|
});
|
|
68
69
|
}
|
|
70
|
+
getDefinition() {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, this.analysisSettings.maybeInitialCorrelationId);
|
|
73
|
+
const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
|
|
74
|
+
if (!maybeIdentifierContext) {
|
|
75
|
+
trace.exit();
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
const result = yield this.localDocumentProvider.getDefinition(maybeIdentifierContext);
|
|
79
|
+
trace.exit();
|
|
80
|
+
return result !== null && result !== void 0 ? result : [];
|
|
81
|
+
});
|
|
82
|
+
}
|
|
69
83
|
getHover() {
|
|
70
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
85
|
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getHover.name, this.analysisSettings.maybeInitialCorrelationId);
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
if (maybeActiveNode === undefined ||
|
|
75
|
-
maybeIdentifierUnderPosition === undefined ||
|
|
76
|
-
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
86
|
+
const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
|
|
87
|
+
if (!maybeIdentifierContext) {
|
|
77
88
|
trace.exit();
|
|
78
89
|
return commonTypes_1.EmptyHover;
|
|
79
90
|
}
|
|
80
|
-
const identifier = maybeIdentifierUnderPosition;
|
|
81
|
-
const context = {
|
|
82
|
-
traceManager: this.analysisSettings.traceManager,
|
|
83
|
-
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
84
|
-
identifier: identifier.literal,
|
|
85
|
-
maybeInitialCorrelationId: trace.id,
|
|
86
|
-
};
|
|
87
91
|
// Result priority is based on the order of the symbol providers
|
|
88
|
-
const result = AnalysisBase.resolveProviders(AnalysisBase.createHoverCalls(
|
|
92
|
+
const result = AnalysisBase.resolveProviders(AnalysisBase.createHoverCalls(maybeIdentifierContext, [this.localDocumentProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptyHover);
|
|
89
93
|
trace.exit();
|
|
90
94
|
return result;
|
|
91
95
|
});
|
|
@@ -109,7 +113,7 @@ class AnalysisBase {
|
|
|
109
113
|
return commonTypes_1.EmptySignatureHelp;
|
|
110
114
|
}
|
|
111
115
|
// Result priority is based on the order of the symbol providers
|
|
112
|
-
const result = AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.
|
|
116
|
+
const result = AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.localDocumentProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptySignatureHelp);
|
|
113
117
|
trace.exit();
|
|
114
118
|
return result;
|
|
115
119
|
});
|
|
@@ -149,7 +153,7 @@ class AnalysisBase {
|
|
|
149
153
|
}
|
|
150
154
|
const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeInclusiveIdentifierUnderPosition.literal);
|
|
151
155
|
if (scopeItem) {
|
|
152
|
-
const maybeValueCreator = (0, scopeUtils_1.
|
|
156
|
+
const maybeValueCreator = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(scopeItem);
|
|
153
157
|
if ((maybeValueCreator === null || maybeValueCreator === void 0 ? void 0 : maybeValueCreator.kind) === "Identifier" /* Identifier */) {
|
|
154
158
|
if (maybeValueCreator.identifierContextKind === "Key" /* Key */ ||
|
|
155
159
|
maybeValueCreator.identifierContextKind === "Parameter" /* Parameter */) {
|
|
@@ -250,6 +254,28 @@ class AnalysisBase {
|
|
|
250
254
|
}
|
|
251
255
|
return true;
|
|
252
256
|
}
|
|
257
|
+
getMaybeIdentifierContext(correlationId) {
|
|
258
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
+
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, correlationId);
|
|
260
|
+
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
261
|
+
const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
|
|
262
|
+
if (maybeActiveNode === undefined ||
|
|
263
|
+
maybeIdentifierUnderPosition === undefined ||
|
|
264
|
+
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
265
|
+
trace.exit();
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
const identifier = maybeIdentifierUnderPosition;
|
|
269
|
+
const context = {
|
|
270
|
+
traceManager: this.analysisSettings.traceManager,
|
|
271
|
+
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
272
|
+
identifier: identifier.literal,
|
|
273
|
+
maybeInitialCorrelationId: trace.id,
|
|
274
|
+
};
|
|
275
|
+
trace.exit();
|
|
276
|
+
return context;
|
|
277
|
+
});
|
|
278
|
+
}
|
|
253
279
|
getMaybePositionIdentifier() {
|
|
254
280
|
return __awaiter(this, void 0, void 0, function* () {
|
|
255
281
|
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,oEAAsD;
|
|
1
|
+
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { DocumentUri } from "vscode-languageserver-textdocument";
|
|
1
2
|
import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace";
|
|
2
|
-
import {
|
|
3
|
+
import { IAutocompleteItemProvider, ILocalDocumentProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
3
4
|
import { Inspection } from "..";
|
|
4
5
|
import { InspectionSettings } from "../inspectionSettings";
|
|
5
6
|
import { Library } from "../library";
|
|
@@ -7,9 +8,9 @@ export interface AnalysisSettings {
|
|
|
7
8
|
readonly createInspectionSettingsFn: () => InspectionSettings;
|
|
8
9
|
readonly isWorkspaceCacheAllowed: boolean;
|
|
9
10
|
readonly library: Library.ILibrary;
|
|
10
|
-
readonly maybeCreateLanguageAutocompleteItemProviderFn?: () =>
|
|
11
|
+
readonly maybeCreateLanguageAutocompleteItemProviderFn?: () => IAutocompleteItemProvider;
|
|
11
12
|
readonly maybeCreateLibrarySymbolProviderFn?: (library: Library.ILibrary) => ISymbolProvider;
|
|
12
|
-
readonly
|
|
13
|
+
readonly maybeCreateLocalDocumentProviderFn?: (library: Library.ILibrary, uri: DocumentUri, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings) => ILocalDocumentProvider;
|
|
13
14
|
readonly maybeInitialCorrelationId: number | undefined;
|
|
14
15
|
readonly symbolProviderTimeoutInMS?: number;
|
|
15
16
|
readonly traceManager: TraceManager;
|
|
@@ -7,7 +7,7 @@ const analysisBase_1 = require("./analysisBase");
|
|
|
7
7
|
const workspaceCache_1 = require("../workspaceCache");
|
|
8
8
|
class DocumentAnalysis extends analysisBase_1.AnalysisBase {
|
|
9
9
|
constructor(textDocument, analysisSettings, position) {
|
|
10
|
-
super(analysisSettings, workspaceCache_1.WorkspaceCacheUtils.getOrCreateInspectedPromise(textDocument, analysisSettings.createInspectionSettingsFn(), position));
|
|
10
|
+
super(textDocument.uri, analysisSettings, workspaceCache_1.WorkspaceCacheUtils.getOrCreateInspectedPromise(textDocument, analysisSettings.createInspectionSettingsFn(), position));
|
|
11
11
|
this.textDocument = textDocument;
|
|
12
12
|
}
|
|
13
13
|
dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,iDAA8C;AAE9C,sDAAwD;AAExD,MAAa,gBAAiB,SAAQ,2BAAY;IAC9C,YAA6B,YAA0B,EAAE,gBAAkC,EAAE,QAAkB;QAC3G,KAAK,CACD,gBAAgB,EAChB,oCAAmB,CAAC,2BAA2B,CAC3C,YAAY,EACZ,gBAAgB,CAAC,0BAA0B,EAAE,EAC7C,QAAQ,CACX,CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,iDAA8C;AAE9C,sDAAwD;AAExD,MAAa,gBAAiB,SAAQ,2BAAY;IAC9C,YAA6B,YAA0B,EAAE,gBAAkC,EAAE,QAAkB;QAC3G,KAAK,CACD,YAAY,CAAC,GAAG,EAChB,gBAAgB,EAChB,oCAAmB,CAAC,2BAA2B,CAC3C,YAAY,EACZ,gBAAgB,CAAC,0BAA0B,EAAE,EAC7C,QAAQ,CACX,CACJ,CAAC;QATuB,iBAAY,GAAZ,YAAY,CAAc;IAUvD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE;YAChD,oCAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAChD;IACL,CAAC;IAES,OAAO,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACJ;AAtBD,4CAsBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocumentUri, TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument";
|
|
2
1
|
import { CompletionItem, CompletionItemKind, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DocumentSymbol, Hover, Position, Range, SignatureHelp, SymbolKind } from "vscode-languageserver-types";
|
|
2
|
+
import { DocumentUri, TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument";
|
|
3
3
|
export type { CompletionItem, Diagnostic, DiagnosticRelatedInformation, DocumentSymbol, DocumentUri, Hover, Position, Range, SignatureHelp, TextDocument, TextDocumentContentChangeEvent, };
|
|
4
4
|
export { CompletionItemKind, DiagnosticSeverity, SymbolKind };
|
|
5
5
|
export interface IDisposable {
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.EmptySignatureHelp = exports.EmptyHover = exports.SymbolKind = exports.DiagnosticSeverity = exports.CompletionItemKind = void 0;
|
|
6
|
-
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
7
6
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
8
7
|
Object.defineProperty(exports, "CompletionItemKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.CompletionItemKind; } });
|
|
9
8
|
Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return vscode_languageserver_types_1.DiagnosticSeverity; } });
|
|
10
9
|
Object.defineProperty(exports, "SymbolKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.SymbolKind; } });
|
|
10
|
+
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
11
11
|
exports.EmptyHover = {
|
|
12
12
|
range: undefined,
|
|
13
13
|
contents: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,6EAYqC;AAgB5B,mGA1BL,gDAAkB,OA0BK;AAAE,mGAvBzB,gDAAkB,OAuByB;AAAE,2FAjB7C,wCAAU,OAiB6C;AAf3D,2FAA+G;AAqBlG,QAAA,UAAU,GAAU;IAC7B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;CACf,CAAC;AAEW,QAAA,kBAAkB,GAAkB;IAC7C,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;CAC7B,CAAC"}
|
|
@@ -11,5 +11,5 @@ export declare function isRecordField(maybeValue: TScopeItem | undefined): maybe
|
|
|
11
11
|
export declare function isSectionMember(maybeValue: TScopeItem | undefined): maybeValue is SectionMemberScopeItem;
|
|
12
12
|
export declare function isUndefined(maybeValue: TScopeItem | undefined): maybeValue is UndefinedScopeItem;
|
|
13
13
|
export declare function findScopeItemByLiteral(nodeScope: NodeScope | undefined, literalString: string): TScopeItem | undefined;
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function maybeScopeCreatorIdentifier(scopeItem: TScopeItem | undefined): Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
|
|
15
15
|
export declare function findDirectUpperScopeExpression(nodeIdMapCollection: NodeIdMap.Collection, nodeId: number): EachExpression | FunctionExpression | LetExpression | RecordExpression | RecordLiteral | SectionMember | undefined;
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.findDirectUpperScopeExpression = exports.
|
|
17
|
+
exports.findDirectUpperScopeExpression = exports.maybeScopeCreatorIdentifier = exports.findScopeItemByLiteral = exports.isUndefined = exports.isSectionMember = exports.isRecordField = exports.isParameter = exports.isLetVariable = exports.isEach = void 0;
|
|
18
18
|
// Copyright (c) Microsoft Corporation.
|
|
19
19
|
// Licensed under the MIT license.
|
|
20
20
|
const PQP = require("@microsoft/powerquery-parser");
|
|
@@ -48,7 +48,7 @@ function findScopeItemByLiteral(nodeScope, literalString) {
|
|
|
48
48
|
return nodeScope === null || nodeScope === void 0 ? void 0 : nodeScope.get(literalString);
|
|
49
49
|
}
|
|
50
50
|
exports.findScopeItemByLiteral = findScopeItemByLiteral;
|
|
51
|
-
function
|
|
51
|
+
function maybeScopeCreatorIdentifier(scopeItem) {
|
|
52
52
|
if (!scopeItem) {
|
|
53
53
|
return undefined;
|
|
54
54
|
}
|
|
@@ -57,18 +57,16 @@ function findTheCreatorIdentifierOfOneScopeItem(scopeItem) {
|
|
|
57
57
|
case "Undefined" /* Undefined */:
|
|
58
58
|
return undefined;
|
|
59
59
|
case "LetVariable" /* LetVariable */:
|
|
60
|
-
return scopeItem.key;
|
|
61
|
-
case "Parameter" /* Parameter */:
|
|
62
|
-
return scopeItem.name;
|
|
63
60
|
case "RecordField" /* RecordField */:
|
|
64
|
-
return scopeItem.key;
|
|
65
61
|
case "SectionMember" /* SectionMember */:
|
|
66
62
|
return scopeItem.key;
|
|
63
|
+
case "Parameter" /* Parameter */:
|
|
64
|
+
return scopeItem.name;
|
|
67
65
|
default:
|
|
68
66
|
throw PQP.Assert.isNever(scopeItem);
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
|
-
exports.
|
|
69
|
+
exports.maybeScopeCreatorIdentifier = maybeScopeCreatorIdentifier;
|
|
72
70
|
function findDirectUpperScopeExpression(nodeIdMapCollection, nodeId) {
|
|
73
71
|
const astNodeById = nodeIdMapCollection.astNodeById;
|
|
74
72
|
const parentIdById = nodeIdMapCollection.parentIdById;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;AA2BpD,0CAAwB;AACxB,oDAAkC;AAElC,SAAgB,MAAM,CAAC,UAAkC;IACrD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,UAAkC;IAC9D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,yCAAgC,CAAC;AAC5D,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,sBAAsB,CAClC,SAAgC,EAChC,aAAqB;IAErB,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AALD,wDAKC;AAED,SAAgB,
|
|
1
|
+
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;AA2BpD,0CAAwB;AACxB,oDAAkC;AAElC,SAAgB,MAAM,CAAC,UAAkC;IACrD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,UAAkC;IAC9D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,yCAAgC,CAAC;AAC5D,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,sBAAsB,CAClC,SAAgC,EAChC,aAAqB;IAErB,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AALD,wDAKC;AAED,SAAgB,2BAA2B,CACvC,SAAiC;IAEjC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,SAAS,CAAC;KACpB;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB,uBAAwB;QACxB;YACI,OAAO,SAAS,CAAC;QAErB,qCAA+B;QAC/B,qCAA+B;QAC/B;YACI,OAAO,SAAS,CAAC,GAAG,CAAC;QAEzB;YACI,OAAO,SAAS,CAAC,IAAI,CAAC;QAE1B;YACI,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC3C;AACL,CAAC;AAvBD,kEAuBC;AAED,SAAgB,8BAA8B,CAC1C,mBAAyC,EACzC,MAAc;IAEd,MAAM,WAAW,GAAgB,mBAAmB,CAAC,WAAW,CAAC;IACjE,MAAM,YAAY,GAAiB,mBAAmB,CAAC,YAAY,CAAC;IAEpE,IAAI,WAAW,GAA0B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjE,OACI,WAAW;QACX,WAAW,CAAC,IAAI,0CAAgC;QAChD,WAAW,CAAC,IAAI,kDAAoC;QACpD,WAAW,CAAC,IAAI,wCAA+B;QAC/C,WAAW,CAAC,IAAI,8CAAkC;QAClD,WAAW,CAAC,IAAI,wCAA+B;QAC/C,WAAW,CAAC,IAAI,wCAA+B,EACjD;QACE,MAAM,eAAe,GAAW,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAClD;IAED,OAAO,WAOQ,CAAC;AACpB,CAAC;AA9BD,wEA8BC"}
|
|
@@ -84,7 +84,7 @@ class InspectionInstance {
|
|
|
84
84
|
else if (oneIdentifierNode.identifierContextKind === "Value" /* Value */) {
|
|
85
85
|
const theScope = this.typeCache.scopeById.get(oneIdentifierNode.id);
|
|
86
86
|
const theScopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(theScope, originLiteral);
|
|
87
|
-
const theCreatorIdentifier = (0, scopeUtils_1.
|
|
87
|
+
const theCreatorIdentifier = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(theScopeItem);
|
|
88
88
|
return theCreatorIdentifier && theCreatorIdentifier.id === valueCreator.id;
|
|
89
89
|
}
|
|
90
90
|
else if (oneIdentifierNode.identifierContextKind === "Key" /* Key */ ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import type { Hover, Range, SignatureHelp } from "vscode-languageserver-types";
|
|
1
|
+
import type { Hover, Location, Range, SignatureHelp } from "vscode-languageserver-types";
|
|
2
2
|
import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace";
|
|
3
3
|
import type { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
4
4
|
import type { AutocompleteItem } from "../inspection/autocomplete/autocompleteItem";
|
|
5
5
|
import type { ILibrary } from "../library/library";
|
|
6
|
-
export interface
|
|
6
|
+
export interface IAutocompleteItemProvider {
|
|
7
7
|
getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<ReadonlyArray<AutocompleteItem>>;
|
|
8
8
|
}
|
|
9
9
|
export interface AutocompleteItemProviderContext extends ProviderContext {
|
|
10
10
|
readonly text?: string;
|
|
11
11
|
readonly tokenKind?: string;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
14
|
-
|
|
13
|
+
export interface IDefinitionProvider {
|
|
14
|
+
getDefinition(context: OverIdentifierProviderContext): Promise<Location[] | null>;
|
|
15
15
|
}
|
|
16
|
-
export interface
|
|
16
|
+
export interface IHoverProvider {
|
|
17
|
+
getHover(context: OverIdentifierProviderContext): Promise<Hover | null>;
|
|
18
|
+
}
|
|
19
|
+
export interface OverIdentifierProviderContext extends ProviderContext {
|
|
17
20
|
readonly identifier: string;
|
|
18
21
|
}
|
|
22
|
+
export interface ILocalDocumentProvider extends IDefinitionProvider, ISymbolProvider {
|
|
23
|
+
}
|
|
19
24
|
export interface ProviderContext {
|
|
20
25
|
readonly traceManager: TraceManager;
|
|
21
26
|
readonly maybeInitialCorrelationId: number | undefined;
|
|
@@ -30,5 +35,5 @@ export interface SignatureProviderContext extends ProviderContext {
|
|
|
30
35
|
readonly isNameInLocalScope: boolean;
|
|
31
36
|
readonly functionType: Type.TPowerQueryType;
|
|
32
37
|
}
|
|
33
|
-
export interface ISymbolProvider extends
|
|
38
|
+
export interface ISymbolProvider extends IAutocompleteItemProvider, IHoverProvider, SignatureHelpProvider, ILibrary {
|
|
34
39
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./commonTypes";
|
|
2
2
|
export { LibrarySymbolProvider } from "./librarySymbolProvider";
|
|
3
3
|
export { LanguageAutocompleteItemProvider } from "./languageCompletionItemProvider";
|
|
4
|
-
export {
|
|
4
|
+
export { LocalDocumentProvider } from "./localDocumentProvider";
|
|
5
5
|
export { NullSymbolProvider } from "./nullSymbolProvider";
|
|
@@ -16,14 +16,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.NullSymbolProvider = exports.
|
|
19
|
+
exports.NullSymbolProvider = exports.LocalDocumentProvider = exports.LanguageAutocompleteItemProvider = exports.LibrarySymbolProvider = void 0;
|
|
20
20
|
__exportStar(require("./commonTypes"), exports);
|
|
21
21
|
var librarySymbolProvider_1 = require("./librarySymbolProvider");
|
|
22
22
|
Object.defineProperty(exports, "LibrarySymbolProvider", { enumerable: true, get: function () { return librarySymbolProvider_1.LibrarySymbolProvider; } });
|
|
23
23
|
var languageCompletionItemProvider_1 = require("./languageCompletionItemProvider");
|
|
24
24
|
Object.defineProperty(exports, "LanguageAutocompleteItemProvider", { enumerable: true, get: function () { return languageCompletionItemProvider_1.LanguageAutocompleteItemProvider; } });
|
|
25
|
-
var
|
|
26
|
-
Object.defineProperty(exports, "
|
|
25
|
+
var localDocumentProvider_1 = require("./localDocumentProvider");
|
|
26
|
+
Object.defineProperty(exports, "LocalDocumentProvider", { enumerable: true, get: function () { return localDocumentProvider_1.LocalDocumentProvider; } });
|
|
27
27
|
var nullSymbolProvider_1 = require("./nullSymbolProvider");
|
|
28
28
|
Object.defineProperty(exports, "NullSymbolProvider", { enumerable: true, get: function () { return nullSymbolProvider_1.NullSymbolProvider; } });
|
|
29
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;;AAElC,gDAA8B;AAE9B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,mFAAoF;AAA3E,kJAAA,gCAAgC,OAAA;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;;AAElC,gDAA8B;AAE9B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,mFAAoF;AAA3E,kJAAA,gCAAgC,OAAA;AACzC,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AutocompleteItemProviderContext, IAutocompleteItemProvider } from "./commonTypes";
|
|
2
2
|
import { AutocompleteItem } from "../inspection/autocomplete/autocompleteItem";
|
|
3
3
|
import { Inspection } from "..";
|
|
4
|
-
export declare class LanguageAutocompleteItemProvider implements
|
|
4
|
+
export declare class LanguageAutocompleteItemProvider implements IAutocompleteItemProvider {
|
|
5
5
|
private readonly maybePromiseInspection;
|
|
6
6
|
private static readonly ExcludedKeywords;
|
|
7
7
|
constructor(maybePromiseInspection: Promise<Inspection.Inspected | undefined>);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hover, SignatureHelp, SignatureInformation } from "vscode-languageserver-types";
|
|
2
|
-
import { AutocompleteItemProviderContext,
|
|
2
|
+
import { AutocompleteItemProviderContext, ISymbolProvider, OverIdentifierProviderContext, SignatureProviderContext } from "./commonTypes";
|
|
3
3
|
import { Library } from "../library";
|
|
4
4
|
import { Inspection } from "..";
|
|
5
5
|
export declare class LibrarySymbolProvider implements ISymbolProvider {
|
|
@@ -8,7 +8,7 @@ export declare class LibrarySymbolProvider implements ISymbolProvider {
|
|
|
8
8
|
protected readonly signatureInformationByLabel: Map<string, SignatureInformation>;
|
|
9
9
|
constructor(library: Library.ILibrary);
|
|
10
10
|
getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<ReadonlyArray<Inspection.AutocompleteItem>>;
|
|
11
|
-
getHover(context:
|
|
11
|
+
getHover(context: OverIdentifierProviderContext): Promise<Hover | null>;
|
|
12
12
|
getSignatureHelp(context: SignatureProviderContext): Promise<SignatureHelp | null>;
|
|
13
13
|
private static getDefinitionKindText;
|
|
14
14
|
private getOrCreateSignatureInformation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"librarySymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/librarySymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,6EAAqG;AACrG,oEAAsD;AAEtD,0FAAwF;AAQxF,wCAAmD;AACnD,8CAAsD;AAItD,MAAa,qBAAqB;IAK9B,YAAY,OAAyB;QACjC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,CAAC;IAED,yCAAyC;IAC5B,oBAAoB,CAC7B,OAAwC;;YAExC,MAAM,KAAK,GAAU,OAAO,CAAC,YAAY,CAAC,KAAK,sDAE3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAC9B,OAAO,CAAC,yBAAyB,CACpC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,EAAE,CAAC;aACb;YAED,MAAM,OAAO,GAAkC,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAuB,OAAO,CAAC,IAAI,CAAC;YAE1D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBACjE,OAAO,CAAC,IAAI,CAAC,kCAAqB,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;aACxG;YAED,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED,yCAAyC;IAC5B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"librarySymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/librarySymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,6EAAqG;AACrG,oEAAsD;AAEtD,0FAAwF;AAQxF,wCAAmD;AACnD,8CAAsD;AAItD,MAAa,qBAAqB;IAK9B,YAAY,OAAyB;QACjC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACrD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,CAAC;IAED,yCAAyC;IAC5B,oBAAoB,CAC7B,OAAwC;;YAExC,MAAM,KAAK,GAAU,OAAO,CAAC,YAAY,CAAC,KAAK,sDAE3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAC9B,OAAO,CAAC,yBAAyB,CACpC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,EAAE,CAAC;aACb;YAED,MAAM,OAAO,GAAkC,EAAE,CAAC;YAClD,MAAM,gBAAgB,GAAuB,OAAO,CAAC,IAAI,CAAC;YAE1D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBACjE,OAAO,CAAC,IAAI,CAAC,kCAAqB,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;aACxG;YAED,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED,yCAAyC;IAC5B,QAAQ,CAAC,OAAsC;;YACxD,MAAM,KAAK,GAAU,OAAO,CAAC,YAAY,CAAC,KAAK,sDAE3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,OAAO,CAAC,yBAAyB,CACpC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,IAAI,CAAC;aACf;YAED,MAAM,iBAAiB,GAAW,OAAO,CAAC,UAAU,CAAC;YACrD,MAAM,eAAe,GAA2C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEhH,IAAI,eAAe,KAAK,SAAS,EAAE;gBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,IAAI,CAAC;aACf;YAED,MAAM,UAAU,GAA+B,eAAe,CAAC;YAC/D,MAAM,cAAc,GAAW,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE5F,MAAM,kBAAkB,GAAW,oBAAS,CAAC,MAAM,CAC/C,UAAU,CAAC,gBAAgB,EAC3B,OAAO,CAAC,YAAY,EACpB,KAAK,CAAC,EAAE,CACX,CAAC;YAEF,MAAM,KAAK,GAAU;gBACjB,QAAQ,EAAE;oBACN,IAAI,EAAE,wCAAU,CAAC,SAAS;oBAC1B,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,IAAI,cAAc,KAAK,iBAAiB,KAAK,kBAAkB,EAAE;iBAC3E;gBACD,KAAK,EAAE,SAAS;aACnB,CAAC;YAEF,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;IAED,yCAAyC;IAC5B,gBAAgB,CAAC,OAAiC;;;YAC3D,MAAM,KAAK,GAAU,OAAO,CAAC,YAAY,CAAC,KAAK,sDAE3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAC1B,OAAO,CAAC,yBAAyB,CACpC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,IAAI,CAAC;aACf;YAED,MAAM,iBAAiB,GAAW,OAAO,CAAC,YAAY,CAAC;YACvD,MAAM,eAAe,GAA2C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAE/G,IAAI,CAAC,sBAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErC,OAAO,IAAI,CAAC;aACf;YAED,MAAM,MAAM,GAAkB;gBAC1B,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,CAAC;gBAC7C,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;aACxE,CAAC;YAEF,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,MAAM,CAAC;;KACjB;IAEO,MAAM,CAAC,qBAAqB,CAAC,IAAmC;QACpE,QAAQ,IAAI,EAAE;YACV;gBACI,OAAO,kBAAkB,CAAC;YAE9B;gBACI,OAAO,kBAAkB,CAAC;YAE9B;gBACI,OAAO,cAAc,CAAC;YAE1B;gBACI,MAAM,0BAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAClC;IACL,CAAC;IAEO,+BAA+B,CAAC,GAAW;QAC/C,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5C,MAAM,UAAU,GAA4B,sBAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAY,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;SAClG;QAED,OAAO,0BAAM,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AA/ID,sDA+IC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Hover, Location, SignatureHelp } from "vscode-languageserver-types";
|
|
2
|
+
import { DocumentUri } from "vscode-languageserver-textdocument";
|
|
3
|
+
import { AutocompleteItemProviderContext, IDefinitionProvider, ISymbolProvider, OverIdentifierProviderContext, SignatureProviderContext } from "./commonTypes";
|
|
4
|
+
import { Inspection, Library } from "..";
|
|
5
|
+
import { InspectionSettings } from "../inspectionSettings";
|
|
6
|
+
export declare class LocalDocumentProvider implements IDefinitionProvider, ISymbolProvider {
|
|
7
|
+
private readonly uri;
|
|
8
|
+
private readonly promiseMaybeInspected;
|
|
9
|
+
private readonly createInspectionSettingsFn;
|
|
10
|
+
readonly externalTypeResolver: Inspection.ExternalType.TExternalTypeResolverFn;
|
|
11
|
+
readonly libraryDefinitions: Library.LibraryDefinitions;
|
|
12
|
+
constructor(library: Library.ILibrary, uri: DocumentUri, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings);
|
|
13
|
+
getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<ReadonlyArray<Inspection.AutocompleteItem>>;
|
|
14
|
+
getDefinition(context: OverIdentifierProviderContext): Promise<Location[] | null>;
|
|
15
|
+
getHover(context: OverIdentifierProviderContext): Promise<Hover | null>;
|
|
16
|
+
getSignatureHelp(context: SignatureProviderContext): Promise<SignatureHelp | null>;
|
|
17
|
+
protected static getHoverForIdentifierPairedExpression(context: OverIdentifierProviderContext, inspectionSettings: InspectionSettings, inspected: Inspection.Inspected, activeNode: Inspection.ActiveNode, correlationId: number): Promise<Hover | undefined>;
|
|
18
|
+
protected static getHoverForScopeItem(context: OverIdentifierProviderContext, nodeScope: Inspection.NodeScope, scopeType: Inspection.ScopeTypeByKey, correlationId: number): Hover | undefined;
|
|
19
|
+
private getMaybeInspectionInvokeExpression;
|
|
20
|
+
private getAutocompleteItemsFromFieldAccess;
|
|
21
|
+
}
|
|
@@ -11,15 +11,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
14
|
+
exports.LocalDocumentProvider = void 0;
|
|
15
15
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
16
16
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
17
17
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
18
18
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
19
19
|
const InspectionUtils = require("../inspectionUtils");
|
|
20
20
|
const __1 = require("..");
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const inspection_1 = require("../inspection");
|
|
22
|
+
class LocalDocumentProvider {
|
|
23
|
+
constructor(library, uri, promiseMaybeInspected, createInspectionSettingsFn) {
|
|
24
|
+
this.uri = uri;
|
|
23
25
|
this.promiseMaybeInspected = promiseMaybeInspected;
|
|
24
26
|
this.createInspectionSettingsFn = createInspectionSettingsFn;
|
|
25
27
|
this.externalTypeResolver = library.externalTypeResolver;
|
|
@@ -41,6 +43,33 @@ class LocalDocumentSymbolProvider {
|
|
|
41
43
|
return result;
|
|
42
44
|
});
|
|
43
45
|
}
|
|
46
|
+
getDefinition(context) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getDefinition.name, context.maybeInitialCorrelationId);
|
|
49
|
+
const maybeInspected = yield this.promiseMaybeInspected;
|
|
50
|
+
if (maybeInspected === undefined) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const triedNodeScope = yield maybeInspected.triedNodeScope;
|
|
54
|
+
if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const maybeScopeItem = triedNodeScope.value.get(context.identifier);
|
|
58
|
+
if (maybeScopeItem === undefined) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const creator = inspection_1.ScopeUtils.maybeScopeCreatorIdentifier(maybeScopeItem);
|
|
62
|
+
if (creator === undefined) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const result = {
|
|
66
|
+
range: __1.PositionUtils.createRangeFromTokenRange(creator.tokenRange),
|
|
67
|
+
uri: this.uri,
|
|
68
|
+
};
|
|
69
|
+
trace.exit();
|
|
70
|
+
return [result];
|
|
71
|
+
});
|
|
72
|
+
}
|
|
44
73
|
getHover(context) {
|
|
45
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
75
|
const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHover.name, context.maybeInitialCorrelationId);
|
|
@@ -54,7 +83,7 @@ class LocalDocumentSymbolProvider {
|
|
|
54
83
|
trace.exit({ outOfBounds: true });
|
|
55
84
|
return null;
|
|
56
85
|
}
|
|
57
|
-
let maybeHover = yield
|
|
86
|
+
let maybeHover = yield LocalDocumentProvider.getHoverForIdentifierPairedExpression(context, this.createInspectionSettingsFn(), maybeInspected, activeNode, trace.id);
|
|
58
87
|
if (maybeHover !== undefined) {
|
|
59
88
|
trace.exit({ maybeHover: true });
|
|
60
89
|
return maybeHover;
|
|
@@ -65,7 +94,7 @@ class LocalDocumentSymbolProvider {
|
|
|
65
94
|
trace.exit({ inspectionError: true });
|
|
66
95
|
return null;
|
|
67
96
|
}
|
|
68
|
-
maybeHover =
|
|
97
|
+
maybeHover = LocalDocumentProvider.getHoverForScopeItem(context, triedNodeScope.value, triedScopeType.value, trace.id);
|
|
69
98
|
trace.exit();
|
|
70
99
|
return maybeHover !== null && maybeHover !== void 0 ? maybeHover : null;
|
|
71
100
|
});
|
|
@@ -192,5 +221,5 @@ class LocalDocumentSymbolProvider {
|
|
|
192
221
|
: [];
|
|
193
222
|
}
|
|
194
223
|
}
|
|
195
|
-
exports.
|
|
196
|
-
//# sourceMappingURL=
|
|
224
|
+
exports.LocalDocumentProvider = LocalDocumentProvider;
|
|
225
|
+
//# sourceMappingURL=localDocumentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localDocumentProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/localDocumentProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Location } from "vscode-languageserver-types";
|
|
2
|
+
import { AutocompleteItemProviderContext, ISymbolProvider, OverIdentifierProviderContext, SignatureProviderContext } from "./commonTypes";
|
|
2
3
|
import { Hover, SignatureHelp } from "../commonTypes";
|
|
3
4
|
import { Inspection, Library } from "..";
|
|
4
5
|
import { AutocompleteItem } from "../inspection/autocomplete";
|
|
@@ -8,6 +9,7 @@ export declare class NullSymbolProvider implements ISymbolProvider {
|
|
|
8
9
|
private static instance;
|
|
9
10
|
static singleton(): NullSymbolProvider;
|
|
10
11
|
getAutocompleteItems(_context: AutocompleteItemProviderContext): Promise<ReadonlyArray<AutocompleteItem>>;
|
|
11
|
-
|
|
12
|
+
getDefinition(_context: OverIdentifierProviderContext): Promise<Location[] | null>;
|
|
13
|
+
getHover(_context: OverIdentifierProviderContext): Promise<Hover | null>;
|
|
12
14
|
getSignatureHelp(_context: SignatureProviderContext): Promise<SignatureHelp | null>;
|
|
13
15
|
}
|
|
@@ -31,6 +31,12 @@ class NullSymbolProvider {
|
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
// eslint-disable-next-line require-await
|
|
34
|
+
getDefinition(_context) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return [];
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
// eslint-disable-next-line require-await
|
|
34
40
|
getHover(_context) {
|
|
35
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
42
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullSymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/nullSymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"nullSymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/nullSymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAWlC,0BAAyC;AAGzC,MAAa,kBAAkB;IAA/B;QACoB,yBAAoB,GAChC,cAAU,CAAC,YAAY,CAAC,wBAAwB,CAAC;QACrC,uBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;IAiC/E,CAAC;IA7BU,MAAM,CAAC,SAAS;QACnB,IAAI,kBAAkB,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC3C,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;SAC1D;QAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,yCAAyC;IAC5B,oBAAoB,CAC7B,QAAyC;;YAEzC,OAAO,EAAE,CAAC;QACd,CAAC;KAAA;IAED,yCAAyC;IAC5B,aAAa,CAAC,QAAuC;;YAC9D,OAAO,EAAE,CAAC;QACd,CAAC;KAAA;IAED,yCAAyC;IAC5B,QAAQ,CAAC,QAAuC;;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED,yCAAyC;IAC5B,gBAAgB,CAAC,QAAkC;;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AApCD,gDAoCC"}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Hover, SignatureHelp } from "vscode-languageserver-types";
|
|
2
|
-
import { AutocompleteItemProviderContext, HoverProviderContext, ISymbolProvider, SignatureProviderContext } from "./commonTypes";
|
|
3
|
-
import { Inspection, Library } from "..";
|
|
4
|
-
import { InspectionSettings } from "../inspectionSettings";
|
|
5
|
-
export declare class LocalDocumentSymbolProvider implements ISymbolProvider {
|
|
6
|
-
private readonly promiseMaybeInspected;
|
|
7
|
-
private readonly createInspectionSettingsFn;
|
|
8
|
-
readonly externalTypeResolver: Inspection.ExternalType.TExternalTypeResolverFn;
|
|
9
|
-
readonly libraryDefinitions: Library.LibraryDefinitions;
|
|
10
|
-
constructor(library: Library.ILibrary, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings);
|
|
11
|
-
getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<ReadonlyArray<Inspection.AutocompleteItem>>;
|
|
12
|
-
getHover(context: HoverProviderContext): Promise<Hover | null>;
|
|
13
|
-
getSignatureHelp(context: SignatureProviderContext): Promise<SignatureHelp | null>;
|
|
14
|
-
protected static getHoverForIdentifierPairedExpression(context: HoverProviderContext, inspectionSettings: InspectionSettings, inspected: Inspection.Inspected, activeNode: Inspection.ActiveNode, correlationId: number): Promise<Hover | undefined>;
|
|
15
|
-
protected static getHoverForScopeItem(context: HoverProviderContext, nodeScope: Inspection.NodeScope, scopeType: Inspection.ScopeTypeByKey, correlationId: number): Hover | undefined;
|
|
16
|
-
private getMaybeInspectionInvokeExpression;
|
|
17
|
-
private getAutocompleteItemsFromFieldAccess;
|
|
18
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localDocumentSymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/localDocumentSymbolProvider.ts"],"names":[],"mappings":"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"}
|