@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,19 +3,19 @@ import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery
|
|
|
3
3
|
import type { Position, Range } from "vscode-languageserver-types";
|
|
4
4
|
import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
5
5
|
export declare function createPositionFromTokenPosition(tokenPosition: PQP.Language.Token.TokenPosition): Position;
|
|
6
|
-
export declare function createRangeFromXorNode(nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode): Range | undefined
|
|
6
|
+
export declare function createRangeFromXorNode(nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode): Promise<Range | undefined>;
|
|
7
7
|
export declare function createRangeFromTokenPositions(startTokenPosition: PQP.Language.Token.TokenPosition | undefined, endTokenPosition: PQP.Language.Token.TokenPosition | undefined): Range | undefined;
|
|
8
8
|
export declare function createRangeFromTokenRange(tokenRange: PQP.Language.Token.TokenRange): Range;
|
|
9
9
|
export declare function isBeforeXor(position: Position, xorNode: TXorNode, isBoundIncluded: boolean): boolean;
|
|
10
10
|
export declare function isInXor(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode, isLowerBoundIncluded: boolean, isUpperBoundIncluded: boolean): boolean;
|
|
11
11
|
export declare function isOnXorStart(position: Position, xorNode: TXorNode): boolean;
|
|
12
|
-
export declare function isOnXorEnd(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode): boolean
|
|
13
|
-
export declare function isAfterXor(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode, isBoundIncluded: boolean): boolean
|
|
12
|
+
export declare function isOnXorEnd(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode): Promise<boolean>;
|
|
13
|
+
export declare function isAfterXor(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode, isBoundIncluded: boolean): Promise<boolean>;
|
|
14
14
|
export declare function isBeforeContext(position: Position, contextNode: PQP.Parser.ParseContext.TNode, isBoundIncluded: boolean): boolean;
|
|
15
15
|
export declare function isInContext(nodeIdMapCollection: NodeIdMap.Collection, position: Position, contextNode: PQP.Parser.ParseContext.TNode, isLowerBoundIncluded: boolean, isHigherBoundIncluded: boolean): boolean;
|
|
16
16
|
export declare function isOnContextStart(position: Position, contextNode: PQP.Parser.ParseContext.TNode): boolean;
|
|
17
|
-
export declare function isOnContextEnd(nodeIdMapCollection: NodeIdMap.Collection, position: Position, contextNode: PQP.Parser.ParseContext.TNode): boolean
|
|
18
|
-
export declare function isAfterContext(nodeIdMapCollection: NodeIdMap.Collection, position: Position, contextNode: PQP.Parser.ParseContext.TNode, isBoundIncluded: boolean): boolean
|
|
17
|
+
export declare function isOnContextEnd(nodeIdMapCollection: NodeIdMap.Collection, position: Position, contextNode: PQP.Parser.ParseContext.TNode): Promise<boolean>;
|
|
18
|
+
export declare function isAfterContext(nodeIdMapCollection: NodeIdMap.Collection, position: Position, contextNode: PQP.Parser.ParseContext.TNode, isBoundIncluded: boolean): Promise<boolean>;
|
|
19
19
|
export declare function isBeforeAst(position: Position, astNode: Ast.TNode, isBoundIncluded: boolean): boolean;
|
|
20
20
|
export declare function isInAst(position: Position, astNode: Ast.TNode, isLowerBoundIncluded: boolean, isHigherBoundIncluded: boolean): boolean;
|
|
21
21
|
export declare function isOnAstStart(position: Position, astNode: Ast.TNode): boolean;
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
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
|
+
});
|
|
12
|
+
};
|
|
4
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
14
|
exports.isAfterTokenPosition = exports.isOnTokenPosition = exports.isBeforeTokenPosition = exports.isInToken = exports.isAfterAst = exports.isOnAstEnd = exports.isOnAstStart = exports.isInAst = exports.isBeforeAst = exports.isAfterContext = exports.isOnContextEnd = exports.isOnContextStart = exports.isInContext = exports.isBeforeContext = exports.isAfterXor = exports.isOnXorEnd = exports.isOnXorStart = exports.isInXor = exports.isBeforeXor = exports.createRangeFromTokenRange = exports.createRangeFromTokenPositions = exports.createRangeFromXorNode = exports.createPositionFromTokenPosition = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
15
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
16
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
8
17
|
function createPositionFromTokenPosition(tokenPosition) {
|
|
9
18
|
return {
|
|
10
19
|
line: tokenPosition.lineNumber,
|
|
@@ -15,12 +24,14 @@ exports.createPositionFromTokenPosition = createPositionFromTokenPosition;
|
|
|
15
24
|
// Attempts to turn a TXorNode into a Range.
|
|
16
25
|
// Returns undefined if there are no leafs nodes.
|
|
17
26
|
function createRangeFromXorNode(nodeIdMapCollection, xorNode) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const nodeId = xorNode.node.id;
|
|
29
|
+
const maybeLeftMostLeaf = parser_1.NodeIdMapUtils.maybeLeftMostLeaf(nodeIdMapCollection, nodeId);
|
|
30
|
+
const maybeRightMostLeaf = yield parser_1.NodeIdMapUtils.maybeRightMostLeaf(nodeIdMapCollection, nodeId);
|
|
31
|
+
return Promise.resolve(maybeLeftMostLeaf === undefined || maybeRightMostLeaf === undefined
|
|
32
|
+
? undefined
|
|
33
|
+
: createRangeFromTokenPositions(maybeLeftMostLeaf.tokenRange.positionStart, maybeRightMostLeaf.tokenRange.positionEnd));
|
|
34
|
+
});
|
|
24
35
|
}
|
|
25
36
|
exports.createRangeFromXorNode = createRangeFromXorNode;
|
|
26
37
|
function createRangeFromTokenPositions(startTokenPosition, endTokenPosition) {
|
|
@@ -73,7 +84,7 @@ exports.isOnXorStart = isOnXorStart;
|
|
|
73
84
|
function isOnXorEnd(nodeIdMapCollection, position, xorNode) {
|
|
74
85
|
switch (xorNode.kind) {
|
|
75
86
|
case "Ast" /* Ast */:
|
|
76
|
-
return isOnAstEnd(position, xorNode.node);
|
|
87
|
+
return Promise.resolve(isOnAstEnd(position, xorNode.node));
|
|
77
88
|
case "Context" /* Context */:
|
|
78
89
|
return isOnContextEnd(nodeIdMapCollection, position, xorNode.node);
|
|
79
90
|
default:
|
|
@@ -84,7 +95,7 @@ exports.isOnXorEnd = isOnXorEnd;
|
|
|
84
95
|
function isAfterXor(nodeIdMapCollection, position, xorNode, isBoundIncluded) {
|
|
85
96
|
switch (xorNode.kind) {
|
|
86
97
|
case "Ast" /* Ast */:
|
|
87
|
-
return isAfterAst(position, xorNode.node, isBoundIncluded);
|
|
98
|
+
return Promise.resolve(isAfterAst(position, xorNode.node, isBoundIncluded));
|
|
88
99
|
case "Context" /* Context */:
|
|
89
100
|
return isAfterContext(nodeIdMapCollection, position, xorNode.node, isBoundIncluded);
|
|
90
101
|
default:
|
|
@@ -93,11 +104,11 @@ function isAfterXor(nodeIdMapCollection, position, xorNode, isBoundIncluded) {
|
|
|
93
104
|
}
|
|
94
105
|
exports.isAfterXor = isAfterXor;
|
|
95
106
|
function isBeforeContext(position, contextNode, isBoundIncluded) {
|
|
96
|
-
|
|
107
|
+
const maybeTokenStart = contextNode.maybeTokenStart;
|
|
97
108
|
if (maybeTokenStart === undefined) {
|
|
98
109
|
return false;
|
|
99
110
|
}
|
|
100
|
-
|
|
111
|
+
const tokenStart = maybeTokenStart;
|
|
101
112
|
return isBeforeTokenPosition(position, tokenStart.positionStart, isBoundIncluded);
|
|
102
113
|
}
|
|
103
114
|
exports.isBeforeContext = isBeforeContext;
|
|
@@ -113,27 +124,30 @@ function isOnContextStart(position, contextNode) {
|
|
|
113
124
|
}
|
|
114
125
|
exports.isOnContextStart = isOnContextStart;
|
|
115
126
|
function isOnContextEnd(nodeIdMapCollection, position, contextNode) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const maybeLeaf = yield parser_1.NodeIdMapUtils.maybeRightMostLeaf(nodeIdMapCollection, contextNode.id);
|
|
129
|
+
if (maybeLeaf === undefined) {
|
|
130
|
+
return Promise.resolve(false);
|
|
131
|
+
}
|
|
132
|
+
return Promise.resolve(isOnAstEnd(position, maybeLeaf));
|
|
133
|
+
});
|
|
121
134
|
}
|
|
122
135
|
exports.isOnContextEnd = isOnContextEnd;
|
|
123
136
|
function isAfterContext(nodeIdMapCollection, position, contextNode, isBoundIncluded) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const maybeLeaf = yield parser_1.NodeIdMapUtils.maybeRightMostLeaf(nodeIdMapCollection, contextNode.id);
|
|
139
|
+
if (maybeLeaf === undefined) {
|
|
140
|
+
// We're assuming position is a valid range for the document.
|
|
141
|
+
// Therefore if the context node didn't have a token (caused by EOF) we can make this assumption.
|
|
142
|
+
if (contextNode.maybeTokenStart === undefined) {
|
|
143
|
+
return Promise.resolve(false);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return Promise.resolve(isAfterTokenPosition(position, contextNode.maybeTokenStart.positionEnd, isBoundIncluded));
|
|
147
|
+
}
|
|
130
148
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
var leaf = maybeLeaf;
|
|
136
|
-
return isAfterAst(position, leaf, isBoundIncluded);
|
|
149
|
+
return Promise.resolve(isAfterAst(position, maybeLeaf, isBoundIncluded));
|
|
150
|
+
});
|
|
137
151
|
}
|
|
138
152
|
exports.isAfterContext = isAfterContext;
|
|
139
153
|
function isBeforeAst(position, astNode, isBoundIncluded) {
|
|
@@ -162,7 +176,7 @@ function isInToken(position, token, isLowerBoundIncluded, isHigherBoundIncluded)
|
|
|
162
176
|
}
|
|
163
177
|
exports.isInToken = isInToken;
|
|
164
178
|
function isBeforeTokenPosition(position, tokenPosition, isBoundIncluded) {
|
|
165
|
-
|
|
179
|
+
const positionLineNumber = position.line;
|
|
166
180
|
if (positionLineNumber < tokenPosition.lineNumber) {
|
|
167
181
|
return true;
|
|
168
182
|
}
|
|
@@ -170,7 +184,7 @@ function isBeforeTokenPosition(position, tokenPosition, isBoundIncluded) {
|
|
|
170
184
|
return false;
|
|
171
185
|
}
|
|
172
186
|
else {
|
|
173
|
-
|
|
187
|
+
const upperBound = isBoundIncluded ? tokenPosition.lineCodeUnit : tokenPosition.lineCodeUnit + 1;
|
|
174
188
|
return position.character < upperBound;
|
|
175
189
|
}
|
|
176
190
|
}
|
|
@@ -180,7 +194,7 @@ function isOnTokenPosition(position, tokenPosition) {
|
|
|
180
194
|
}
|
|
181
195
|
exports.isOnTokenPosition = isOnTokenPosition;
|
|
182
196
|
function isAfterTokenPosition(position, tokenPosition, isBoundIncluded) {
|
|
183
|
-
|
|
197
|
+
const positionLineNumber = position.line;
|
|
184
198
|
if (positionLineNumber < tokenPosition.lineNumber) {
|
|
185
199
|
return false;
|
|
186
200
|
}
|
|
@@ -188,7 +202,7 @@ function isAfterTokenPosition(position, tokenPosition, isBoundIncluded) {
|
|
|
188
202
|
return true;
|
|
189
203
|
}
|
|
190
204
|
else {
|
|
191
|
-
|
|
205
|
+
const upperBound = isBoundIncluded ? tokenPosition.lineCodeUnit : tokenPosition.lineCodeUnit - 1;
|
|
192
206
|
return position.character > upperBound;
|
|
193
207
|
}
|
|
194
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/positionUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"positionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/positionUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AutocompleteItemProvider, AutocompleteItemProviderContext } from "./commonTypes";
|
|
2
|
-
import { WorkspaceCache } from "../workspaceCache";
|
|
3
2
|
import { AutocompleteItem } from "../inspection/autocomplete/autocompleteItem";
|
|
3
|
+
import { Inspection } from "..";
|
|
4
4
|
export declare class LanguageAutocompleteItemProvider implements AutocompleteItemProvider {
|
|
5
|
-
private readonly
|
|
5
|
+
private readonly maybePromiseInspection;
|
|
6
6
|
private static readonly ExcludedKeywords;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(maybePromiseInspection: Promise<Inspection.Inspected | undefined>);
|
|
8
8
|
getAutocompleteItems(_context: AutocompleteItemProviderContext): Promise<ReadonlyArray<AutocompleteItem>>;
|
|
9
9
|
private getKeywords;
|
|
10
10
|
private getLanguageConstants;
|
|
@@ -10,113 +10,58 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
-
function step(op) {
|
|
18
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
-
while (_) try {
|
|
20
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
-
switch (op[0]) {
|
|
23
|
-
case 0: case 1: t = op; break;
|
|
24
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
-
default:
|
|
28
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
-
if (t[2]) _.ops.pop();
|
|
33
|
-
_.trys.pop(); continue;
|
|
34
|
-
}
|
|
35
|
-
op = body.call(thisArg, _);
|
|
36
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
41
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
42
|
-
if (!m) return o;
|
|
43
|
-
var i = m.call(o), r, ar = [], e;
|
|
44
|
-
try {
|
|
45
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
46
|
-
}
|
|
47
|
-
catch (error) { e = { error: error }; }
|
|
48
|
-
finally {
|
|
49
|
-
try {
|
|
50
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
51
|
-
}
|
|
52
|
-
finally { if (e) throw e.error; }
|
|
53
|
-
}
|
|
54
|
-
return ar;
|
|
55
|
-
};
|
|
56
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
57
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
58
|
-
if (ar || !(i in from)) {
|
|
59
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
60
|
-
ar[i] = from[i];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
64
|
-
};
|
|
65
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
66
14
|
exports.LanguageAutocompleteItemProvider = void 0;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.maybeTriedInspection = maybeTriedInspection;
|
|
15
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
16
|
+
class LanguageAutocompleteItemProvider {
|
|
17
|
+
constructor(maybePromiseInspection) {
|
|
18
|
+
this.maybePromiseInspection = maybePromiseInspection;
|
|
72
19
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
20
|
+
getAutocompleteItems(_context) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const maybeInspection = yield this.maybePromiseInspection;
|
|
23
|
+
if (maybeInspection === undefined) {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
const autocomplete = maybeInspection.autocomplete;
|
|
27
|
+
return [
|
|
28
|
+
...this.getKeywords(autocomplete.triedKeyword),
|
|
29
|
+
...this.getLanguageConstants(autocomplete.triedLanguageConstant),
|
|
30
|
+
...this.getPrimitiveTypes(autocomplete.triedPrimitiveType),
|
|
31
|
+
];
|
|
84
32
|
});
|
|
85
|
-
}
|
|
86
|
-
|
|
33
|
+
}
|
|
34
|
+
getKeywords(triedKeywordAutocomplete) {
|
|
87
35
|
if (powerquery_parser_1.ResultUtils.isError(triedKeywordAutocomplete)) {
|
|
88
36
|
return [];
|
|
89
37
|
}
|
|
90
|
-
return triedKeywordAutocomplete.value.filter(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
};
|
|
94
|
-
LanguageAutocompleteItemProvider.prototype.getLanguageConstants = function (triedLanguageConstantAutocomplete) {
|
|
38
|
+
return triedKeywordAutocomplete.value.filter((autocompleteItem) => LanguageAutocompleteItemProvider.ExcludedKeywords.includes(autocompleteItem.label) === false);
|
|
39
|
+
}
|
|
40
|
+
getLanguageConstants(triedLanguageConstantAutocomplete) {
|
|
95
41
|
return powerquery_parser_1.ResultUtils.isOk(triedLanguageConstantAutocomplete) && triedLanguageConstantAutocomplete.value
|
|
96
42
|
? [triedLanguageConstantAutocomplete.value]
|
|
97
43
|
: [];
|
|
98
|
-
}
|
|
99
|
-
|
|
44
|
+
}
|
|
45
|
+
getPrimitiveTypes(triedPrimitiveTypeAutocomplete) {
|
|
100
46
|
return powerquery_parser_1.ResultUtils.isOk(triedPrimitiveTypeAutocomplete) && triedPrimitiveTypeAutocomplete.value
|
|
101
47
|
? triedPrimitiveTypeAutocomplete.value
|
|
102
48
|
: [];
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// them to be treated like library functions instead.
|
|
106
|
-
LanguageAutocompleteItemProvider.ExcludedKeywords = [
|
|
107
|
-
"#binary" /* HashBinary */,
|
|
108
|
-
"#date" /* HashDate */,
|
|
109
|
-
"#datetime" /* HashDateTime */,
|
|
110
|
-
"#datetimezone" /* HashDateTimeZone */,
|
|
111
|
-
"#duration" /* HashDuration */,
|
|
112
|
-
"#infinity" /* HashInfinity */,
|
|
113
|
-
"#nan" /* HashNan */,
|
|
114
|
-
"#sections" /* HashSections */,
|
|
115
|
-
"#shared" /* HashShared */,
|
|
116
|
-
"#table" /* HashTable */,
|
|
117
|
-
"#time" /* HashTime */,
|
|
118
|
-
];
|
|
119
|
-
return LanguageAutocompleteItemProvider;
|
|
120
|
-
}());
|
|
49
|
+
}
|
|
50
|
+
}
|
|
121
51
|
exports.LanguageAutocompleteItemProvider = LanguageAutocompleteItemProvider;
|
|
52
|
+
// Power Query defines constructor functions (ex. #table()) as keywords, but we want
|
|
53
|
+
// them to be treated like library functions instead.
|
|
54
|
+
LanguageAutocompleteItemProvider.ExcludedKeywords = [
|
|
55
|
+
"#binary" /* HashBinary */,
|
|
56
|
+
"#date" /* HashDate */,
|
|
57
|
+
"#datetime" /* HashDateTime */,
|
|
58
|
+
"#datetimezone" /* HashDateTimeZone */,
|
|
59
|
+
"#duration" /* HashDuration */,
|
|
60
|
+
"#infinity" /* HashInfinity */,
|
|
61
|
+
"#nan" /* HashNan */,
|
|
62
|
+
"#sections" /* HashSections */,
|
|
63
|
+
"#shared" /* HashShared */,
|
|
64
|
+
"#table" /* HashTable */,
|
|
65
|
+
"#time" /* HashTime */,
|
|
66
|
+
];
|
|
122
67
|
//# sourceMappingURL=languageCompletionItemProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languageCompletionItemProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/languageCompletionItemProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"languageCompletionItemProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/languageCompletionItemProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,oEAA2D;AAM3D,MAAa,gCAAgC;IAiBzC,YAA6B,sBAAiE;QAAjE,2BAAsB,GAAtB,sBAAsB,CAA2C;IAAG,CAAC;IAErF,oBAAoB,CAC7B,QAAyC;;YAEzC,MAAM,eAAe,GAAqC,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAE5F,IAAI,eAAe,KAAK,SAAS,EAAE;gBAC/B,OAAO,EAAE,CAAC;aACb;YAED,MAAM,YAAY,GAA4B,eAAe,CAAC,YAAY,CAAC;YAE3E,OAAO;gBACH,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC9C,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,qBAAqB,CAAC;gBAChE,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,kBAAkB,CAAC;aAC7D,CAAC;QACN,CAAC;KAAA;IAEO,WAAW,CACf,wBAA6D;QAE7D,IAAI,+BAAW,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;YAC/C,OAAO,EAAE,CAAC;SACb;QAED,OAAO,wBAAwB,CAAC,KAAK,CAAC,MAAM,CACxC,CAAC,gBAAkC,EAAE,EAAE,CACnC,gCAAgC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,CACnG,CAAC;IACN,CAAC;IAEO,oBAAoB,CACxB,iCAA+E;QAE/E,OAAO,+BAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,IAAI,iCAAiC,CAAC,KAAK;YACjG,CAAC,CAAC,CAAC,iCAAiC,CAAC,KAAK,CAAC;YAC3C,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEO,iBAAiB,CACrB,8BAAyE;QAEzE,OAAO,+BAAW,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,8BAA8B,CAAC,KAAK;YAC3F,CAAC,CAAC,8BAA8B,CAAC,KAAK;YACtC,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;;AAhEL,4EAiEC;AAhEG,oFAAoF;AACpF,qDAAqD;AAC7B,iDAAgB,GAA0B;;;;;;;;;;;;CAYjE,CAAC"}
|
|
@@ -10,151 +10,77 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
-
function step(op) {
|
|
18
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
-
while (_) try {
|
|
20
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
-
switch (op[0]) {
|
|
23
|
-
case 0: case 1: t = op; break;
|
|
24
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
-
default:
|
|
28
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
-
if (t[2]) _.ops.pop();
|
|
33
|
-
_.trys.pop(); continue;
|
|
34
|
-
}
|
|
35
|
-
op = body.call(thisArg, _);
|
|
36
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var __values = (this && this.__values) || function(o) {
|
|
41
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
42
|
-
if (m) return m.call(o);
|
|
43
|
-
if (o && typeof o.length === "number") return {
|
|
44
|
-
next: function () {
|
|
45
|
-
if (o && i >= o.length) o = void 0;
|
|
46
|
-
return { value: o && o[i++], done: !o };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
50
|
-
};
|
|
51
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
52
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
53
|
-
if (!m) return o;
|
|
54
|
-
var i = m.call(o), r, ar = [], e;
|
|
55
|
-
try {
|
|
56
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
57
|
-
}
|
|
58
|
-
catch (error) { e = { error: error }; }
|
|
59
|
-
finally {
|
|
60
|
-
try {
|
|
61
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
62
|
-
}
|
|
63
|
-
finally { if (e) throw e.error; }
|
|
64
|
-
}
|
|
65
|
-
return ar;
|
|
66
|
-
};
|
|
67
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
14
|
exports.LibrarySymbolProvider = void 0;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
15
|
+
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
16
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
17
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
18
|
+
const library_1 = require("../library");
|
|
19
|
+
const inspection_1 = require("../inspection");
|
|
20
|
+
class LibrarySymbolProvider {
|
|
21
|
+
constructor(library) {
|
|
76
22
|
this.externalTypeResolver = library.externalTypeResolver;
|
|
77
23
|
this.libraryDefinitions = library.libraryDefinitions;
|
|
78
24
|
this.signatureInformationByLabel = new Map();
|
|
79
25
|
}
|
|
80
26
|
// eslint-disable-next-line require-await
|
|
81
|
-
|
|
82
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
partial
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
for (_a = __values(this.libraryDefinitions.entries()), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
93
|
-
_c = __read(_b.value, 2), label = _c[0], definition = _c[1];
|
|
94
|
-
partial.push(inspection_1.AutocompleteItemUtils.createFromLibraryDefinition(label, definition, maybeContextText));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
98
|
-
finally {
|
|
99
|
-
try {
|
|
100
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
101
|
-
}
|
|
102
|
-
finally { if (e_1) throw e_1.error; }
|
|
103
|
-
}
|
|
104
|
-
return [2 /*return*/, partial];
|
|
105
|
-
});
|
|
27
|
+
getAutocompleteItems(context) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
if (!context.text || !context.range) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
const partial = [];
|
|
33
|
+
const maybeContextText = context.text;
|
|
34
|
+
for (const [label, definition] of this.libraryDefinitions.entries()) {
|
|
35
|
+
partial.push(inspection_1.AutocompleteItemUtils.createFromLibraryDefinition(label, definition, maybeContextText));
|
|
36
|
+
}
|
|
37
|
+
return partial;
|
|
106
38
|
});
|
|
107
|
-
}
|
|
39
|
+
}
|
|
108
40
|
// eslint-disable-next-line require-await
|
|
109
|
-
|
|
110
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
range: undefined,
|
|
131
|
-
}];
|
|
132
|
-
});
|
|
41
|
+
getHover(context) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
if (!context.identifier) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const identifierLiteral = context.identifier;
|
|
47
|
+
const maybeDefinition = this.libraryDefinitions.get(context.identifier);
|
|
48
|
+
if (maybeDefinition === undefined) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const definition = maybeDefinition;
|
|
52
|
+
const definitionText = LibrarySymbolProvider.getDefinitionKindText(definition.kind);
|
|
53
|
+
const definitionTypeText = language_1.TypeUtils.nameOf(definition.asPowerQueryType);
|
|
54
|
+
return {
|
|
55
|
+
contents: {
|
|
56
|
+
kind: vscode_languageserver_types_1.MarkupKind.PlainText,
|
|
57
|
+
language: "powerquery",
|
|
58
|
+
value: `[${definitionText}] ${identifierLiteral}: ${definitionTypeText}`,
|
|
59
|
+
},
|
|
60
|
+
range: undefined,
|
|
61
|
+
};
|
|
133
62
|
});
|
|
134
|
-
}
|
|
63
|
+
}
|
|
135
64
|
// eslint-disable-next-line require-await
|
|
136
|
-
|
|
65
|
+
getSignatureHelp(context) {
|
|
137
66
|
var _a;
|
|
138
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
signatures: [this.getOrCreateSignatureInformation(identifierLiteral)],
|
|
153
|
-
}];
|
|
154
|
-
});
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
if (!context.functionName) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const identifierLiteral = context.functionName;
|
|
72
|
+
const maybeDefinition = this.libraryDefinitions.get(identifierLiteral);
|
|
73
|
+
if (!library_1.LibraryUtils.isFunction(maybeDefinition)) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
activeParameter: (_a = context.argumentOrdinal) !== null && _a !== void 0 ? _a : 0,
|
|
78
|
+
activeSignature: 0,
|
|
79
|
+
signatures: [this.getOrCreateSignatureInformation(identifierLiteral)],
|
|
80
|
+
};
|
|
155
81
|
});
|
|
156
|
-
}
|
|
157
|
-
|
|
82
|
+
}
|
|
83
|
+
static getDefinitionKindText(kind) {
|
|
158
84
|
switch (kind) {
|
|
159
85
|
case "Function" /* Function */:
|
|
160
86
|
return "library function";
|
|
@@ -165,15 +91,14 @@ var LibrarySymbolProvider = /** @class */ (function () {
|
|
|
165
91
|
default:
|
|
166
92
|
throw powerquery_parser_1.Assert.isNever(kind);
|
|
167
93
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
94
|
+
}
|
|
95
|
+
getOrCreateSignatureInformation(key) {
|
|
170
96
|
if (!this.signatureInformationByLabel.has(key)) {
|
|
171
|
-
|
|
97
|
+
const definition = library_1.LibraryUtils.assertAsFunction(this.libraryDefinitions.get(key));
|
|
172
98
|
this.signatureInformationByLabel.set(key, library_1.LibraryUtils.createSignatureInformation(definition));
|
|
173
99
|
}
|
|
174
100
|
return powerquery_parser_1.Assert.asDefined(this.signatureInformationByLabel.get(key));
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
}());
|
|
101
|
+
}
|
|
102
|
+
}
|
|
178
103
|
exports.LibrarySymbolProvider = LibrarySymbolProvider;
|
|
179
104
|
//# sourceMappingURL=librarySymbolProvider.js.map
|