@microsoft/powerquery-language-services 0.3.41 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysis.d.ts +17 -9
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +41 -27
- package/lib/powerquery-language-services/analysis/analysisBase.js +519 -179
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +8 -11
- package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js +20 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +4 -6
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +4 -11
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -0
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +66 -0
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -0
- package/lib/powerquery-language-services/formatter.d.ts +1 -1
- package/lib/powerquery-language-services/formatter.js +2 -4
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.d.ts +0 -1
- package/lib/powerquery-language-services/index.js +0 -1
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +78 -83
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +37 -40
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +17 -17
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +43 -43
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +20 -22
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +9 -9
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +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.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +21 -26
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +21 -21
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +12 -12
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +12 -13
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/expectedType.js +8 -8
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +24 -24
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +17 -18
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +20 -22
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +47 -45
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +15 -15
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +4 -4
- package/lib/powerquery-language-services/inspection/task.js +17 -18
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +56 -59
- 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 +4 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.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 +4 -4
- 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 +14 -12
- 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 +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +13 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +13 -14
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +6 -6
- 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 +8 -8
- 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 +9 -9
- 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 +5 -5
- 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 +5 -5
- 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 +4 -4
- 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 +18 -18
- 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 +4 -4
- 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 +7 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +2 -2
- 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 +10 -10
- 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 +6 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +3 -3
- 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 +10 -10
- 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 +7 -6
- 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 +6 -6
- 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 +10 -10
- 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 +35 -41
- 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 +9 -9
- 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 +10 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +5 -5
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
- package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -6
- package/lib/powerquery-language-services/inspectionUtils.js +20 -75
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +9 -9
- package/lib/powerquery-language-services/library/libraryUtils.js +21 -21
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.d.ts +3 -3
- package/lib/powerquery-language-services/localization/localization.js +9 -9
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.js +16 -17
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +38 -13
- package/lib/powerquery-language-services/providers/index.d.ts +2 -2
- package/lib/powerquery-language-services/providers/index.js +4 -4
- package/lib/powerquery-language-services/providers/index.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +4 -4
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +22 -19
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/libraryProvider.d.ts +17 -0
- package/lib/powerquery-language-services/providers/libraryProvider.js +129 -0
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -0
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +3 -3
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +18 -20
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +127 -127
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +45 -43
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +10 -8
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +7 -6
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/traceUtils.d.ts +1 -1
- package/lib/powerquery-language-services/traceUtils.js +1 -1
- package/lib/powerquery-language-services/traceUtils.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.d.ts +2 -2
- package/lib/powerquery-language-services/validate/validate.js +19 -20
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +2 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +24 -54
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -6
- 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 +23 -23
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -0
- package/lib/powerquery-language-services/validate/validateParse.js +74 -0
- package/lib/powerquery-language-services/validate/validateParse.js.map +1 -0
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +13 -14
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +2 -2
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +31 -31
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +3 -3
- package/lib/powerquery-language-services/documentSymbols.d.ts +0 -3
- package/lib/powerquery-language-services/documentSymbols.js +0 -100
- package/lib/powerquery-language-services/documentSymbols.js.map +0 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +0 -15
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +0 -117
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +0 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +0 -4
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +0 -130
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +0 -1
|
@@ -2,10 +2,10 @@ import { Constant, Keyword, Type } from "@microsoft/powerquery-parser/lib/powerq
|
|
|
2
2
|
import type { AutocompleteItem } from "./autocompleteItem";
|
|
3
3
|
import { Inspection } from "../../..";
|
|
4
4
|
import { Library } from "../../../library";
|
|
5
|
-
export declare function createFromFieldAccess(label: string, powerQueryType: Type.TPowerQueryType,
|
|
6
|
-
export declare function createFromKeywordKind(label: Keyword.KeywordKind,
|
|
7
|
-
export declare function createFromLanguageConstant(label: Constant.LanguageConstant,
|
|
8
|
-
export declare function createFromLibraryDefinition(label: string, libraryDefinition: Library.TLibraryDefinition,
|
|
9
|
-
export declare function createFromPrimitiveTypeConstant(label: Constant.PrimitiveTypeConstant,
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
5
|
+
export declare function createFromFieldAccess(label: string, powerQueryType: Type.TPowerQueryType, other?: string): AutocompleteItem;
|
|
6
|
+
export declare function createFromKeywordKind(label: Keyword.KeywordKind, other?: string): AutocompleteItem;
|
|
7
|
+
export declare function createFromLanguageConstant(label: Constant.LanguageConstant, other?: string): AutocompleteItem;
|
|
8
|
+
export declare function createFromLibraryDefinition(label: string, libraryDefinition: Library.TLibraryDefinition, other?: string): Inspection.AutocompleteItem;
|
|
9
|
+
export declare function createFromPrimitiveTypeConstant(label: Constant.PrimitiveTypeConstant, other?: string): AutocompleteItem;
|
|
10
|
+
export declare function fromScopeItem(label: string, scopeItem: Inspection.TScopeItem, powerQueryType: Type.TPowerQueryType, other?: string): AutocompleteItem | undefined;
|
|
11
|
+
export declare function comparer(left: AutocompleteItem, right: AutocompleteItem): number;
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.comparer = exports.fromScopeItem = exports.createFromPrimitiveTypeConstant = exports.createFromLibraryDefinition = exports.createFromLanguageConstant = exports.createFromKeywordKind = exports.createFromFieldAccess = void 0;
|
|
6
6
|
const PQP = require("@microsoft/powerquery-parser");
|
|
7
7
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
8
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
9
9
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
10
10
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
11
11
|
const jaroWinkler_1 = require("../../../jaroWinkler");
|
|
12
|
-
function createFromFieldAccess(label, powerQueryType,
|
|
13
|
-
const jaroWinklerScore =
|
|
12
|
+
function createFromFieldAccess(label, powerQueryType, other) {
|
|
13
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
14
14
|
// If the key is a quoted identifier but doesn't need to be one then slice out the quote contents.
|
|
15
15
|
const identifierKind = PQP.Language.TextUtils.identifierKind(label, false);
|
|
16
16
|
const normalizedLabel = identifierKind === "Quote" /* Quote */ ? label.slice(2, -1) : label;
|
|
@@ -22,8 +22,8 @@ function createFromFieldAccess(label, powerQueryType, maybeOther) {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
exports.createFromFieldAccess = createFromFieldAccess;
|
|
25
|
-
function createFromKeywordKind(label,
|
|
26
|
-
const jaroWinklerScore =
|
|
25
|
+
function createFromKeywordKind(label, other) {
|
|
26
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
27
27
|
return {
|
|
28
28
|
jaroWinklerScore,
|
|
29
29
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
@@ -32,8 +32,8 @@ function createFromKeywordKind(label, maybeOther) {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
exports.createFromKeywordKind = createFromKeywordKind;
|
|
35
|
-
function createFromLanguageConstant(label,
|
|
36
|
-
const jaroWinklerScore =
|
|
35
|
+
function createFromLanguageConstant(label, other) {
|
|
36
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
37
37
|
return {
|
|
38
38
|
jaroWinklerScore,
|
|
39
39
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
@@ -42,8 +42,8 @@ function createFromLanguageConstant(label, maybeOther) {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
exports.createFromLanguageConstant = createFromLanguageConstant;
|
|
45
|
-
function createFromLibraryDefinition(label, libraryDefinition,
|
|
46
|
-
const jaroWinklerScore =
|
|
45
|
+
function createFromLibraryDefinition(label, libraryDefinition, other) {
|
|
46
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
47
47
|
return {
|
|
48
48
|
jaroWinklerScore,
|
|
49
49
|
kind: libraryDefinition.completionItemKind,
|
|
@@ -52,8 +52,8 @@ function createFromLibraryDefinition(label, libraryDefinition, maybeOther) {
|
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
exports.createFromLibraryDefinition = createFromLibraryDefinition;
|
|
55
|
-
function createFromPrimitiveTypeConstant(label,
|
|
56
|
-
const jaroWinklerScore =
|
|
55
|
+
function createFromPrimitiveTypeConstant(label, other) {
|
|
56
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
57
57
|
return {
|
|
58
58
|
jaroWinklerScore,
|
|
59
59
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
@@ -62,12 +62,12 @@ function createFromPrimitiveTypeConstant(label, maybeOther) {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
exports.createFromPrimitiveTypeConstant = createFromPrimitiveTypeConstant;
|
|
65
|
-
function
|
|
65
|
+
function fromScopeItem(label, scopeItem, powerQueryType, other) {
|
|
66
66
|
switch (scopeItem.kind) {
|
|
67
67
|
case "LetVariable" /* LetVariable */:
|
|
68
68
|
case "RecordField" /* RecordField */:
|
|
69
69
|
case "SectionMember" /* SectionMember */:
|
|
70
|
-
if (scopeItem.
|
|
70
|
+
if (scopeItem.value === undefined) {
|
|
71
71
|
return undefined;
|
|
72
72
|
}
|
|
73
73
|
break;
|
|
@@ -85,7 +85,7 @@ function maybeCreateFromScopeItem(label, scopeItem, powerQueryType, maybeOther)
|
|
|
85
85
|
default:
|
|
86
86
|
throw powerquery_parser_1.Assert.isNever(scopeItem);
|
|
87
87
|
}
|
|
88
|
-
const jaroWinklerScore =
|
|
88
|
+
const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
|
|
89
89
|
return {
|
|
90
90
|
jaroWinklerScore,
|
|
91
91
|
kind: vscode_languageserver_types_1.CompletionItemKind.Variable,
|
|
@@ -93,8 +93,8 @@ function maybeCreateFromScopeItem(label, scopeItem, powerQueryType, maybeOther)
|
|
|
93
93
|
powerQueryType,
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
-
exports.
|
|
97
|
-
function
|
|
96
|
+
exports.fromScopeItem = fromScopeItem;
|
|
97
|
+
function comparer(left, right) {
|
|
98
98
|
const jaroWinklerScoreDiff = right.jaroWinklerScore - left.jaroWinklerScore;
|
|
99
99
|
if (jaroWinklerScoreDiff !== 0) {
|
|
100
100
|
return jaroWinklerScoreDiff;
|
|
@@ -109,5 +109,5 @@ function compareFn(left, right) {
|
|
|
109
109
|
return 0;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
exports.
|
|
112
|
+
exports.comparer = comparer;
|
|
113
113
|
//# sourceMappingURL=autocompleteItemUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteItemUtils.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,0FAAiH;AACjH,oEAAsD;AACtD,6EAAiE;AACjE,sFAAyF;AAGzF,sDAA4D;AAI5D,SAAgB,qBAAqB,CACjC,KAAa,EACb,cAAoC,EACpC,
|
|
1
|
+
{"version":3,"file":"autocompleteItemUtils.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
2
|
import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
3
|
-
import { ActiveNode,
|
|
3
|
+
import { ActiveNode, TActiveNode } from "../../activeNode";
|
|
4
4
|
import { AutocompleteItem } from "../autocompleteItem";
|
|
5
5
|
import { TrailingToken, TriedAutocompleteKeyword } from "../commonTypes";
|
|
6
|
-
export declare function tryAutocompleteKeyword(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection,
|
|
7
|
-
export declare function autocompleteKeyword(nodeIdMapCollection: NodeIdMap.Collection, activeNode: ActiveNode,
|
|
6
|
+
export declare function tryAutocompleteKeyword(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, activeNode: TActiveNode, trailingToken: TrailingToken | undefined): Promise<TriedAutocompleteKeyword>;
|
|
7
|
+
export declare function autocompleteKeyword(nodeIdMapCollection: NodeIdMap.Collection, activeNode: ActiveNode, trailingToken: TrailingToken | undefined): Promise<ReadonlyArray<AutocompleteItem>>;
|
|
@@ -26,49 +26,49 @@ const autocompleteKeywordListExpression_1 = require("./autocompleteKeywordListEx
|
|
|
26
26
|
const autocompleteKeywordSectionMember_1 = require("./autocompleteKeywordSectionMember");
|
|
27
27
|
const autocompleteKeywordTrailingText_1 = require("./autocompleteKeywordTrailingText");
|
|
28
28
|
const __1 = require("../../..");
|
|
29
|
-
function tryAutocompleteKeyword(settings, nodeIdMapCollection,
|
|
30
|
-
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(
|
|
29
|
+
function tryAutocompleteKeyword(settings, nodeIdMapCollection, activeNode, trailingToken) {
|
|
30
|
+
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
|
|
31
31
|
return Promise.resolve(powerquery_parser_1.ResultUtils.boxOk([
|
|
32
32
|
...language_1.Keyword.ExpressionKeywordKinds.map((keywordKind) => autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind(keywordKind)),
|
|
33
33
|
autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind("section" /* Section */),
|
|
34
34
|
]));
|
|
35
35
|
}
|
|
36
|
-
return powerquery_parser_1.ResultUtils.ensureResultAsync(() => autocompleteKeyword(nodeIdMapCollection,
|
|
36
|
+
return powerquery_parser_1.ResultUtils.ensureResultAsync(() => autocompleteKeyword(nodeIdMapCollection, activeNode, trailingToken), settings.locale);
|
|
37
37
|
}
|
|
38
38
|
exports.tryAutocompleteKeyword = tryAutocompleteKeyword;
|
|
39
|
-
function autocompleteKeyword(nodeIdMapCollection, activeNode,
|
|
39
|
+
function autocompleteKeyword(nodeIdMapCollection, activeNode, trailingToken) {
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
41
|
const ancestryLeaf = activeNode_1.ActiveNodeUtils.assertGetLeaf(activeNode);
|
|
42
|
-
let
|
|
42
|
+
let positionName;
|
|
43
43
|
if (__1.PositionUtils.isInXor(nodeIdMapCollection, activeNode.position, ancestryLeaf, false, true)) {
|
|
44
|
-
if (activeNode.
|
|
45
|
-
|
|
44
|
+
if (activeNode.exclusiveIdentifierUnderPosition !== undefined) {
|
|
45
|
+
positionName = activeNode.exclusiveIdentifierUnderPosition.normalizedLiteral;
|
|
46
46
|
}
|
|
47
47
|
// Matches 'null', 'true', and 'false'.
|
|
48
48
|
else if (parser_1.XorNodeUtils.isAstXorChecked(ancestryLeaf, "LiteralExpression" /* LiteralExpression */) &&
|
|
49
49
|
(ancestryLeaf.node.literalKind === "Logical" /* Logical */ ||
|
|
50
50
|
ancestryLeaf.node.literalKind === "Null" /* Null */)) {
|
|
51
|
-
|
|
51
|
+
positionName = ancestryLeaf.node.literal;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
if (activeNode.ancestry.length < 2) {
|
|
55
|
-
return Promise.resolve(createAutocompleteItems(handleConjunctions(activeNode, [],
|
|
55
|
+
return Promise.resolve(createAutocompleteItems(handleConjunctions(activeNode, [], trailingToken), positionName));
|
|
56
56
|
}
|
|
57
57
|
const state = {
|
|
58
58
|
nodeIdMapCollection,
|
|
59
59
|
activeNode,
|
|
60
|
-
|
|
60
|
+
trailingToken,
|
|
61
61
|
parent: activeNode.ancestry[1],
|
|
62
62
|
child: activeNode_1.ActiveNodeUtils.assertGetLeaf(activeNode),
|
|
63
63
|
ancestryIndex: 0,
|
|
64
64
|
};
|
|
65
|
-
const
|
|
66
|
-
if (
|
|
67
|
-
return Promise.resolve(
|
|
65
|
+
const edgeCase = findEdgeCase(state, trailingToken);
|
|
66
|
+
if (edgeCase !== undefined) {
|
|
67
|
+
return Promise.resolve(edgeCase);
|
|
68
68
|
}
|
|
69
69
|
const keywordKinds = yield traverseAncestors(state);
|
|
70
|
-
const keywordsSubset = handleConjunctions(state.activeNode, keywordKinds,
|
|
71
|
-
return Promise.resolve(createAutocompleteItems(keywordsSubset,
|
|
70
|
+
const keywordsSubset = handleConjunctions(state.activeNode, keywordKinds, trailingToken);
|
|
71
|
+
return Promise.resolve(createAutocompleteItems(keywordsSubset, positionName));
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
exports.autocompleteKeyword = autocompleteKeyword;
|
|
@@ -87,71 +87,71 @@ function traverseAncestors(state) {
|
|
|
87
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
88
|
const ancestry = state.activeNode.ancestry;
|
|
89
89
|
const numNodes = ancestry.length;
|
|
90
|
-
let
|
|
90
|
+
let inspected;
|
|
91
91
|
for (let ancestryIndex = 1; ancestryIndex < numNodes; ancestryIndex += 1) {
|
|
92
92
|
state.ancestryIndex = ancestryIndex;
|
|
93
93
|
state.parent = ancestry[ancestryIndex];
|
|
94
94
|
state.child = ancestry[ancestryIndex - 1];
|
|
95
95
|
switch (state.parent.node.kind) {
|
|
96
96
|
case "ErrorHandlingExpression" /* ErrorHandlingExpression */:
|
|
97
|
-
|
|
97
|
+
inspected = (0, autocompleteKeywordErrorHandlingExpression_1.autocompleteKeywordErrorHandlingExpression)(state);
|
|
98
98
|
break;
|
|
99
99
|
case "IdentifierPairedExpression" /* IdentifierPairedExpression */:
|
|
100
|
-
|
|
100
|
+
inspected = (0, autocompleteKeywordIdentifierPairedExpression_1.autocompleteKeywordIdentifierPairedExpression)(state);
|
|
101
101
|
break;
|
|
102
102
|
case "LetExpression" /* LetExpression */:
|
|
103
103
|
// eslint-disable-next-line no-await-in-loop
|
|
104
|
-
|
|
104
|
+
inspected = yield (0, autocompleteKeywordLetExpression_1.autocompleteKeywordLetExpression)(state);
|
|
105
105
|
break;
|
|
106
106
|
case "ListExpression" /* ListExpression */:
|
|
107
|
-
|
|
107
|
+
inspected = (0, autocompleteKeywordListExpression_1.autocompleteKeywordListExpression)(state);
|
|
108
108
|
break;
|
|
109
109
|
case "SectionMember" /* SectionMember */:
|
|
110
110
|
// eslint-disable-next-line no-await-in-loop
|
|
111
|
-
|
|
111
|
+
inspected = yield (0, autocompleteKeywordSectionMember_1.autocompleteKeywordSectionMember)(state);
|
|
112
112
|
break;
|
|
113
113
|
default:
|
|
114
|
-
|
|
114
|
+
inspected = (0, autocompleteKeywordDefault_1.autocompleteKeywordDefault)(state);
|
|
115
115
|
}
|
|
116
|
-
if (
|
|
117
|
-
return
|
|
116
|
+
if (inspected !== undefined) {
|
|
117
|
+
return inspected;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
return [];
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
-
function
|
|
123
|
+
function findEdgeCase(state, trailingToken) {
|
|
124
124
|
const activeNode = state.activeNode;
|
|
125
125
|
const ancestry = activeNode.ancestry;
|
|
126
|
-
let
|
|
126
|
+
let inspected;
|
|
127
127
|
// The user is typing in a new file, which the parser defaults to searching for an identifier.
|
|
128
128
|
// `l|` -> `let`
|
|
129
|
-
if (
|
|
129
|
+
if (trailingToken === undefined &&
|
|
130
130
|
ancestry.length === 2 &&
|
|
131
131
|
parser_1.XorNodeUtils.isAstXorChecked(ancestry[0], "Identifier" /* Identifier */) &&
|
|
132
132
|
parser_1.XorNodeUtils.isNodeKind(ancestry[1], "IdentifierExpression" /* IdentifierExpression */)) {
|
|
133
133
|
const identifier = ancestry[0].node.literal;
|
|
134
|
-
|
|
134
|
+
inspected = language_1.Keyword.StartOfDocumentKeywords.map((keywordKind) => autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind(keywordKind, identifier));
|
|
135
135
|
}
|
|
136
136
|
// `(x |) => x+1` -> `(x as|) => x+1`
|
|
137
137
|
else if (parser_1.XorNodeUtils.isAstXorChecked(ancestry[0], "Identifier" /* Identifier */) &&
|
|
138
138
|
parser_1.XorNodeUtils.isNodeKind(ancestry[1], "Parameter" /* Parameter */) &&
|
|
139
139
|
__1.PositionUtils.isAfterAst(activeNode.position, ancestry[0].node, true)) {
|
|
140
|
-
|
|
140
|
+
inspected = [autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind("as" /* As */)];
|
|
141
141
|
}
|
|
142
142
|
// `(foo a|) => foo` -> `(foo as) => foo
|
|
143
|
-
else if ((
|
|
143
|
+
else if ((trailingToken === null || trailingToken === void 0 ? void 0 : trailingToken.data) === "a" &&
|
|
144
144
|
parser_1.XorNodeUtils.isContextXorChecked(ancestry[0], "Constant" /* Constant */) &&
|
|
145
145
|
parser_1.XorNodeUtils.isNodeKind(ancestry[1], "ParameterList" /* ParameterList */) &&
|
|
146
146
|
parser_1.XorNodeUtils.isNodeKind(ancestry[2], "FunctionExpression" /* FunctionExpression */)) {
|
|
147
|
-
|
|
147
|
+
inspected = [autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind("as" /* As */)];
|
|
148
148
|
}
|
|
149
|
-
return
|
|
149
|
+
return inspected;
|
|
150
150
|
}
|
|
151
|
-
function createAutocompleteItems(keywordKinds,
|
|
152
|
-
return keywordKinds.map((kind) => autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind(kind,
|
|
151
|
+
function createAutocompleteItems(keywordKinds, positionName) {
|
|
152
|
+
return keywordKinds.map((kind) => autocompleteItem_1.AutocompleteItemUtils.createFromKeywordKind(kind, positionName));
|
|
153
153
|
}
|
|
154
|
-
function handleConjunctions(activeNode, inspected,
|
|
154
|
+
function handleConjunctions(activeNode, inspected, trailingToken) {
|
|
155
155
|
if (activeNode.leafKind !== "AfterAstNode" /* AfterAstNode */ &&
|
|
156
156
|
activeNode.leafKind !== "Context" /* ContextNode */) {
|
|
157
157
|
return inspected;
|
|
@@ -161,26 +161,26 @@ function handleConjunctions(activeNode, inspected, maybeTrailingToken) {
|
|
|
161
161
|
// `[x=1] |`
|
|
162
162
|
if (activeNode.ancestry.length === 2 &&
|
|
163
163
|
parser_1.XorNodeUtils.isAstXorChecked(activeNode.ancestry[1], "RecordExpression" /* RecordExpression */)) {
|
|
164
|
-
if (
|
|
164
|
+
if (trailingToken === undefined) {
|
|
165
165
|
return PQP.ArrayUtils.concatUnique(inspected, ["section" /* Section */]);
|
|
166
166
|
}
|
|
167
|
-
else if (
|
|
168
|
-
__1.PositionUtils.isInToken(activeNode.position,
|
|
169
|
-
return (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected,
|
|
167
|
+
else if (trailingToken.kind === "Identifier" /* Identifier */ &&
|
|
168
|
+
__1.PositionUtils.isInToken(activeNode.position, trailingToken, true, true)) {
|
|
169
|
+
return (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected, trailingToken, ["section" /* Section */]);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
const activeNodeLeaf = activeNode_1.ActiveNodeUtils.assertGetLeaf(activeNode);
|
|
173
173
|
// `let x = 1 a|`
|
|
174
|
-
if (
|
|
175
|
-
return (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected,
|
|
174
|
+
if (trailingToken !== undefined && trailingToken.isInOrOnPosition) {
|
|
175
|
+
return (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected, trailingToken, undefined);
|
|
176
176
|
}
|
|
177
177
|
// `let x = |`
|
|
178
178
|
// `let x = 1|`
|
|
179
179
|
// `let x = 1 | a`
|
|
180
180
|
else if (parser_1.XorNodeUtils.isTUnaryType(activeNodeLeaf)) {
|
|
181
181
|
// `let x = 1 | a`
|
|
182
|
-
if (
|
|
183
|
-
__1.PositionUtils.isAfterTokenPosition(activeNode.position,
|
|
182
|
+
if (trailingToken !== undefined &&
|
|
183
|
+
__1.PositionUtils.isAfterTokenPosition(activeNode.position, trailingToken.positionStart, false)) {
|
|
184
184
|
return inspected;
|
|
185
185
|
}
|
|
186
186
|
// `let x = 1|`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,0FAA2F;AAC3F,sFAA8G;AAC9G,oEAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,14 @@ const __1 = require("../../..");
|
|
|
9
9
|
function autocompleteKeywordDefault(state) {
|
|
10
10
|
const activeNode = state.activeNode;
|
|
11
11
|
const child = state.child;
|
|
12
|
-
const key = createMapKey(state.parent.node.kind, child.node.
|
|
12
|
+
const key = createMapKey(state.parent.node.kind, child.node.attributeIndex);
|
|
13
13
|
if (AutocompleteExpressionKeys.indexOf(key) !== -1) {
|
|
14
14
|
return autocompleteDefaultExpression(state);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
const
|
|
18
|
-
return
|
|
19
|
-
? autocompleteKeywordConstant(activeNode, child,
|
|
17
|
+
const mappedKeywordKind = AutocompleteConstantMap.get(key);
|
|
18
|
+
return mappedKeywordKind !== undefined
|
|
19
|
+
? autocompleteKeywordConstant(activeNode, child, mappedKeywordKind)
|
|
20
20
|
: undefined;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -80,8 +80,8 @@ function autocompleteKeywordConstant(activeNode, child, keywordKind) {
|
|
|
80
80
|
}
|
|
81
81
|
// A tuple can't easily be used as a Map key as it does a shallow comparison.
|
|
82
82
|
// The work around is to stringify the tuple key, even though we lose typing by doing so.
|
|
83
|
-
// [parent XorNode.node.kind, child XorNode.node.
|
|
84
|
-
function createMapKey(nodeKind,
|
|
85
|
-
return [nodeKind,
|
|
83
|
+
// [parent XorNode.node.kind, child XorNode.node.attributeIndex].join(",")
|
|
84
|
+
function createMapKey(nodeKind, attributeIndex) {
|
|
85
|
+
return [nodeKind, attributeIndex].join(",");
|
|
86
86
|
}
|
|
87
87
|
//# sourceMappingURL=autocompleteKeywordDefault.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordDefault.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA2F;AAC3F,sFAAmG;AAInG,gCAAyC;AAEzC,SAAgB,0BAA0B,CACtC,KAAsC;IAEtC,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAC;IAChD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,GAAG,GAAW,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordDefault.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,20 +9,20 @@ const __1 = require("../../..");
|
|
|
9
9
|
function autocompleteKeywordErrorHandlingExpression(state) {
|
|
10
10
|
const position = state.activeNode.position;
|
|
11
11
|
const child = state.child;
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
12
|
+
const trailingText = state.trailingToken;
|
|
13
|
+
const childAttributeIndex = child.node.attributeIndex;
|
|
14
|
+
if (childAttributeIndex === 0) {
|
|
15
15
|
return ["try" /* Try */];
|
|
16
16
|
}
|
|
17
|
-
else if (
|
|
17
|
+
else if (childAttributeIndex === 1) {
|
|
18
18
|
// 'try true o|' creates a ParseError.
|
|
19
19
|
// It's ambiguous if the next token should be either 'otherwise', 'or', or 'catch'.
|
|
20
|
-
if (
|
|
21
|
-
const trailingToken =
|
|
20
|
+
if (trailingText !== undefined) {
|
|
21
|
+
const trailingToken = trailingText;
|
|
22
22
|
// First we test if we can autocomplete using the error token.
|
|
23
23
|
if (trailingToken.kind === "Identifier" /* Identifier */ &&
|
|
24
24
|
__1.PositionUtils.isInToken(position, trailingToken, false, true)) {
|
|
25
|
-
const tokenData =
|
|
25
|
+
const tokenData = trailingText.data;
|
|
26
26
|
// If we can exclude 'or' then the only thing we can autocomplete is 'otherwise'.
|
|
27
27
|
if (tokenData.length > 1 && "otherwise" /* Otherwise */.startsWith(tokenData)) {
|
|
28
28
|
return ["otherwise" /* Otherwise */];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,YAAY,GAA8B,KAAK,CAAC,aAAa,CAAC;IACpE,MAAM,mBAAmB,GAAuB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAE1E,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAC3B,OAAO,iBAAyB,CAAC;KACpC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAClC,sCAAsC;QACtC,mFAAmF;QACnF,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,MAAM,aAAa,GAAkB,YAAY,CAAC;YAElD,8DAA8D;YAC9D,IACI,aAAa,CAAC,IAAI,kCAA+B;gBACjD,iBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D;gBACE,MAAM,SAAS,GAAW,YAAY,CAAC,IAAI,CAAC;gBAE5C,iFAAiF;gBACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,4BAA8B,UAAU,CAAC,SAAS,CAAC,EAAE;oBAC7E,OAAO,6BAA+B,CAAC;iBAC1C;gBACD,mFAAmF;gBACnF,wEAAwE;gBACxE,oDAAoD;gBACpD,wCAAwC;qBACnC;oBACD,OAAO,4CAAuD,CAAC;iBAClE;aACJ;YAED,yEAAyE;iBACpE;gBACD,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM,IAAI,qBAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC7F,OAAO,6BAA+B,CAAC;SAC1C;aAAM;YACH,OAAO,kBAAO,CAAC,sBAAsB,CAAC;SACzC;KACJ;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAhDD,gGAgDC"}
|
|
@@ -7,20 +7,20 @@ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/par
|
|
|
7
7
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
8
|
const __1 = require("../../..");
|
|
9
9
|
function autocompleteKeywordIdentifierPairedExpression(state) {
|
|
10
|
-
const childAttributeIndex = state.child.node.
|
|
10
|
+
const childAttributeIndex = state.child.node.attributeIndex;
|
|
11
11
|
// `section; s|`
|
|
12
12
|
// `section; [] |`
|
|
13
13
|
if (childAttributeIndex === 0 &&
|
|
14
|
-
parser_1.AncestryUtils.
|
|
14
|
+
parser_1.AncestryUtils.nextXorChecked(state.activeNode.ancestry, state.ancestryIndex, "SectionMember" /* SectionMember */)) {
|
|
15
15
|
return ["shared" /* Shared */];
|
|
16
16
|
}
|
|
17
17
|
else if (childAttributeIndex !== 2) {
|
|
18
18
|
return [];
|
|
19
19
|
}
|
|
20
|
-
const
|
|
20
|
+
const leaf = parser_1.NodeIdMapUtils.leftMostLeaf(state.nodeIdMapCollection, state.child.node.id);
|
|
21
21
|
// `x = |`
|
|
22
22
|
// `x = |1`
|
|
23
|
-
if (
|
|
23
|
+
if (leaf === undefined || __1.PositionUtils.isBeforeAst(state.activeNode.position, leaf, false)) {
|
|
24
24
|
return language_1.Keyword.ExpressionKeywordKinds;
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordIdentifierPairedExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAA0G;AAC1G,0FAA2F;AAG3F,gCAAyC;AAEzC,SAAgB,6CAA6C,CACzD,KAAsC;IAEtC,MAAM,mBAAmB,GAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordIdentifierPairedExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAA0G;AAC1G,0FAA2F;AAG3F,gCAAyC;AAEzC,SAAgB,6CAA6C,CACzD,KAAsC;IAEtC,MAAM,mBAAmB,GAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAEhF,gBAAgB;IAChB,kBAAkB;IAClB,IACI,mBAAmB,KAAK,CAAC;QACzB,sBAAa,CAAC,cAAc,CACxB,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,aAAa,sCAEtB,EACH;QACE,OAAO,uBAA4B,CAAC;KACvC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IAED,MAAM,IAAI,GAA0B,uBAAc,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,UAAU;IACV,WAAW;IACX,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACzF,OAAO,kBAAO,CAAC,sBAAsB,CAAC;KACzC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AA7BD,sGA6BC"}
|
|
@@ -23,39 +23,37 @@ function autocompleteKeywordLetExpression(state) {
|
|
|
23
23
|
// LetExpressions can trigger another inspection which will always hit the same LetExpression.
|
|
24
24
|
// Make sure that it doesn't trigger an infinite recursive call.
|
|
25
25
|
const child = state.child;
|
|
26
|
-
let
|
|
26
|
+
let inspected;
|
|
27
27
|
// Might be either `in` or whatever the autocomplete is for the the last child of the variableList.
|
|
28
28
|
// `let x = 1 |`
|
|
29
|
-
if (child.node.
|
|
30
|
-
|
|
31
|
-
if (state.
|
|
32
|
-
if (state.
|
|
33
|
-
// We don't want
|
|
29
|
+
if (child.node.attributeIndex === 2 && parser_1.XorNodeUtils.isContextXor(child)) {
|
|
30
|
+
inspected = yield autocompleteLastKeyValuePair(state, parser_1.NodeIdMapIterator.iterLetExpression(state.nodeIdMapCollection, parser_1.XorNodeUtils.assertAsLetExpression(state.parent)));
|
|
31
|
+
if (state.trailingToken !== undefined) {
|
|
32
|
+
if (state.trailingToken.isInOrOnPosition === true) {
|
|
33
|
+
// We don't want inspected to be zero legnth.
|
|
34
34
|
// It's either undefined or non-zero length.
|
|
35
|
-
|
|
35
|
+
inspected = (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected !== null && inspected !== void 0 ? inspected : [], state.trailingToken, [
|
|
36
36
|
"in" /* In */,
|
|
37
37
|
]);
|
|
38
|
-
return
|
|
38
|
+
return inspected.length ? inspected : undefined;
|
|
39
39
|
}
|
|
40
|
-
else if (__1.PositionUtils.isBeforeTokenPosition(state.activeNode.position, state.
|
|
41
|
-
return
|
|
40
|
+
else if (__1.PositionUtils.isBeforeTokenPosition(state.activeNode.position, state.trailingToken.positionStart, true)) {
|
|
41
|
+
return inspected !== undefined ? [...inspected, "in" /* In */] : inspected;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
return
|
|
46
|
-
? [...maybeInspected, "in" /* In */]
|
|
47
|
-
: ["in" /* In */];
|
|
45
|
+
return inspected !== undefined ? [...inspected, "in" /* In */] : ["in" /* In */];
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
// `let foo = e|` where we want to treat the identifier as a potential keyword
|
|
51
|
-
else if (child.node.
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
const
|
|
55
|
-
|
|
49
|
+
else if (child.node.attributeIndex === 1) {
|
|
50
|
+
const identifier = parser_1.AncestryUtils.nthPreviousXor(state.activeNode.ancestry, state.ancestryIndex, 5);
|
|
51
|
+
if (identifier && parser_1.XorNodeUtils.isAstXor(identifier) && language_1.AstUtils.isIdentifier(identifier.node)) {
|
|
52
|
+
const identifierAst = identifier.node;
|
|
53
|
+
inspected = language_1.Keyword.ExpressionKeywordKinds.filter((value) => value.startsWith(identifierAst.literal));
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
|
-
return
|
|
56
|
+
return inspected !== null && inspected !== void 0 ? inspected : (0, autocompleteKeywordDefault_1.autocompleteKeywordDefault)(state);
|
|
59
57
|
});
|
|
60
58
|
}
|
|
61
59
|
exports.autocompleteKeywordLetExpression = autocompleteKeywordLetExpression;
|
|
@@ -64,10 +62,10 @@ function autocompleteLastKeyValuePair(state, keyValuePairs) {
|
|
|
64
62
|
return Promise.resolve(undefined);
|
|
65
63
|
}
|
|
66
64
|
// Grab the last value (if one exists)
|
|
67
|
-
const
|
|
68
|
-
if (
|
|
65
|
+
const lastValue = keyValuePairs[keyValuePairs.length - 1].value;
|
|
66
|
+
if (lastValue === undefined) {
|
|
69
67
|
return Promise.resolve(undefined);
|
|
70
68
|
}
|
|
71
|
-
return (0, common_1.autocompleteKeywordRightMostLeaf)(state,
|
|
69
|
+
return (0, common_1.autocompleteKeywordRightMostLeaf)(state, lastValue.node.id);
|
|
72
70
|
}
|
|
73
71
|
//# sourceMappingURL=autocompleteKeywordLetExpression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordLetExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,sFAKmE;AACnE,0FAAqG;AAErG,6EAA0E;AAC1E,qCAA4D;AAC5D,uFAAoF;AAEpF,gCAAyC;AAEzC,SAAsB,gCAAgC,CAClD,KAAsC;;QAEtC,8FAA8F;QAC9F,gEAAgE;QAChE,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;QACpC,IAAI,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordLetExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts"],"names":[],"mappings":"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"}
|