@microsoft/powerquery-language-services 0.3.27 → 0.3.35
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 +11 -7
- package/lib/powerquery-language-services/analysis/analysisBase.js +77 -44
- 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/activeNode/activeNode.d.ts +17 -2
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -2
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +61 -20
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +4 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.d.ts +4 -0
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +93 -0
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -0
- package/lib/powerquery-language-services/inspection/index.d.ts +1 -0
- package/lib/powerquery-language-services/inspection/index.js +1 -0
- package/lib/powerquery-language-services/inspection/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +1 -2
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +11 -111
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.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 +6 -8
- 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/inspection/type/inspectType/common.d.ts +1 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +26 -89
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +7 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +8 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +4 -8
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +13 -8
- 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 +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} +42 -9
- 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/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +11 -0
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +1 -18
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/package.json +3 -3
- 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;
|
|
26
|
-
private
|
|
27
|
-
private
|
|
29
|
+
private getOnIdentifierProviderContext;
|
|
30
|
+
private getActiveNode;
|
|
31
|
+
private getActiveLeafIdentifier;
|
|
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* () {
|
|
@@ -45,14 +46,14 @@ class AnalysisBase {
|
|
|
45
46
|
traceManager: this.analysisSettings.traceManager,
|
|
46
47
|
maybeInitialCorrelationId: trace.id,
|
|
47
48
|
};
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
context = Object.assign(Object.assign({}, context), { range: __1.CommonTypesUtils.rangeFromTokenRange(
|
|
49
|
+
const maybeActiveLeafIdentifier = yield this.getActiveLeafIdentifier();
|
|
50
|
+
if (maybeActiveLeafIdentifier !== undefined) {
|
|
51
|
+
context = Object.assign(Object.assign({}, context), { range: __1.CommonTypesUtils.rangeFromTokenRange(maybeActiveLeafIdentifier.node.tokenRange), text: maybeActiveLeafIdentifier.normalizedLiteral, tokenKind: maybeActiveLeafIdentifier.node.kind });
|
|
51
52
|
}
|
|
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.getOnIdentifierProviderContext(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.getOnIdentifierProviderContext(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
|
});
|
|
@@ -117,39 +121,42 @@ class AnalysisBase {
|
|
|
117
121
|
getRenameEdits(newName) {
|
|
118
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
119
123
|
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getRenameEdits.name, this.analysisSettings.maybeInitialCorrelationId);
|
|
124
|
+
const maybeLeafIdentifier = yield this.getActiveLeafIdentifier();
|
|
120
125
|
const maybeInspected = yield this.promiseMaybeInspected;
|
|
121
|
-
const activeNode = yield this.getMaybeActiveNode();
|
|
122
126
|
const scopeById = maybeInspected === null || maybeInspected === void 0 ? void 0 : maybeInspected.typeCache.scopeById;
|
|
123
|
-
|
|
124
|
-
if (maybeInspected === undefined || maybeInclusiveIdentifierUnderPosition === undefined) {
|
|
127
|
+
if (maybeInspected === undefined || maybeLeafIdentifier === undefined) {
|
|
125
128
|
trace.exit();
|
|
126
129
|
return [];
|
|
127
130
|
}
|
|
128
131
|
const identifiersToBeEdited = [];
|
|
129
132
|
let valueCreator = undefined;
|
|
130
|
-
if (
|
|
131
|
-
valueCreator =
|
|
133
|
+
if (maybeLeafIdentifier.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
134
|
+
valueCreator = maybeLeafIdentifier.node;
|
|
132
135
|
}
|
|
133
|
-
else if (
|
|
136
|
+
else if ((maybeLeafIdentifier.node.kind === "Identifier" /* Identifier */ ||
|
|
137
|
+
maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */) &&
|
|
138
|
+
scopeById) {
|
|
134
139
|
// need to find this key value and modify all referring it
|
|
135
|
-
const
|
|
136
|
-
|
|
140
|
+
const identifierExpression = maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */
|
|
141
|
+
? maybeLeafIdentifier.node.identifier
|
|
142
|
+
: maybeLeafIdentifier.node;
|
|
143
|
+
switch (identifierExpression.identifierContextKind) {
|
|
137
144
|
case "Key" /* Key */:
|
|
138
145
|
case "Parameter" /* Parameter */:
|
|
139
146
|
// it is the identifier creating the value
|
|
140
|
-
valueCreator =
|
|
147
|
+
valueCreator = identifierExpression;
|
|
141
148
|
break;
|
|
142
149
|
case "Value" /* Value */: {
|
|
143
150
|
// it is the identifier referring the value
|
|
144
|
-
let nodeScope = maybeInspected.typeCache.scopeById.get(
|
|
151
|
+
let nodeScope = maybeInspected.typeCache.scopeById.get(identifierExpression.id);
|
|
145
152
|
// there might be a chance that its scope did not get populated yet, do another try
|
|
146
153
|
if (!nodeScope) {
|
|
147
|
-
yield maybeInspected.tryNodeScope(
|
|
148
|
-
nodeScope = maybeInspected.typeCache.scopeById.get(
|
|
154
|
+
yield maybeInspected.tryNodeScope(identifierExpression.id);
|
|
155
|
+
nodeScope = maybeInspected.typeCache.scopeById.get(identifierExpression.id);
|
|
149
156
|
}
|
|
150
|
-
const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope,
|
|
157
|
+
const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeLeafIdentifier.normalizedLiteral);
|
|
151
158
|
if (scopeItem) {
|
|
152
|
-
const maybeValueCreator = (0, scopeUtils_1.
|
|
159
|
+
const maybeValueCreator = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(scopeItem);
|
|
153
160
|
if ((maybeValueCreator === null || maybeValueCreator === void 0 ? void 0 : maybeValueCreator.kind) === "Identifier" /* Identifier */) {
|
|
154
161
|
if (maybeValueCreator.identifierContextKind === "Key" /* Key */ ||
|
|
155
162
|
maybeValueCreator.identifierContextKind === "Parameter" /* Parameter */) {
|
|
@@ -171,7 +178,7 @@ class AnalysisBase {
|
|
|
171
178
|
case "Keyword" /* Keyword */:
|
|
172
179
|
default:
|
|
173
180
|
// only modify once
|
|
174
|
-
identifiersToBeEdited.push(
|
|
181
|
+
identifiersToBeEdited.push(identifierExpression);
|
|
175
182
|
break;
|
|
176
183
|
}
|
|
177
184
|
}
|
|
@@ -180,8 +187,10 @@ class AnalysisBase {
|
|
|
180
187
|
identifiersToBeEdited.push(...(yield maybeInspected.collectAllIdentifiersBeneath(valueCreator)));
|
|
181
188
|
}
|
|
182
189
|
// if none found, directly put maybeInclusiveIdentifierUnderPosition in if it exists
|
|
183
|
-
if (identifiersToBeEdited.length === 0 &&
|
|
184
|
-
identifiersToBeEdited.push(
|
|
190
|
+
if (identifiersToBeEdited.length === 0 && maybeLeafIdentifier) {
|
|
191
|
+
identifiersToBeEdited.push(maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */
|
|
192
|
+
? maybeLeafIdentifier.node.identifier
|
|
193
|
+
: maybeLeafIdentifier.node);
|
|
185
194
|
}
|
|
186
195
|
const result = identifiersToBeEdited.map((one) => ({
|
|
187
196
|
range: PositionUtils.createRangeFromTokenRange(one.tokenRange),
|
|
@@ -250,13 +259,31 @@ class AnalysisBase {
|
|
|
250
259
|
}
|
|
251
260
|
return true;
|
|
252
261
|
}
|
|
253
|
-
|
|
262
|
+
getOnIdentifierProviderContext(correlationId) {
|
|
254
263
|
return __awaiter(this, void 0, void 0, function* () {
|
|
255
|
-
const
|
|
256
|
-
|
|
264
|
+
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, correlationId);
|
|
265
|
+
const maybeActiveNode = yield this.getActiveNode();
|
|
266
|
+
const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
|
|
267
|
+
if (maybeActiveNode === undefined ||
|
|
268
|
+
maybeIdentifierUnderPosition === undefined ||
|
|
269
|
+
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
270
|
+
trace.exit();
|
|
271
|
+
return undefined;
|
|
272
|
+
}
|
|
273
|
+
const identifier = maybeIdentifierUnderPosition.node.kind === "IdentifierExpression" /* IdentifierExpression */
|
|
274
|
+
? maybeIdentifierUnderPosition.node.identifier
|
|
275
|
+
: maybeIdentifierUnderPosition.node;
|
|
276
|
+
const context = {
|
|
277
|
+
traceManager: this.analysisSettings.traceManager,
|
|
278
|
+
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
279
|
+
identifier,
|
|
280
|
+
maybeInitialCorrelationId: trace.id,
|
|
281
|
+
};
|
|
282
|
+
trace.exit();
|
|
283
|
+
return context;
|
|
257
284
|
});
|
|
258
285
|
}
|
|
259
|
-
|
|
286
|
+
getActiveNode() {
|
|
260
287
|
return __awaiter(this, void 0, void 0, function* () {
|
|
261
288
|
const maybeInspected = yield this.promiseMaybeInspected;
|
|
262
289
|
if (maybeInspected === undefined) {
|
|
@@ -267,6 +294,12 @@ class AnalysisBase {
|
|
|
267
294
|
: undefined;
|
|
268
295
|
});
|
|
269
296
|
}
|
|
297
|
+
getActiveLeafIdentifier() {
|
|
298
|
+
var _a;
|
|
299
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
300
|
+
return (_a = (yield this.getActiveNode())) === null || _a === void 0 ? void 0 : _a.maybeInclusiveIdentifierUnderPosition;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
270
303
|
}
|
|
271
304
|
exports.AnalysisBase = AnalysisBase;
|
|
272
305
|
//# sourceMappingURL=analysisBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
|
|
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"}
|
|
@@ -10,12 +10,27 @@ export interface ActiveNode extends IActiveNode {
|
|
|
10
10
|
readonly kind: ActiveNodeKind.ActiveNode;
|
|
11
11
|
readonly leafKind: ActiveNodeLeafKind;
|
|
12
12
|
readonly ancestry: ReadonlyArray<TXorNode>;
|
|
13
|
-
readonly maybeExclusiveIdentifierUnderPosition:
|
|
14
|
-
readonly maybeInclusiveIdentifierUnderPosition:
|
|
13
|
+
readonly maybeExclusiveIdentifierUnderPosition: TActiveLeafIdentifier | undefined;
|
|
14
|
+
readonly maybeInclusiveIdentifierUnderPosition: TActiveLeafIdentifier | undefined;
|
|
15
15
|
}
|
|
16
16
|
export interface OutOfBoundPosition extends IActiveNode {
|
|
17
17
|
readonly kind: ActiveNodeKind.OutOfBoundPosition;
|
|
18
18
|
}
|
|
19
|
+
export declare type TActiveLeafIdentifier = ActiveLeafIdentifierExpression | ActiveLeafIdentifier;
|
|
20
|
+
export interface IActiveLeafIdentifier<T extends Ast.GeneralizedIdentifier | Ast.Identifier | Ast.IdentifierExpression> {
|
|
21
|
+
readonly node: T;
|
|
22
|
+
readonly normalizedLiteral: string;
|
|
23
|
+
readonly maybeNormalizedRecursiveLiteral: string | undefined;
|
|
24
|
+
readonly isRecursive: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface ActiveLeafIdentifierExpression extends IActiveLeafIdentifier<Ast.IdentifierExpression> {
|
|
27
|
+
readonly node: Ast.IdentifierExpression;
|
|
28
|
+
}
|
|
29
|
+
export interface ActiveLeafIdentifier extends IActiveLeafIdentifier<Ast.GeneralizedIdentifier | Ast.Identifier> {
|
|
30
|
+
readonly node: Ast.GeneralizedIdentifier | Ast.Identifier;
|
|
31
|
+
readonly maybeNormalizedRecursiveLiteral: undefined;
|
|
32
|
+
readonly isRecursive: false;
|
|
33
|
+
}
|
|
19
34
|
export declare const enum ActiveNodeLeafKind {
|
|
20
35
|
AfterAstNode = "AfterAstNode",
|
|
21
36
|
Anchored = "Anchored",
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { NodeIdMap, TXorNode, XorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
2
2
|
import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
3
|
import type { Position } from "vscode-languageserver-types";
|
|
4
|
-
import { ActiveNode,
|
|
4
|
+
import { ActiveNode, OutOfBoundPosition, TMaybeActiveNode } from "./activeNode";
|
|
5
5
|
export declare function maybeActiveNode(nodeIdMapCollection: NodeIdMap.Collection, position: Position): TMaybeActiveNode;
|
|
6
|
-
export declare function createActiveNode(leafKind: ActiveNodeLeafKind, position: Position, ancestry: ReadonlyArray<TXorNode>, maybeExclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined, maybeInclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined): ActiveNode;
|
|
7
6
|
export declare function createOutOfBoundPosition(position: Position): OutOfBoundPosition;
|
|
8
7
|
export declare function assertActiveNode(nodeIdMapCollection: NodeIdMap.Collection, position: Position): ActiveNode;
|
|
9
8
|
export declare function assertGetLeaf(activeNode: ActiveNode): TXorNode;
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.maybeFirstXorOfNodeKind = exports.isPositionInBounds = exports.assertPositionInBounds = exports.assertGetLeaf = exports.assertActiveNode = exports.createOutOfBoundPosition = exports.
|
|
5
|
+
exports.maybeFirstXorOfNodeKind = exports.isPositionInBounds = exports.assertPositionInBounds = exports.assertGetLeaf = exports.assertActiveNode = exports.createOutOfBoundPosition = exports.maybeActiveNode = void 0;
|
|
6
6
|
const PQP = require("@microsoft/powerquery-parser");
|
|
7
7
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
8
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
9
|
const __1 = require("../..");
|
|
9
10
|
// Searches all leaf Ast.TNodes and all Context nodes to find the "active" node.
|
|
10
11
|
// ' 1 + |' -> the second operand, a Context node, in an ArithmeticExpression.
|
|
@@ -58,25 +59,22 @@ function maybeActiveNode(nodeIdMapCollection, position) {
|
|
|
58
59
|
return createOutOfBoundPosition(position);
|
|
59
60
|
}
|
|
60
61
|
const leaf = maybeLeaf;
|
|
61
|
-
const maybeInclusiveIdentifierUnderPosition =
|
|
62
|
+
const maybeInclusiveIdentifierUnderPosition = findLeafIdentifier(nodeIdMapCollection, leaf);
|
|
62
63
|
const maybeExclusiveIdentifierUnderPosition = maybeInclusiveIdentifierUnderPosition &&
|
|
63
|
-
__1.PositionUtils.isInAst(position, maybeInclusiveIdentifierUnderPosition, false, true)
|
|
64
|
+
__1.PositionUtils.isInAst(position, maybeInclusiveIdentifierUnderPosition.node, false, true)
|
|
64
65
|
? maybeInclusiveIdentifierUnderPosition
|
|
65
66
|
: undefined;
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
exports.maybeActiveNode = maybeActiveNode;
|
|
69
|
-
function createActiveNode(leafKind, position, ancestry, maybeExclusiveIdentifierUnderPosition, maybeInclusiveIdentifierUnderPosition) {
|
|
67
|
+
const ancestry = parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id);
|
|
70
68
|
return {
|
|
69
|
+
ancestry,
|
|
71
70
|
kind: "ActiveNode" /* ActiveNode */,
|
|
72
71
|
leafKind,
|
|
73
|
-
position,
|
|
74
|
-
ancestry,
|
|
75
72
|
maybeExclusiveIdentifierUnderPosition,
|
|
76
73
|
maybeInclusiveIdentifierUnderPosition,
|
|
74
|
+
position,
|
|
77
75
|
};
|
|
78
76
|
}
|
|
79
|
-
exports.
|
|
77
|
+
exports.maybeActiveNode = maybeActiveNode;
|
|
80
78
|
function createOutOfBoundPosition(position) {
|
|
81
79
|
return {
|
|
82
80
|
kind: "OutOfBoundPosition" /* OutOfBoundPosition */,
|
|
@@ -251,30 +249,73 @@ function maybeFindContext(nodeIdMapCollection, astNodeSearch) {
|
|
|
251
249
|
}
|
|
252
250
|
return maybeCurrent;
|
|
253
251
|
}
|
|
254
|
-
function
|
|
255
|
-
if (parser_1.XorNodeUtils.isContextXor(
|
|
252
|
+
function findLeafIdentifier(nodeIdMapCollection, leafXorNode) {
|
|
253
|
+
if (parser_1.XorNodeUtils.isContextXor(leafXorNode)) {
|
|
256
254
|
return undefined;
|
|
257
255
|
}
|
|
256
|
+
const leaf = leafXorNode.node;
|
|
258
257
|
let identifier;
|
|
258
|
+
const maybeParentId = nodeIdMapCollection.parentIdById.get(leaf.id);
|
|
259
|
+
if (leaf.kind === "Identifier" /* Identifier */) {
|
|
260
|
+
if (maybeParentId === undefined) {
|
|
261
|
+
return undefined;
|
|
262
|
+
}
|
|
263
|
+
const parentId = maybeParentId;
|
|
264
|
+
const maybeParent = parser_1.NodeIdMapUtils.maybeUnboxIfAst(nodeIdMapCollection, parentId);
|
|
265
|
+
if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierPairedExpression" /* IdentifierPairedExpression */) {
|
|
266
|
+
identifier = leaf;
|
|
267
|
+
}
|
|
268
|
+
else if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierExpression" /* IdentifierExpression */) {
|
|
269
|
+
identifier = maybeParent;
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
identifier = leaf;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
259
275
|
// If closestLeaf is '@', then check if it's part of an IdentifierExpression.
|
|
260
|
-
if (leaf.
|
|
261
|
-
const maybeParentId = nodeIdMapCollection.parentIdById.get(leaf.node.id);
|
|
276
|
+
else if (leaf.kind === "Constant" /* Constant */ && leaf.constantKind === "@" /* AtSign */) {
|
|
262
277
|
if (maybeParentId === undefined) {
|
|
263
278
|
return undefined;
|
|
264
279
|
}
|
|
265
280
|
const parentId = maybeParentId;
|
|
266
|
-
const
|
|
267
|
-
if (
|
|
281
|
+
const maybeParent = parser_1.NodeIdMapUtils.maybeUnboxIfAst(nodeIdMapCollection, parentId);
|
|
282
|
+
if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierExpression" /* IdentifierExpression */) {
|
|
283
|
+
identifier = maybeParent;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
268
286
|
return undefined;
|
|
269
287
|
}
|
|
270
|
-
identifier = parent.identifier;
|
|
271
288
|
}
|
|
272
|
-
else if (leaf.
|
|
273
|
-
identifier = leaf
|
|
289
|
+
else if (leaf.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
290
|
+
identifier = leaf;
|
|
274
291
|
}
|
|
275
292
|
else {
|
|
276
293
|
return undefined;
|
|
277
294
|
}
|
|
278
|
-
|
|
295
|
+
let result;
|
|
296
|
+
switch (identifier.kind) {
|
|
297
|
+
case "Identifier" /* Identifier */:
|
|
298
|
+
case "GeneralizedIdentifier" /* GeneralizedIdentifier */:
|
|
299
|
+
result = {
|
|
300
|
+
node: identifier,
|
|
301
|
+
isRecursive: false,
|
|
302
|
+
normalizedLiteral: language_1.TextUtils.normalizeIdentifier(identifier.literal),
|
|
303
|
+
maybeNormalizedRecursiveLiteral: undefined,
|
|
304
|
+
};
|
|
305
|
+
break;
|
|
306
|
+
case "IdentifierExpression" /* IdentifierExpression */: {
|
|
307
|
+
const normalizedLiteral = language_1.TextUtils.normalizeIdentifier(identifier.identifier.literal);
|
|
308
|
+
result = {
|
|
309
|
+
node: identifier,
|
|
310
|
+
isRecursive: Boolean(identifier.maybeInclusiveConstant),
|
|
311
|
+
normalizedLiteral,
|
|
312
|
+
maybeNormalizedRecursiveLiteral: `@${normalizedLiteral}`,
|
|
313
|
+
};
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
default:
|
|
317
|
+
throw PQP.Assert.isNever(identifier);
|
|
318
|
+
}
|
|
319
|
+
return result;
|
|
279
320
|
}
|
|
280
321
|
//# sourceMappingURL=activeNodeUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,sFAOmE;
|
|
1
|
+
{"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ function autocompleteKeyword(nodeIdMapCollection, activeNode, maybeTrailingToken
|
|
|
42
42
|
let maybePositionName;
|
|
43
43
|
if (__1.PositionUtils.isInXor(nodeIdMapCollection, activeNode.position, ancestryLeaf, false, true)) {
|
|
44
44
|
if (activeNode.maybeExclusiveIdentifierUnderPosition !== undefined) {
|
|
45
|
-
maybePositionName = activeNode.maybeExclusiveIdentifierUnderPosition.
|
|
45
|
+
maybePositionName = activeNode.maybeExclusiveIdentifierUnderPosition.normalizedLiteral;
|
|
46
46
|
}
|
|
47
47
|
// Matches 'null', 'true', and 'false'.
|
|
48
48
|
else if (parser_1.XorNodeUtils.isAstXorChecked(ancestryLeaf, "LiteralExpression" /* LiteralExpression */) &&
|
|
@@ -66,7 +66,9 @@ function autocompleteKeyword(nodeIdMapCollection, activeNode, maybeTrailingToken
|
|
|
66
66
|
if (maybeEdgeCase !== undefined) {
|
|
67
67
|
return Promise.resolve(maybeEdgeCase);
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
const keywordKinds = yield traverseAncestors(state);
|
|
70
|
+
const keywordsSubset = handleConjunctions(state.activeNode, keywordKinds, maybeTrailingToken);
|
|
71
|
+
return Promise.resolve(createAutocompleteItems(keywordsSubset, maybePositionName));
|
|
70
72
|
});
|
|
71
73
|
}
|
|
72
74
|
exports.autocompleteKeyword = autocompleteKeyword;
|