@microsoft/powerquery-language-services 0.2.19 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +4 -6
- package/lib/powerquery-language-services/analysis/analysisBase.js +118 -223
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +2 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js +1 -1
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +0 -2
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +11 -32
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +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/documentSymbols.d.ts +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +62 -111
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/formatter.d.ts +1 -1
- package/lib/powerquery-language-services/formatter.js +35 -34
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.js +2 -2
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +74 -131
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +117 -187
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +28 -28
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +97 -114
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +9 -9
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +43 -56
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +10 -10
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +28 -28
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +28 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +19 -23
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/common.js +2 -13
- package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +36 -25
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +6 -5
- package/lib/powerquery-language-services/inspection/expectedType.js +18 -18
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/externalType/externalType.js +2 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +49 -66
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +74 -99
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/jaroWinkler.js +26 -42
- package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +24 -51
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +221 -275
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/task.js +71 -41
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +354 -339
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +3 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +29 -19
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +27 -17
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +68 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldProjection.d.ts → inspectTypeField/inspectTypeFieldProjection.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +103 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldSelector.d.ts → inspectTypeField/inspectTypeFieldSelector.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +76 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +24 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +65 -55
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +43 -35
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +42 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +55 -64
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +26 -16
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +34 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +33 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +22 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +40 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +27 -28
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +44 -54
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +155 -179
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +36 -37
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +57 -105
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/type/task.js +59 -104
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +2 -0
- package/lib/powerquery-language-services/inspectionUtils.d.ts +5 -4
- package/lib/powerquery-language-services/inspectionUtils.js +80 -134
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.js +11 -11
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.js +9 -13
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +43 -43
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +5 -5
- package/lib/powerquery-language-services/positionUtils.js +47 -33
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +3 -3
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +40 -95
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +63 -138
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +3 -5
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +130 -194
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +18 -52
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validate.js +38 -42
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +82 -127
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +61 -101
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +61 -98
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +112 -122
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +1 -12
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +3 -13
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +7 -8
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +93 -147
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +0 -126
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +0 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +0 -67
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +0 -1
|
@@ -3,30 +3,30 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.autocompleteKeywordListExpression = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
7
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
9
|
+
const __1 = require("../../..");
|
|
10
10
|
function autocompleteKeywordListExpression(state) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const activeNode = state.activeNode;
|
|
12
|
+
const ancestryIndex = state.ancestryIndex;
|
|
13
|
+
const child = state.child;
|
|
14
14
|
// '{' or '}'
|
|
15
15
|
if (child.node.maybeAttributeIndex === 0 || child.node.maybeAttributeIndex === 2) {
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
|
-
powerquery_parser_1.Assert.isTrue(child.node.maybeAttributeIndex === 1,
|
|
18
|
+
powerquery_parser_1.Assert.isTrue(child.node.maybeAttributeIndex === 1, `must be in range [0, 2]`, {
|
|
19
19
|
nodeId: child.node.id,
|
|
20
20
|
maybeAttributeIndex: child.node.maybeAttributeIndex,
|
|
21
21
|
});
|
|
22
22
|
// ListExpression -> ArrayWrapper -> Csv -> X
|
|
23
|
-
|
|
23
|
+
const nodeOrComma = parser_1.AncestryUtils.assertGetNthPreviousXor(activeNode.ancestry, ancestryIndex, 3);
|
|
24
24
|
if (nodeOrComma.node.maybeAttributeIndex !== 0) {
|
|
25
25
|
return undefined;
|
|
26
26
|
}
|
|
27
27
|
// We know it's the node component of the Csv,
|
|
28
28
|
// but we have to drill down one more level if it's a RangeExpression.
|
|
29
|
-
|
|
29
|
+
const itemNode = parser_1.XorNodeUtils.isNodeKind(nodeOrComma, "RangeExpression" /* RangeExpression */)
|
|
30
30
|
? parser_1.AncestryUtils.assertGetNthPreviousXor(activeNode.ancestry, ancestryIndex, 4)
|
|
31
31
|
: nodeOrComma;
|
|
32
32
|
if (parser_1.XorNodeUtils.isContextXor(itemNode) || __1.PositionUtils.isBeforeXor(activeNode.position, itemNode, false)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordListExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordListExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAAkH;AAClH,0FAA2F;AAC3F,oEAAsD;AAItD,gCAAyC;AAEzC,SAAgB,iCAAiC,CAC7C,KAAsC;IAEtC,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAC;IAChD,MAAM,aAAa,GAAW,KAAK,CAAC,aAAa,CAAC;IAClD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IAEpC,aAAa;IACb,IAAI,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE;QAC9E,OAAO,SAAS,CAAC;KACpB;IAED,0BAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE,yBAAyB,EAAE;QAC3E,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACrB,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB;KACtD,CAAC,CAAC;IAEH,6CAA6C;IAC7C,MAAM,WAAW,GAAa,sBAAa,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAE3G,IAAI,WAAW,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,EAAE;QAC5C,OAAO,SAAS,CAAC;KACpB;IAED,8CAA8C;IAC9C,sEAAsE;IACtE,MAAM,QAAQ,GAAa,qBAAY,CAAC,UAAU,CAAC,WAAW,0CAA+B;QACzF,CAAC,CAAC,sBAAa,CAAC,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,WAAW,CAAC;IAElB,IAAI,qBAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,iBAAa,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;QACxG,OAAO,kBAAO,CAAC,sBAAsB,CAAC;KACzC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAnCD,8EAmCC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
2
2
|
import { InspectAutocompleteKeywordState } from "./commonTypes";
|
|
3
|
-
export declare function autocompleteKeywordSectionMember(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined
|
|
3
|
+
export declare function autocompleteKeywordSectionMember(state: InspectAutocompleteKeywordState): Promise<ReadonlyArray<Keyword.KeywordKind> | undefined>;
|
|
@@ -3,40 +3,40 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.autocompleteKeywordSectionMember = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
7
|
+
const common_1 = require("./common");
|
|
8
8
|
function autocompleteKeywordSectionMember(state) {
|
|
9
|
-
|
|
9
|
+
const maybeChildAttributeIndex = state.child.node.maybeAttributeIndex;
|
|
10
10
|
// SectionMember.namePairedExpression
|
|
11
11
|
if (maybeChildAttributeIndex === 2) {
|
|
12
12
|
// A test for 'shared', which as we're on namePairedExpression we either parsed it or skipped it.
|
|
13
|
-
|
|
13
|
+
const maybeSharedConstant = parser_1.NodeIdMapUtils.maybeNthChildChecked(state.nodeIdMapCollection, state.parent.node.id, 1, "Constant" /* Constant */);
|
|
14
14
|
// 'shared' was parsed so we can exit.
|
|
15
15
|
if (maybeSharedConstant !== undefined) {
|
|
16
|
-
return undefined;
|
|
16
|
+
return Promise.resolve(undefined);
|
|
17
17
|
}
|
|
18
18
|
// SectionMember -> IdentifierPairedExpression -> Identifier
|
|
19
|
-
|
|
19
|
+
const maybeName = parser_1.AncestryUtils.maybeNthPreviousXor(state.activeNode.ancestry, state.ancestryIndex, 2);
|
|
20
20
|
// Name hasn't been parsed yet so we can exit.
|
|
21
21
|
if (!maybeName ||
|
|
22
22
|
!parser_1.XorNodeUtils.isAstXorChecked(maybeName, [
|
|
23
23
|
"IdentifierPairedExpression" /* IdentifierPairedExpression */,
|
|
24
24
|
])) {
|
|
25
|
-
return undefined;
|
|
25
|
+
return Promise.resolve(undefined);
|
|
26
26
|
}
|
|
27
27
|
if ("shared" /* Shared */.startsWith(maybeName.node.key.literal)) {
|
|
28
|
-
return ["shared" /* Shared */];
|
|
28
|
+
return Promise.resolve(["shared" /* Shared */]);
|
|
29
29
|
}
|
|
30
|
-
return undefined;
|
|
30
|
+
return Promise.resolve(undefined);
|
|
31
31
|
}
|
|
32
32
|
// `section foo; bar = 1 |` would be expecting a semicolon.
|
|
33
33
|
// The autocomplete should be for the IdentifierPairedExpression found on the previous child index.
|
|
34
34
|
else if (maybeChildAttributeIndex === 3 && parser_1.XorNodeUtils.isContextXor(state.child)) {
|
|
35
|
-
|
|
35
|
+
const identifierPairedExpression = parser_1.NodeIdMapUtils.assertUnboxNthChildAsAstChecked(state.nodeIdMapCollection, state.parent.node.id, 2, "IdentifierPairedExpression" /* IdentifierPairedExpression */);
|
|
36
36
|
return (0, common_1.autocompleteKeywordRightMostLeaf)(state, identifierPairedExpression.id);
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
|
-
return undefined;
|
|
39
|
+
return Promise.resolve(undefined);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
exports.autocompleteKeywordSectionMember = autocompleteKeywordSectionMember;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordSectionMember.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordSectionMember.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAMmE;AAGnE,qCAA4D;AAG5D,SAAgB,gCAAgC,CAC5C,KAAsC;IAEtC,MAAM,wBAAwB,GAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAE1F,qCAAqC;IACrC,IAAI,wBAAwB,KAAK,CAAC,EAAE;QAChC,iGAAiG;QACjG,MAAM,mBAAmB,GACrB,uBAAc,CAAC,oBAAoB,CAC/B,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EACpB,CAAC,4BAEJ,CAAC;QAEN,sCAAsC;QACtC,IAAI,mBAAmB,KAAK,SAAS,EAAE;YACnC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACrC;QAED,4DAA4D;QAC5D,MAAM,SAAS,GAAyB,sBAAa,CAAC,mBAAmB,CACrE,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,aAAa,EACnB,CAAC,CACJ,CAAC;QAEF,8CAA8C;QAC9C,IACI,CAAC,SAAS;YACV,CAAC,qBAAY,CAAC,eAAe,CAAiC,SAAS,EAAE;;aAExE,CAAC,EACJ;YACE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACrC;QAED,IAAI,sBAA2B,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACnE,OAAO,OAAO,CAAC,OAAO,CAAC,uBAA4B,CAAC,CAAC;SACxD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACrC;IACD,2DAA2D;IAC3D,mGAAmG;SAC9F,IAAI,wBAAwB,KAAK,CAAC,IAAI,qBAAY,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC/E,MAAM,0BAA0B,GAC5B,uBAAc,CAAC,+BAA+B,CAC1C,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EACpB,CAAC,gEAEJ,CAAC;QAEN,OAAO,IAAA,yCAAgC,EAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;KACjF;SAAM;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACrC;AACL,CAAC;AA3DD,4EA2DC"}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.autocompleteKeywordTrailingText = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const PQP = require("@microsoft/powerquery-parser");
|
|
7
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
8
8
|
function autocompleteKeywordTrailingText(inspected, trailingToken, maybeAllowedKeywords) {
|
|
9
9
|
if (trailingToken.isInOrOnPosition === false) {
|
|
10
10
|
return inspected;
|
|
11
11
|
}
|
|
12
12
|
powerquery_parser_1.Assert.isTrue(trailingToken.data.length > 0, "trailingToken.data.length > 0");
|
|
13
|
-
|
|
13
|
+
const token = trailingToken;
|
|
14
14
|
maybeAllowedKeywords = maybeAllowedKeywords !== null && maybeAllowedKeywords !== void 0 ? maybeAllowedKeywords : PartialConjunctionKeywordAutocompleteMap.get(token.data[0]);
|
|
15
15
|
if (maybeAllowedKeywords !== undefined) {
|
|
16
|
-
return PQP.ArrayUtils.concatUnique(inspected, maybeAllowedKeywords.filter(
|
|
16
|
+
return PQP.ArrayUtils.concatUnique(inspected, maybeAllowedKeywords.filter((keyword) => keyword.startsWith(token.data)));
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
19
|
return inspected;
|
|
@@ -22,7 +22,7 @@ function autocompleteKeywordTrailingText(inspected, trailingToken, maybeAllowedK
|
|
|
22
22
|
exports.autocompleteKeywordTrailingText = autocompleteKeywordTrailingText;
|
|
23
23
|
// Used with maybeParseError to see if a user could be typing a conjunctive keyword such as 'or'. Eg.
|
|
24
24
|
// 'Details[UserName] <> "" o|'
|
|
25
|
-
|
|
25
|
+
const PartialConjunctionKeywordAutocompleteMap = new Map([
|
|
26
26
|
["a", ["and" /* And */, "as" /* As */]],
|
|
27
27
|
["i", ["is" /* Is */]],
|
|
28
28
|
["m", ["meta" /* Meta */]],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordTrailingText.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordTrailingText.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,oEAAsD;AAKtD,SAAgB,+BAA+B,CAC3C,SAA6C,EAC7C,aAA4B,EAC5B,oBAAoE;IAEpE,IAAI,aAAa,CAAC,gBAAgB,KAAK,KAAK,EAAE;QAC1C,OAAO,SAAS,CAAC;KACpB;IAED,0BAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAC9E,MAAM,KAAK,GAA6B,aAAa,CAAC;IAEtD,oBAAoB,GAAG,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,wCAAwC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3G,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACpC,OAAO,GAAG,CAAC,UAAU,CAAC,YAAY,CAC9B,SAAS,EACT,oBAAoB,CAAC,MAAM,CAAC,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChG,CAAC;KACL;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAtBD,0EAsBC;AAED,qGAAqG;AACrG,+BAA+B;AAC/B,MAAM,wCAAwC,GAAoD,IAAI,GAAG,CAGvG;IACE,CAAC,GAAG,EAAE,gCAAiD,CAAC;IACxD,CAAC,GAAG,EAAE,eAAwB,CAAC;IAC/B,CAAC,GAAG,EAAE,mBAA0B,CAAC;IACjC,CAAC,GAAG,EAAE,eAAwB,CAAC;CAClC,CAAC,CAAC"}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
2
2
|
import { InspectAutocompleteKeywordState } from "./commonTypes";
|
|
3
|
-
export declare function autocompleteKeywordRightMostLeaf(state: InspectAutocompleteKeywordState, xorNodeId: number): ReadonlyArray<Keyword.KeywordKind> | undefined
|
|
3
|
+
export declare function autocompleteKeywordRightMostLeaf(state: InspectAutocompleteKeywordState, xorNodeId: number): Promise<ReadonlyArray<Keyword.KeywordKind> | undefined>;
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
14
12
|
};
|
|
15
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
14
|
exports.autocompleteKeywordRightMostLeaf = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
16
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
17
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
18
|
+
const autocompleteKeyword_1 = require("./autocompleteKeyword");
|
|
21
19
|
function autocompleteKeywordRightMostLeaf(state, xorNodeId) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// Start a new autocomplete inspection where the ActiveNode's ancestry is the right-most Ast node in the last value.
|
|
28
|
-
var shiftedAncestry = parser_1.AncestryUtils.assertGetAncestry(state.nodeIdMapCollection, maybeRightMostAstLeafForLastValue.id);
|
|
29
|
-
powerquery_parser_1.Assert.isTrue(shiftedAncestry.length >= 2, "shiftedAncestry.length >= 2");
|
|
30
|
-
var shiftedActiveNode = __assign(__assign({}, state.activeNode), { ancestry: shiftedAncestry });
|
|
31
|
-
var inspected = (0, autocompleteKeyword_1.autocompleteKeyword)(state.nodeIdMapCollection, shiftedActiveNode, state.maybeTrailingToken);
|
|
32
|
-
return inspected.map(function (autocompleteItem) {
|
|
33
|
-
if (!language_1.KeywordUtils.isKeyword(autocompleteItem.label)) {
|
|
34
|
-
throw new powerquery_parser_1.CommonError.InvariantError("expected ".concat(autocompleteKeyword_1.autocompleteKeyword.name, " to return only with KeywordKind values for AutocompleteItem.label"));
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
// Grab the right-most Ast node in the last value.
|
|
22
|
+
const maybeRightMostAstLeafForLastValue = yield parser_1.NodeIdMapUtils.maybeRightMostLeaf(state.nodeIdMapCollection, xorNodeId, undefined);
|
|
23
|
+
if (maybeRightMostAstLeafForLastValue === undefined) {
|
|
24
|
+
return undefined;
|
|
35
25
|
}
|
|
36
|
-
|
|
26
|
+
// Start a new autocomplete inspection where the ActiveNode's ancestry is the right-most Ast node in the last value.
|
|
27
|
+
const shiftedAncestry = parser_1.AncestryUtils.assertGetAncestry(state.nodeIdMapCollection, maybeRightMostAstLeafForLastValue.id);
|
|
28
|
+
powerquery_parser_1.Assert.isTrue(shiftedAncestry.length >= 2, "shiftedAncestry.length >= 2");
|
|
29
|
+
const shiftedActiveNode = Object.assign(Object.assign({}, state.activeNode), { ancestry: shiftedAncestry });
|
|
30
|
+
const inspected = yield (0, autocompleteKeyword_1.autocompleteKeyword)(state.nodeIdMapCollection, shiftedActiveNode, state.maybeTrailingToken);
|
|
31
|
+
return inspected.map((autocompleteItem) => {
|
|
32
|
+
if (!language_1.KeywordUtils.isKeyword(autocompleteItem.label)) {
|
|
33
|
+
throw new powerquery_parser_1.CommonError.InvariantError(`expected ${autocompleteKeyword_1.autocompleteKeyword.name} to return only with KeywordKind values for AutocompleteItem.label`);
|
|
34
|
+
}
|
|
35
|
+
return autocompleteItem.label;
|
|
36
|
+
});
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
exports.autocompleteKeywordRightMostLeaf = autocompleteKeywordRightMostLeaf;
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,sFAAoH;AACpH,oEAAmE;AACnE,0FAAyG;AAIzG,+DAA4D;AAG5D,SAAsB,gCAAgC,CAClD,KAAsC,EACtC,SAAiB;;QAEjB,kDAAkD;QAClD,MAAM,iCAAiC,GAA0B,MAAM,uBAAc,CAAC,kBAAkB,CACpG,KAAK,CAAC,mBAAmB,EACzB,SAAS,EACT,SAAS,CACZ,CAAC;QAEF,IAAI,iCAAiC,KAAK,SAAS,EAAE;YACjD,OAAO,SAAS,CAAC;SACpB;QAED,oHAAoH;QACpH,MAAM,eAAe,GAA4B,sBAAa,CAAC,iBAAiB,CAC5E,KAAK,CAAC,mBAAmB,EACzB,iCAAiC,CAAC,EAAE,CACvC,CAAC;QAEF,0BAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAE1E,MAAM,iBAAiB,mCAChB,KAAK,CAAC,UAAU,KACnB,QAAQ,EAAE,eAAe,GAC5B,CAAC;QAEF,MAAM,SAAS,GAAoC,MAAM,IAAA,yCAAmB,EACxE,KAAK,CAAC,mBAAmB,EACzB,iBAAiB,EACjB,KAAK,CAAC,kBAAkB,CAC3B,CAAC;QAEF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,gBAAkC,EAAE,EAAE;YACxD,IAAI,CAAC,uBAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBACjD,MAAM,IAAI,+BAAW,CAAC,cAAc,CAChC,YAAY,yCAAmB,CAAC,IAAI,oEAAoE,CAC3G,CAAC;aACL;YAED,OAAO,gBAAgB,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AA3CD,4EA2CC"}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js
CHANGED
|
@@ -3,19 +3,16 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.tryAutocompleteLanguageConstant = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const PQP = require("@microsoft/powerquery-parser");
|
|
7
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
8
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
9
|
+
const activeNode_1 = require("../activeNode");
|
|
10
|
+
const autocompleteItem_1 = require("./autocompleteItem");
|
|
11
|
+
const __1 = require("../..");
|
|
12
12
|
function tryAutocompleteLanguageConstant(settings, maybeActiveNode) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return autocompleteLanguageConstant(maybeActiveNode);
|
|
17
|
-
});
|
|
18
|
-
trace.exit((_a = {}, _a["IsError" /* IsError */] = powerquery_parser_1.ResultUtils.isError(result), _a));
|
|
13
|
+
const trace = settings.traceManager.entry("LanguageConstant" /* LanguageConstant */, tryAutocompleteLanguageConstant.name);
|
|
14
|
+
const result = powerquery_parser_1.ResultUtils.ensureResult(settings.locale, () => autocompleteLanguageConstant(maybeActiveNode));
|
|
15
|
+
trace.exit({ ["IsError" /* IsError */]: powerquery_parser_1.ResultUtils.isError(result) });
|
|
19
16
|
return result;
|
|
20
17
|
}
|
|
21
18
|
exports.tryAutocompleteLanguageConstant = tryAutocompleteLanguageConstant;
|
|
@@ -23,7 +20,7 @@ function autocompleteLanguageConstant(maybeActiveNode) {
|
|
|
23
20
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
24
21
|
return undefined;
|
|
25
22
|
}
|
|
26
|
-
|
|
23
|
+
const activeNode = maybeActiveNode;
|
|
27
24
|
if (isNullableAllowed(activeNode)) {
|
|
28
25
|
return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("nullable" /* Nullable */);
|
|
29
26
|
}
|
|
@@ -35,10 +32,10 @@ function autocompleteLanguageConstant(maybeActiveNode) {
|
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
34
|
function isNullableAllowed(activeNode) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
for (
|
|
41
|
-
|
|
35
|
+
const ancestry = activeNode.ancestry;
|
|
36
|
+
const numAncestors = ancestry.length;
|
|
37
|
+
for (let index = 0; index < numAncestors; index += 1) {
|
|
38
|
+
const xorNode = ancestry[index];
|
|
42
39
|
switch (xorNode.node.kind) {
|
|
43
40
|
case "AsNullablePrimitiveType" /* AsNullablePrimitiveType */:
|
|
44
41
|
if (isNullableAllowedForAsNullablePrimitiveType(activeNode, index)) {
|
|
@@ -57,25 +54,25 @@ function isNullableAllowed(activeNode) {
|
|
|
57
54
|
return false;
|
|
58
55
|
}
|
|
59
56
|
function isNullableAllowedForAsNullablePrimitiveType(activeNode, ancestryIndex) {
|
|
60
|
-
|
|
57
|
+
const maybeChild = parser_1.AncestryUtils.maybePreviousXor(activeNode.ancestry, ancestryIndex);
|
|
61
58
|
if ((maybeChild === null || maybeChild === void 0 ? void 0 : maybeChild.node.maybeAttributeIndex) !== 1) {
|
|
62
59
|
return false;
|
|
63
60
|
}
|
|
64
61
|
// Ast.AsNullablePrimitiveType.paired: Ast.TNullablePrimitiveType
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
const paired = maybeChild;
|
|
63
|
+
const position = activeNode.position;
|
|
67
64
|
// Ast.PrimitiveType
|
|
68
65
|
if (paired.node.kind === "PrimitiveType" /* PrimitiveType */ && __1.PositionUtils.isBeforeXor(position, paired, false)) {
|
|
69
66
|
return true;
|
|
70
67
|
}
|
|
71
68
|
// Ast.NullablePrimitiveType
|
|
72
69
|
else if (paired.node.kind === "NullablePrimitiveType" /* NullablePrimitiveType */) {
|
|
73
|
-
|
|
70
|
+
const maybeGrandchild = parser_1.AncestryUtils.maybeNthPreviousXor(activeNode.ancestry, ancestryIndex, 2);
|
|
74
71
|
if (maybeGrandchild === undefined) {
|
|
75
72
|
return false;
|
|
76
73
|
}
|
|
77
74
|
// Ast.Constant || Ast.PrimitiveType
|
|
78
|
-
|
|
75
|
+
const grandchild = maybeGrandchild;
|
|
79
76
|
return (
|
|
80
77
|
// Ast.Constant
|
|
81
78
|
grandchild.node.kind === "Constant" /* Constant */ ||
|
|
@@ -90,21 +87,21 @@ function isNullableAllowedForAsNullablePrimitiveType(activeNode, ancestryIndex)
|
|
|
90
87
|
}
|
|
91
88
|
}
|
|
92
89
|
function isOptionalAllowed(activeNode) {
|
|
93
|
-
|
|
90
|
+
const maybeFnExprAncestryIndex = parser_1.AncestryUtils.maybeFirstIndexOfNodeKind(activeNode.ancestry, "FunctionExpression" /* FunctionExpression */);
|
|
94
91
|
if (maybeFnExprAncestryIndex === undefined) {
|
|
95
92
|
return false;
|
|
96
93
|
}
|
|
97
|
-
|
|
94
|
+
const fnExprAncestryIndex = maybeFnExprAncestryIndex;
|
|
98
95
|
// FunctionExpression -> IParenthesisWrapped -> ParameterList -> Csv -> Parameter
|
|
99
|
-
|
|
96
|
+
const maybeParameter = parser_1.AncestryUtils.maybeNthPreviousXorChecked(activeNode.ancestry, fnExprAncestryIndex, 4, "Parameter" /* Parameter */);
|
|
100
97
|
if (maybeParameter === undefined) {
|
|
101
98
|
return false;
|
|
102
99
|
}
|
|
103
|
-
|
|
100
|
+
const maybeChildOfParameter = parser_1.AncestryUtils.maybeNthPreviousXor(activeNode.ancestry, fnExprAncestryIndex, 5);
|
|
104
101
|
if (maybeChildOfParameter === undefined) {
|
|
105
102
|
return true;
|
|
106
103
|
}
|
|
107
|
-
|
|
104
|
+
const childOfParameter = maybeChildOfParameter;
|
|
108
105
|
switch (childOfParameter.node.maybeAttributeIndex) {
|
|
109
106
|
// IParameter.maybeOptionalConstant
|
|
110
107
|
case 0:
|
|
@@ -113,10 +110,10 @@ function isOptionalAllowed(activeNode) {
|
|
|
113
110
|
case 1:
|
|
114
111
|
switch (childOfParameter.kind) {
|
|
115
112
|
case "Ast" /* Ast */: {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return ("optional" /* Optional */.startsWith(
|
|
119
|
-
|
|
113
|
+
const nameAst = parser_1.XorNodeUtils.assertUnboxAstChecked(childOfParameter, "Identifier" /* Identifier */);
|
|
114
|
+
const name = nameAst.literal;
|
|
115
|
+
return ("optional" /* Optional */.startsWith(name) &&
|
|
116
|
+
name !== "optional" /* Optional */ &&
|
|
120
117
|
__1.PositionUtils.isInAst(activeNode.position, nameAst, false, true));
|
|
121
118
|
}
|
|
122
119
|
case "Context" /* Context */:
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":"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"}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js
CHANGED
|
@@ -3,22 +3,20 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.tryAutocompletePrimitiveType = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
7
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
9
|
+
const activeNode_1 = require("../activeNode");
|
|
10
|
+
const autocompleteItem_1 = require("./autocompleteItem");
|
|
11
|
+
const __1 = require("../..");
|
|
12
12
|
function tryAutocompletePrimitiveType(settings, maybeActiveNode, maybeTrailingToken) {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const trace = settings.traceManager.entry("PrimitiveType" /* PrimitiveType */, tryAutocompletePrimitiveType.name);
|
|
14
|
+
let result;
|
|
15
15
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
16
16
|
result = powerquery_parser_1.ResultUtils.boxOk([]);
|
|
17
17
|
}
|
|
18
18
|
else {
|
|
19
|
-
result = powerquery_parser_1.ResultUtils.ensureResult(settings.locale,
|
|
20
|
-
return autocompletePrimitiveType(maybeActiveNode, maybeTrailingToken === null || maybeTrailingToken === void 0 ? void 0 : maybeTrailingToken.data);
|
|
21
|
-
});
|
|
19
|
+
result = powerquery_parser_1.ResultUtils.ensureResult(settings.locale, () => autocompletePrimitiveType(maybeActiveNode, maybeTrailingToken === null || maybeTrailingToken === void 0 ? void 0 : maybeTrailingToken.data));
|
|
22
20
|
}
|
|
23
21
|
trace.exit();
|
|
24
22
|
return result;
|
|
@@ -28,28 +26,26 @@ function autocompletePrimitiveType(activeNode, maybeTrailingText) {
|
|
|
28
26
|
return createAutocompleteItems(traverseAncestors(activeNode), maybeTrailingText);
|
|
29
27
|
}
|
|
30
28
|
function createAutocompleteItems(PrimitiveTypeConstants, maybeTrailingText) {
|
|
31
|
-
return PrimitiveTypeConstants.map(
|
|
32
|
-
return autocompleteItem_1.AutocompleteItemUtils.createFromPrimitiveTypeConstant(PrimitiveTypeConstant, maybeTrailingText);
|
|
33
|
-
});
|
|
29
|
+
return PrimitiveTypeConstants.map((PrimitiveTypeConstant) => autocompleteItem_1.AutocompleteItemUtils.createFromPrimitiveTypeConstant(PrimitiveTypeConstant, maybeTrailingText));
|
|
34
30
|
}
|
|
35
31
|
function traverseAncestors(activeNode) {
|
|
36
32
|
if (activeNode.ancestry.length === 0) {
|
|
37
33
|
return [];
|
|
38
34
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
const ancestry = activeNode.ancestry;
|
|
36
|
+
const numAncestors = activeNode.ancestry.length;
|
|
37
|
+
for (let index = 0; index < numAncestors; index += 1) {
|
|
38
|
+
const parent = ancestry[index];
|
|
39
|
+
const maybeChild = ancestry[index - 1];
|
|
44
40
|
// If the node is a context PrimitiveType node,
|
|
45
41
|
// which is created only when a primitive type was expected but there was nothing to parse.
|
|
46
42
|
// `x as |`
|
|
47
|
-
if (parser_1.XorNodeUtils.isContextXorChecked(
|
|
43
|
+
if (parser_1.XorNodeUtils.isContextXorChecked(parent, "PrimitiveType" /* PrimitiveType */)) {
|
|
48
44
|
return language_1.Constant.PrimitiveTypeConstants;
|
|
49
45
|
}
|
|
50
46
|
// If on the second attribute for TypePrimaryType.
|
|
51
47
|
// `type |`
|
|
52
|
-
else if (
|
|
48
|
+
else if (parent.node.kind === "TypePrimaryType" /* TypePrimaryType */) {
|
|
53
49
|
if (maybeChild === undefined) {
|
|
54
50
|
return language_1.Constant.PrimitiveTypeConstants;
|
|
55
51
|
}
|
|
@@ -60,10 +56,10 @@ function traverseAncestors(activeNode) {
|
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
// If on a FunctionExpression parameter.
|
|
63
|
-
else if (
|
|
59
|
+
else if (parent.node.kind === "Parameter" /* Parameter */ &&
|
|
64
60
|
parser_1.AncestryUtils.maybeNthNextXorChecked(ancestry, index, 4, "FunctionExpression" /* FunctionExpression */) !== undefined) {
|
|
65
61
|
// Things get messy when testing if it's on a nullable primitive type OR a primitive type.
|
|
66
|
-
|
|
62
|
+
const maybeGrandchild = parser_1.AncestryUtils.maybeNthPreviousXor(ancestry, index, 2);
|
|
67
63
|
if (maybeGrandchild === undefined) {
|
|
68
64
|
continue;
|
|
69
65
|
}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,
|
|
1
|
+
{"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.keys = void 0;
|
|
6
|
-
|
|
6
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
7
|
function keys(autocomplete) {
|
|
8
|
-
|
|
8
|
+
let result = [];
|
|
9
9
|
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedFieldAccess) && autocomplete.triedFieldAccess.value !== undefined) {
|
|
10
|
-
result = result.concat(autocomplete.triedFieldAccess.value.autocompleteItems.map(
|
|
10
|
+
result = result.concat(autocomplete.triedFieldAccess.value.autocompleteItems.map((autocompleteItem) => autocompleteItem.label));
|
|
11
11
|
}
|
|
12
12
|
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedKeyword)) {
|
|
13
|
-
result = result.concat(autocomplete.triedKeyword.value.map(
|
|
13
|
+
result = result.concat(autocomplete.triedKeyword.value.map((autocompleteItem) => autocompleteItem.label));
|
|
14
14
|
}
|
|
15
15
|
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedPrimitiveType) && autocomplete.triedPrimitiveType.value !== undefined) {
|
|
16
|
-
result = result.concat(autocomplete.triedPrimitiveType.value.map(
|
|
16
|
+
result = result.concat(autocomplete.triedPrimitiveType.value.map((autocompleteItem) => autocompleteItem.label));
|
|
17
17
|
}
|
|
18
18
|
return result;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oEAA2D;AAK3D,SAAgB,IAAI,CAAC,YAA0B;IAC3C,IAAI,MAAM,GAAa,EAAE,CAAC;IAE1B,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE;QACtG,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CACrD,CAAC,gBAAkC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CACjE,CACJ,CAAC;KACL;IAED,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;QAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,gBAAkC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACtG,CAAC;KACL;IAED,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,KAAK,SAAS,EAAE;QAC1G,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,gBAAkC,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAC5G,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAxBD,oBAwBC"}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var __assign = (this && this.__assign) || function () {
|
|
5
|
-
__assign = Object.assign || function(t) {
|
|
6
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
-
s = arguments[i];
|
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
-
t[p] = s[p];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
14
|
-
};
|
|
15
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
5
|
exports.createTrailingToken = void 0;
|
|
17
|
-
|
|
6
|
+
const __1 = require("../..");
|
|
18
7
|
function createTrailingToken(position, parseErrorToken) {
|
|
19
|
-
return
|
|
8
|
+
return Object.assign(Object.assign({}, parseErrorToken), { isInOrOnPosition: __1.PositionUtils.isInToken(position, parseErrorToken, false, true) });
|
|
20
9
|
}
|
|
21
10
|
exports.createTrailingToken = createTrailingToken;
|
|
22
11
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/common.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/common.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,6BAAsC;AAGtC,SAAgB,mBAAmB,CAAC,QAAkB,EAAE,eAAyC;IAC7F,uCACO,eAAe,KAClB,gBAAgB,EAAE,iBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,IACnF;AACN,CAAC;AALD,kDAKC"}
|
|
@@ -13,7 +13,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.AutocompleteUtils = void 0;
|
|
16
|
-
|
|
16
|
+
const AutocompleteUtils = require("./autocompleteUtils");
|
|
17
17
|
exports.AutocompleteUtils = AutocompleteUtils;
|
|
18
18
|
__exportStar(require("./autocompleteItem"), exports);
|
|
19
19
|
__exportStar(require("./autocompleteKeyword"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;AAElC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;AAElC,yDAAyD;AAEhD,8CAAiB;AAC1B,qDAAmC;AACnC,wDAAsC;AACtC,gDAA8B;AAC9B,yCAAuB"}
|
|
@@ -3,4 +3,4 @@ import { Autocomplete } from "./commonTypes";
|
|
|
3
3
|
import { InspectionSettings } from "../../inspectionSettings";
|
|
4
4
|
import { TMaybeActiveNode } from "../activeNode";
|
|
5
5
|
import { TypeCache } from "../typeCache";
|
|
6
|
-
export declare function autocomplete(settings: InspectionSettings, parseState: PQP.Parser.ParseState, typeCache: TypeCache, maybeActiveNode: TMaybeActiveNode, maybeParseError: PQP.Parser.ParseError.ParseError | undefined): Autocomplete
|
|
6
|
+
export declare function autocomplete(settings: InspectionSettings, parseState: PQP.Parser.ParseState, typeCache: TypeCache, maybeActiveNode: TMaybeActiveNode, maybeParseError: PQP.Parser.ParseError.ParseError | undefined): Promise<Autocomplete>;
|