@microsoft/powerquery-language-services 0.2.11 → 0.2.17
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 +1 -1
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +1 -0
- package/lib/powerquery-language-services/analysis/analysisBase.js +38 -29
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +3 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +1 -1
- package/lib/powerquery-language-services/commonTypes.d.ts +1 -2
- package/lib/powerquery-language-services/commonTypes.js +0 -2
- package/lib/powerquery-language-services/commonTypes.js.map +1 -1
- package/lib/powerquery-language-services/commonTypesUtils.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +21 -16
- 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 +2 -1
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.d.ts +2 -0
- package/lib/powerquery-language-services/index.js +3 -1
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +29 -28
- 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 +41 -35
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +27 -26
- 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 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +36 -36
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +4 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +18 -15
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -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 +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +7 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +26 -26
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +30 -27
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +8 -6
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/expectedType.js +70 -67
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +14 -12
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +15 -14
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/jaroWinkler.js +0 -2
- package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.d.ts +6 -5
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +12 -15
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +12 -10
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +50 -27
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/task.js +10 -10
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +13 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +78 -64
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +14 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +25 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +11 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +14 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +33 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +32 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +11 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +20 -15
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +20 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +16 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +16 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +26 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +26 -17
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +10 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +21 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +4 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +25 -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 +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +21 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +12 -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 +4 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +14 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +21 -17
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +16 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +15 -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 +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +22 -14
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +77 -116
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +16 -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 +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +42 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/type/task.js +23 -9
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/typeCache/typeCache.d.ts +2 -2
- package/lib/powerquery-language-services/inspectionUtils.d.ts +9 -8
- package/lib/powerquery-language-services/inspectionUtils.js +12 -17
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +3 -3
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +3 -3
- package/lib/powerquery-language-services/library/libraryUtils.js +5 -5
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.js +7 -7
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.json +3 -1
- package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +1 -0
- package/lib/powerquery-language-services/localization/templates.d.ts +1 -1
- package/lib/powerquery-language-services/localization/templates.js +2 -2
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +18 -16
- package/lib/powerquery-language-services/positionUtils.js +11 -10
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +2 -2
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +13 -9
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +7 -10
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +24 -30
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +0 -2
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/trace.d.ts +12 -0
- package/lib/powerquery-language-services/trace.js +5 -0
- package/lib/powerquery-language-services/trace.js.map +1 -0
- package/lib/powerquery-language-services/traceUtils.d.ts +14 -0
- package/lib/powerquery-language-services/traceUtils.js +21 -0
- package/lib/powerquery-language-services/traceUtils.js.map +1 -0
- package/lib/powerquery-language-services/validate/validate.js +12 -7
- 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 +18 -13
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +5 -0
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +149 -0
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -0
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +2 -2
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +18 -12
- 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 +5 -2
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettings.d.ts +1 -0
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +2 -2
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +24 -26
|
@@ -17,10 +17,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
17
17
|
}
|
|
18
18
|
return ar;
|
|
19
19
|
};
|
|
20
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
21
|
-
for (var i = 0,
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
21
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
22
|
+
if (ar || !(i in from)) {
|
|
23
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
24
|
+
ar[i] = from[i];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
24
28
|
};
|
|
25
29
|
var __values = (this && this.__values) || function(o) {
|
|
26
30
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
@@ -36,8 +40,9 @@ var __values = (this && this.__values) || function(o) {
|
|
|
36
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
41
|
exports.maybeFirstXorOfNodeKind = exports.isPositionInBounds = exports.assertPositionInBounds = exports.assertGetLeaf = exports.assertActiveNode = exports.createOutOfBoundPosition = exports.createActiveNode = exports.maybeActiveNode = void 0;
|
|
38
42
|
var PQP = require("@microsoft/powerquery-parser");
|
|
43
|
+
var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
39
44
|
var __1 = require("../..");
|
|
40
|
-
// Searches all leaf
|
|
45
|
+
// Searches all leaf Ast.TNodes and all Context nodes to find the "active" node.
|
|
41
46
|
// ' 1 + |' -> the second operand, a Context node, in an ArithmeticExpression.
|
|
42
47
|
// 'let x=|1 in x' -> the value part of the key-value-pair.
|
|
43
48
|
// 'foo(|)' -> the zero length ArrayWrapper of an InvokeExpression
|
|
@@ -46,14 +51,14 @@ var __1 = require("../..");
|
|
|
46
51
|
// This approach breaks under several edge cases.
|
|
47
52
|
//
|
|
48
53
|
// Take a look at the ArithmeticExpression example above,
|
|
49
|
-
// it doesn't make sense for the ActiveNode to be the '+'
|
|
50
|
-
// When the position is on a constant the selected
|
|
54
|
+
// it doesn't make sense for the ActiveNode to be the '+' Constant.
|
|
55
|
+
// When the position is on a constant the selected Ast.TNode might need to be shifted one to the right.
|
|
51
56
|
// This happens with atomic constants such as '+', '=>', '[', '(' etc.
|
|
52
57
|
// However if you shifted right on '(' for 'foo(|)' then the ActiveNode would be ')' instead of the ArrayWrapper.
|
|
53
58
|
//
|
|
54
59
|
// Sometimes we don't want to shift at all.
|
|
55
60
|
// Nodes that prevent shifting are called anchor nodes.
|
|
56
|
-
// '[foo = bar|' should be anchored on the identifier 'bar' and not the context node for the ']'
|
|
61
|
+
// '[foo = bar|' should be anchored on the identifier 'bar' and not the context node for the ']' Constant.
|
|
57
62
|
function maybeActiveNode(nodeIdMapCollection, position) {
|
|
58
63
|
// Search for the closest Ast node on or to the left of Position, as well as the closest shifted right Ast node.
|
|
59
64
|
var astSearch = maybeFindAstNodes(nodeIdMapCollection, position);
|
|
@@ -67,20 +72,20 @@ function maybeActiveNode(nodeIdMapCollection, position) {
|
|
|
67
72
|
// * Context
|
|
68
73
|
// * Ast
|
|
69
74
|
if (astSearch.maybeShiftedRightNode !== undefined) {
|
|
70
|
-
maybeLeaf =
|
|
75
|
+
maybeLeaf = parser_1.XorNodeUtils.boxAst(astSearch.maybeShiftedRightNode);
|
|
71
76
|
leafKind = "ShiftedRight" /* ShiftedRight */;
|
|
72
77
|
}
|
|
73
78
|
else if (astSearch.maybeBestOnOrBeforeNode !== undefined &&
|
|
74
79
|
isAnchorNode(position, astSearch.maybeBestOnOrBeforeNode)) {
|
|
75
|
-
maybeLeaf =
|
|
80
|
+
maybeLeaf = parser_1.XorNodeUtils.boxAst(astSearch.maybeBestOnOrBeforeNode);
|
|
76
81
|
leafKind = "Anchored" /* Anchored */;
|
|
77
82
|
}
|
|
78
83
|
else if (maybeContextNode !== undefined) {
|
|
79
|
-
maybeLeaf =
|
|
84
|
+
maybeLeaf = parser_1.XorNodeUtils.boxContext(maybeContextNode);
|
|
80
85
|
leafKind = "Context" /* ContextNode */;
|
|
81
86
|
}
|
|
82
87
|
else if (astSearch.maybeBestOnOrBeforeNode !== undefined) {
|
|
83
|
-
maybeLeaf =
|
|
88
|
+
maybeLeaf = parser_1.XorNodeUtils.boxAst(astSearch.maybeBestOnOrBeforeNode);
|
|
84
89
|
leafKind = __1.PositionUtils.isAfterAst(position, astSearch.maybeBestOnOrBeforeNode, false)
|
|
85
90
|
? "AfterAstNode" /* AfterAstNode */
|
|
86
91
|
: "OnAstNode" /* OnAstNode */;
|
|
@@ -89,7 +94,7 @@ function maybeActiveNode(nodeIdMapCollection, position) {
|
|
|
89
94
|
return createOutOfBoundPosition(position);
|
|
90
95
|
}
|
|
91
96
|
var leaf = maybeLeaf;
|
|
92
|
-
return createActiveNode(leafKind, position,
|
|
97
|
+
return createActiveNode(leafKind, position, parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id), findIdentifierUnderPosition(nodeIdMapCollection, position, leaf));
|
|
93
98
|
}
|
|
94
99
|
exports.maybeActiveNode = maybeActiveNode;
|
|
95
100
|
function createActiveNode(leafKind, position, ancestry, maybeIdentifierUnderPosition) {
|
|
@@ -116,7 +121,7 @@ function assertActiveNode(nodeIdMapCollection, position) {
|
|
|
116
121
|
}
|
|
117
122
|
exports.assertActiveNode = assertActiveNode;
|
|
118
123
|
function assertGetLeaf(activeNode) {
|
|
119
|
-
return
|
|
124
|
+
return parser_1.AncestryUtils.assertGetLeaf(activeNode.ancestry);
|
|
120
125
|
}
|
|
121
126
|
exports.assertGetLeaf = assertGetLeaf;
|
|
122
127
|
function assertPositionInBounds(maybeValue) {
|
|
@@ -130,7 +135,7 @@ function isPositionInBounds(maybeValue) {
|
|
|
130
135
|
}
|
|
131
136
|
exports.isPositionInBounds = isPositionInBounds;
|
|
132
137
|
function maybeFirstXorOfNodeKind(activeNode, nodeKind) {
|
|
133
|
-
return
|
|
138
|
+
return parser_1.AncestryUtils.maybeFirstXorOfNodeKind(activeNode.ancestry, nodeKind);
|
|
134
139
|
}
|
|
135
140
|
exports.maybeFirstXorOfNodeKind = maybeFirstXorOfNodeKind;
|
|
136
141
|
var DrilldownConstantKind = [
|
|
@@ -146,17 +151,15 @@ var ShiftRightConstantKinds = __spreadArray([
|
|
|
146
151
|
"]" /* RightBracket */,
|
|
147
152
|
")" /* RightParenthesis */,
|
|
148
153
|
";" /* Semicolon */
|
|
149
|
-
], __read(DrilldownConstantKind));
|
|
154
|
+
], __read(DrilldownConstantKind), false);
|
|
150
155
|
function isAnchorNode(position, astNode) {
|
|
151
156
|
if (!__1.PositionUtils.isInAst(position, astNode, true, true)) {
|
|
152
157
|
return false;
|
|
153
158
|
}
|
|
154
|
-
if (astNode.kind === "Identifier" /* Identifier */ ||
|
|
155
|
-
astNode.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
159
|
+
if (astNode.kind === "Identifier" /* Identifier */ || astNode.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
156
160
|
return true;
|
|
157
161
|
}
|
|
158
|
-
else if (astNode.kind === "LiteralExpression" /* LiteralExpression */ &&
|
|
159
|
-
astNode.literalKind === "Numeric" /* Numeric */) {
|
|
162
|
+
else if (astNode.kind === "LiteralExpression" /* LiteralExpression */ && astNode.literalKind === "Numeric" /* Numeric */) {
|
|
160
163
|
return true;
|
|
161
164
|
}
|
|
162
165
|
else if (astNode.kind === "Constant" /* Constant */) {
|
|
@@ -243,14 +246,14 @@ function maybeFindAstNodes(nodeIdMapCollection, position) {
|
|
|
243
246
|
if (DrilldownConstantKind.indexOf(maybeBestOnOrBeforeNode.constantKind) !== -1 &&
|
|
244
247
|
(maybeBestAfter === null || maybeBestAfter === void 0 ? void 0 : maybeBestAfter.kind) === "Constant" /* Constant */ &&
|
|
245
248
|
PQP.Language.ConstantUtils.isPairedWrapperConstantKinds(maybeBestOnOrBeforeNode.constantKind, maybeBestAfter.constantKind)) {
|
|
246
|
-
var parent_1 =
|
|
249
|
+
var parent_1 = parser_1.NodeIdMapUtils.assertUnboxParentAstChecked(nodeIdMapCollection, currentOnOrBefore.id, [
|
|
247
250
|
"RecordExpression" /* RecordExpression */,
|
|
248
251
|
"RecordLiteral" /* RecordLiteral */,
|
|
249
252
|
"ListExpression" /* ListExpression */,
|
|
250
253
|
"ListLiteral" /* ListLiteral */,
|
|
251
254
|
"InvokeExpression" /* InvokeExpression */,
|
|
252
255
|
]);
|
|
253
|
-
var arrayWrapper =
|
|
256
|
+
var arrayWrapper = parser_1.NodeIdMapUtils.assertUnboxArrayWrapperAst(nodeIdMapCollection, parent_1.id);
|
|
254
257
|
maybeShiftedRightNode = arrayWrapper;
|
|
255
258
|
}
|
|
256
259
|
// Requires a shift to the right.
|
|
@@ -300,26 +303,24 @@ function maybeFindContext(nodeIdMapCollection, astNodeSearch) {
|
|
|
300
303
|
return maybeCurrent;
|
|
301
304
|
}
|
|
302
305
|
function findIdentifierUnderPosition(nodeIdMapCollection, position, leaf) {
|
|
303
|
-
if (
|
|
306
|
+
if (parser_1.XorNodeUtils.isContextXor(leaf)) {
|
|
304
307
|
return undefined;
|
|
305
308
|
}
|
|
306
309
|
var identifier;
|
|
307
310
|
// If closestLeaf is '@', then check if it's part of an IdentifierExpression.
|
|
308
|
-
if (leaf.node.kind === "Constant" /* Constant */ &&
|
|
309
|
-
leaf.node.constantKind === "@" /* AtSign */) {
|
|
311
|
+
if (leaf.node.kind === "Constant" /* Constant */ && leaf.node.constantKind === "@" /* AtSign */) {
|
|
310
312
|
var maybeParentId = nodeIdMapCollection.parentIdById.get(leaf.node.id);
|
|
311
313
|
if (maybeParentId === undefined) {
|
|
312
314
|
return undefined;
|
|
313
315
|
}
|
|
314
316
|
var parentId = maybeParentId;
|
|
315
|
-
var parent_2 =
|
|
317
|
+
var parent_2 = parser_1.NodeIdMapUtils.assertUnboxAst(nodeIdMapCollection.astNodeById, parentId);
|
|
316
318
|
if (parent_2.kind !== "IdentifierExpression" /* IdentifierExpression */) {
|
|
317
319
|
return undefined;
|
|
318
320
|
}
|
|
319
321
|
identifier = parent_2.identifier;
|
|
320
322
|
}
|
|
321
|
-
else if (leaf.node.kind === "Identifier" /* Identifier */ ||
|
|
322
|
-
leaf.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
323
|
+
else if (leaf.node.kind === "Identifier" /* Identifier */ || leaf.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
|
|
323
324
|
identifier = leaf.node;
|
|
324
325
|
}
|
|
325
326
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
|
-
import { InspectionSettings } from "../../inspectionSettings";
|
|
3
2
|
import { TMaybeActiveNode } from "../activeNode";
|
|
4
|
-
import { TypeCache } from "../typeCache";
|
|
5
3
|
import { TriedAutocompleteFieldAccess } from "./commonTypes";
|
|
4
|
+
import { InspectionSettings } from "../../inspectionSettings";
|
|
5
|
+
import { TypeCache } from "../typeCache";
|
|
6
6
|
export declare function tryAutocompleteFieldAccess(settings: InspectionSettings, parseState: PQP.Parser.ParseState, maybeActiveNode: TMaybeActiveNode, typeCache: TypeCache): TriedAutocompleteFieldAccess;
|
|
@@ -28,26 +28,38 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
28
28
|
}
|
|
29
29
|
return ar;
|
|
30
30
|
};
|
|
31
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
32
|
-
for (var i = 0,
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
32
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
33
|
+
if (ar || !(i in from)) {
|
|
34
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
35
|
+
ar[i] = from[i];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
35
39
|
};
|
|
36
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
41
|
exports.tryAutocompleteFieldAccess = void 0;
|
|
38
42
|
var PQP = require("@microsoft/powerquery-parser");
|
|
43
|
+
var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
39
44
|
var powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
40
|
-
var __1 = require("../..");
|
|
41
45
|
var activeNode_1 = require("../activeNode");
|
|
42
|
-
var type_1 = require("../type");
|
|
43
46
|
var autocompleteItem_1 = require("./autocompleteItem");
|
|
47
|
+
var __1 = require("../..");
|
|
48
|
+
var type_1 = require("../type");
|
|
44
49
|
function tryAutocompleteFieldAccess(settings, parseState, maybeActiveNode, typeCache) {
|
|
50
|
+
var _a;
|
|
51
|
+
var trace = settings.traceManager.entry("FieldAccess" /* FieldAccess */, tryAutocompleteFieldAccess.name);
|
|
52
|
+
var result;
|
|
45
53
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
46
|
-
|
|
54
|
+
result = powerquery_parser_1.ResultUtils.boxOk(undefined);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
result = powerquery_parser_1.ResultUtils.ensureResult(settings.locale, function () {
|
|
58
|
+
return autocompleteFieldAccess(settings, parseState, maybeActiveNode, typeCache);
|
|
59
|
+
});
|
|
47
60
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
61
|
+
trace.exit((_a = {}, _a["IsError" /* IsError */] = powerquery_parser_1.ResultUtils.isError(result), _a));
|
|
62
|
+
return result;
|
|
51
63
|
}
|
|
52
64
|
exports.tryAutocompleteFieldAccess = tryAutocompleteFieldAccess;
|
|
53
65
|
var AllowedExtendedTypeKindsForFieldEntries = [
|
|
@@ -55,10 +67,6 @@ var AllowedExtendedTypeKindsForFieldEntries = [
|
|
|
55
67
|
"DefinedRecord" /* DefinedRecord */,
|
|
56
68
|
"DefinedTable" /* DefinedTable */,
|
|
57
69
|
];
|
|
58
|
-
var FieldAccessNodeKinds = [
|
|
59
|
-
"FieldSelector" /* FieldSelector */,
|
|
60
|
-
"FieldProjection" /* FieldProjection */,
|
|
61
|
-
];
|
|
62
70
|
function autocompleteFieldAccess(settings, parseState, activeNode, typeCache) {
|
|
63
71
|
var e_1, _a;
|
|
64
72
|
var maybeInspectedFieldAccess = undefined;
|
|
@@ -67,7 +75,10 @@ function autocompleteFieldAccess(settings, parseState, activeNode, typeCache) {
|
|
|
67
75
|
try {
|
|
68
76
|
for (var _b = __values(activeNode.ancestry), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
69
77
|
var ancestor = _c.value;
|
|
70
|
-
if (
|
|
78
|
+
if (parser_1.XorNodeUtils.isNodeKind(ancestor, [
|
|
79
|
+
"FieldSelector" /* FieldSelector */,
|
|
80
|
+
"FieldProjection" /* FieldProjection */,
|
|
81
|
+
])) {
|
|
71
82
|
maybeFieldAccessAncestor = ancestor;
|
|
72
83
|
}
|
|
73
84
|
}
|
|
@@ -93,7 +104,7 @@ function autocompleteFieldAccess(settings, parseState, activeNode, typeCache) {
|
|
|
93
104
|
if (inspectedFieldAccess.isAutocompleteAllowed === false) {
|
|
94
105
|
return undefined;
|
|
95
106
|
}
|
|
96
|
-
// After a field access was found then find the field it's accessing and inspect the field's
|
|
107
|
+
// After a field access was found then find the field it's accessing and inspect the field's Type.
|
|
97
108
|
// This is delayed until after the field access because running static type analysis on an
|
|
98
109
|
// arbitrary field could be costly.
|
|
99
110
|
var nodeIdMapCollection = parseState.contextState.nodeIdMapCollection;
|
|
@@ -102,8 +113,8 @@ function autocompleteFieldAccess(settings, parseState, activeNode, typeCache) {
|
|
|
102
113
|
return undefined;
|
|
103
114
|
}
|
|
104
115
|
var field = maybeField;
|
|
105
|
-
var triedFieldType = type_1.tryType(settings, nodeIdMapCollection, field.node.id, typeCache);
|
|
106
|
-
if (
|
|
116
|
+
var triedFieldType = (0, type_1.tryType)(settings, nodeIdMapCollection, field.node.id, typeCache);
|
|
117
|
+
if (powerquery_parser_1.ResultUtils.isError(triedFieldType)) {
|
|
107
118
|
throw triedFieldType.error;
|
|
108
119
|
}
|
|
109
120
|
var fieldType = triedFieldType.value;
|
|
@@ -144,7 +155,7 @@ function fieldEntriesFromFieldType(type) {
|
|
|
144
155
|
}
|
|
145
156
|
case "DefinedRecord" /* DefinedRecord */:
|
|
146
157
|
case "DefinedTable" /* DefinedTable */:
|
|
147
|
-
return __spreadArray([], __read(type.fields.entries()));
|
|
158
|
+
return __spreadArray([], __read(type.fields.entries()), false);
|
|
148
159
|
default:
|
|
149
160
|
return [];
|
|
150
161
|
}
|
|
@@ -156,11 +167,7 @@ function inspectFieldAccess(lexerSnapshot, nodeIdMapCollection, position, fieldA
|
|
|
156
167
|
case "FieldSelector" /* FieldSelector */:
|
|
157
168
|
return inspectFieldSelector(lexerSnapshot, nodeIdMapCollection, position, fieldAccess);
|
|
158
169
|
default:
|
|
159
|
-
|
|
160
|
-
nodeId: fieldAccess.node.id,
|
|
161
|
-
nodeKind: fieldAccess.node.kind,
|
|
162
|
-
};
|
|
163
|
-
throw new PQP.CommonError.InvariantError("fieldAccess should be either " + "FieldProjection" /* FieldProjection */ + " or " + "FieldSelector" /* FieldSelector */, details);
|
|
170
|
+
throw powerquery_parser_1.Assert.isNever(fieldAccess.node);
|
|
164
171
|
}
|
|
165
172
|
}
|
|
166
173
|
function inspectFieldProjection(lexerSnapshot, nodeIdMapCollection, position, fieldProjection) {
|
|
@@ -169,14 +176,14 @@ function inspectFieldProjection(lexerSnapshot, nodeIdMapCollection, position, fi
|
|
|
169
176
|
var maybeIdentifierUnderPosition;
|
|
170
177
|
var fieldNames = [];
|
|
171
178
|
try {
|
|
172
|
-
for (var _b = __values(
|
|
179
|
+
for (var _b = __values(parser_1.NodeIdMapIterator.iterFieldProjection(nodeIdMapCollection, fieldProjection)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
173
180
|
var fieldSelector = _c.value;
|
|
174
181
|
var inspectedFieldSelector = inspectFieldSelector(lexerSnapshot, nodeIdMapCollection, position, fieldSelector);
|
|
175
182
|
if (inspectedFieldSelector.isAutocompleteAllowed || inspectedFieldSelector.maybeIdentifierUnderPosition) {
|
|
176
183
|
isAutocompleteAllowed = true;
|
|
177
184
|
maybeIdentifierUnderPosition = inspectedFieldSelector.maybeIdentifierUnderPosition;
|
|
178
185
|
}
|
|
179
|
-
fieldNames.push.apply(fieldNames, __spreadArray([], __read(inspectedFieldSelector.fieldNames)));
|
|
186
|
+
fieldNames.push.apply(fieldNames, __spreadArray([], __read(inspectedFieldSelector.fieldNames), false));
|
|
180
187
|
}
|
|
181
188
|
}
|
|
182
189
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
@@ -209,8 +216,7 @@ function inspectFieldSelector(lexerSnapshot, nodeIdMapCollection, position, fiel
|
|
|
209
216
|
return createInspectedFieldAccess(nodeIdMapCollection.astNodeById.has(childIds[0]));
|
|
210
217
|
}
|
|
211
218
|
var generalizedIdentifierId = childIds[1];
|
|
212
|
-
var generalizedIdentifierXor =
|
|
213
|
-
powerquery_parser_1.Assert.isTrue(generalizedIdentifierXor.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */, "generalizedIdentifier.node.kind === PQP.Language.Ast.NodeKind.GeneralizedIdentifier");
|
|
219
|
+
var generalizedIdentifierXor = parser_1.NodeIdMapUtils.assertGetXorChecked(nodeIdMapCollection, generalizedIdentifierId, "GeneralizedIdentifier" /* GeneralizedIdentifier */);
|
|
214
220
|
switch (generalizedIdentifierXor.kind) {
|
|
215
221
|
case "Ast" /* Ast */: {
|
|
216
222
|
var generalizedIdentifier = generalizedIdentifierXor.node;
|
|
@@ -225,7 +231,7 @@ function inspectFieldSelector(lexerSnapshot, nodeIdMapCollection, position, fiel
|
|
|
225
231
|
// TODO [Autocomplete]:
|
|
226
232
|
// This doesn't take into account of generalized identifiers consisting of multiple tokens.
|
|
227
233
|
// Eg. `foo[bar baz]` or `foo[#"bar baz"].
|
|
228
|
-
var openBracketConstant =
|
|
234
|
+
var openBracketConstant = parser_1.NodeIdMapUtils.assertUnboxNthChildAsAstChecked(nodeIdMapCollection, fieldSelector.node.id, 0, "Constant" /* Constant */);
|
|
229
235
|
var maybeNextTokenPosition = (_a = lexerSnapshot.tokens[openBracketConstant.tokenRange.tokenIndexEnd + 1]) === null || _a === void 0 ? void 0 : _a.positionStart;
|
|
230
236
|
var isAutocompleteAllowed = __1.PositionUtils.isAfterAst(position, openBracketConstant, false) &&
|
|
231
237
|
(maybeNextTokenPosition === undefined ||
|
|
@@ -238,7 +244,7 @@ function inspectFieldSelector(lexerSnapshot, nodeIdMapCollection, position, fiel
|
|
|
238
244
|
};
|
|
239
245
|
}
|
|
240
246
|
default:
|
|
241
|
-
throw
|
|
247
|
+
throw powerquery_parser_1.Assert.isNever(generalizedIdentifierXor);
|
|
242
248
|
}
|
|
243
249
|
}
|
|
244
250
|
function createAutocompleteItems(fieldEntries, inspectedFieldAccess) {
|
|
@@ -274,7 +280,7 @@ function maybeTypablePrimaryExpression(nodeIdMapCollection, activeNode) {
|
|
|
274
280
|
var xorNode = ancestry[index];
|
|
275
281
|
if (xorNode.node.kind === "RecursivePrimaryExpression" /* RecursivePrimaryExpression */) {
|
|
276
282
|
// The previous ancestor must be an attribute of Rpe, which is either its head or ArrrayWrapper.
|
|
277
|
-
var xorNodeBeforeRpe =
|
|
283
|
+
var xorNodeBeforeRpe = parser_1.AncestryUtils.assertGetNthPreviousXor(ancestry, index);
|
|
278
284
|
// If we're coming from the head node,
|
|
279
285
|
// then return undefined as there can be no nodes before the head ode.
|
|
280
286
|
if (xorNodeBeforeRpe.node.maybeAttributeIndex === 0) {
|
|
@@ -283,17 +289,17 @@ function maybeTypablePrimaryExpression(nodeIdMapCollection, activeNode) {
|
|
|
283
289
|
// Else if we're coming from the ArrayWrapper,
|
|
284
290
|
// then grab the previous sibling.
|
|
285
291
|
else if (xorNodeBeforeRpe.node.maybeAttributeIndex === 1) {
|
|
286
|
-
var rpeChild =
|
|
287
|
-
return
|
|
292
|
+
var rpeChild = parser_1.AncestryUtils.assertGetNthPreviousXor(ancestry, index, 2);
|
|
293
|
+
return parser_1.NodeIdMapUtils.assertGetRecursiveExpressionPreviousSibling(nodeIdMapCollection, rpeChild.node.id);
|
|
288
294
|
}
|
|
289
295
|
else {
|
|
290
|
-
throw new PQP.CommonError.InvariantError("the child of a "
|
|
296
|
+
throw new PQP.CommonError.InvariantError("the child of a ".concat("RecursivePrimaryExpression" /* RecursivePrimaryExpression */, " should have an attribute index of either 1 or 2"), {
|
|
291
297
|
parentId: xorNode.node.id,
|
|
292
298
|
childId: xorNodeBeforeRpe.node.id,
|
|
293
299
|
});
|
|
294
300
|
}
|
|
295
301
|
}
|
|
296
|
-
else if (matchingContiguousPrimaryExpression &&
|
|
302
|
+
else if (matchingContiguousPrimaryExpression && parser_1.XorNodeUtils.isTPrimaryExpression(xorNode)) {
|
|
297
303
|
maybeContiguousPrimaryExpression = xorNode;
|
|
298
304
|
}
|
|
299
305
|
else {
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteFieldAccess.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"autocompleteFieldAccess.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
1
|
import { CompletionItem } from "vscode-languageserver-types";
|
|
2
|
+
import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
3
|
export interface AutocompleteItem extends CompletionItem {
|
|
4
4
|
readonly jaroWinklerScore: number;
|
|
5
|
-
readonly powerQueryType:
|
|
5
|
+
readonly powerQueryType: Type.TPowerQueryType;
|
|
6
6
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Constant, Keyword, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
2
|
+
import type { AutocompleteItem } from "./autocompleteItem";
|
|
2
3
|
import { Inspection } from "../../..";
|
|
3
4
|
import { Library } from "../../../library";
|
|
4
|
-
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function createFromLanguageConstantKind(label: PQP.Language.Constant.LanguageConstantKind, maybeOther?: string): AutocompleteItem;
|
|
5
|
+
export declare function createFromFieldAccess(label: string, powerQueryType: Type.TPowerQueryType, maybeOther?: string): AutocompleteItem;
|
|
6
|
+
export declare function createFromKeywordKind(label: Keyword.KeywordKind, maybeOther?: string): AutocompleteItem;
|
|
7
|
+
export declare function createFromLanguageConstant(label: Constant.LanguageConstant, maybeOther?: string): AutocompleteItem;
|
|
8
8
|
export declare function createFromLibraryDefinition(label: string, libraryDefinition: Library.TLibraryDefinition, maybeOther?: string): Inspection.AutocompleteItem;
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function maybeCreateFromScopeItem(label: string, scopeItem: Inspection.TScopeItem, powerQueryType:
|
|
9
|
+
export declare function createFromPrimitiveTypeConstant(label: Constant.PrimitiveTypeConstant, maybeOther?: string): AutocompleteItem;
|
|
10
|
+
export declare function maybeCreateFromScopeItem(label: string, scopeItem: Inspection.TScopeItem, powerQueryType: Type.TPowerQueryType, maybeOther?: string): AutocompleteItem | undefined;
|
|
11
11
|
export declare function compareFn(left: AutocompleteItem, right: AutocompleteItem): number;
|
|
@@ -2,12 +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.compareFn = exports.maybeCreateFromScopeItem = exports.
|
|
5
|
+
exports.compareFn = exports.maybeCreateFromScopeItem = exports.createFromPrimitiveTypeConstant = exports.createFromLibraryDefinition = exports.createFromLanguageConstant = exports.createFromKeywordKind = exports.createFromFieldAccess = void 0;
|
|
6
6
|
var PQP = require("@microsoft/powerquery-parser");
|
|
7
|
+
var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
|
+
var powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
9
|
var vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
10
|
+
var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
8
11
|
var jaroWinkler_1 = require("../../jaroWinkler");
|
|
9
12
|
function createFromFieldAccess(label, powerQueryType, maybeOther) {
|
|
10
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
13
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
11
14
|
// If the key is a quoted identifier but doesn't need to be one then slice out the quote contents.
|
|
12
15
|
var identifierKind = PQP.StringUtils.identifierKind(label, false);
|
|
13
16
|
var normalizedLabel = identifierKind === "Quote" /* Quote */ ? label.slice(2, -1) : label;
|
|
@@ -20,27 +23,27 @@ function createFromFieldAccess(label, powerQueryType, maybeOther) {
|
|
|
20
23
|
}
|
|
21
24
|
exports.createFromFieldAccess = createFromFieldAccess;
|
|
22
25
|
function createFromKeywordKind(label, maybeOther) {
|
|
23
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
26
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
24
27
|
return {
|
|
25
28
|
jaroWinklerScore: jaroWinklerScore,
|
|
26
29
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
27
30
|
label: label,
|
|
28
|
-
powerQueryType:
|
|
31
|
+
powerQueryType: language_1.Type.NotApplicableInstance,
|
|
29
32
|
};
|
|
30
33
|
}
|
|
31
34
|
exports.createFromKeywordKind = createFromKeywordKind;
|
|
32
|
-
function
|
|
33
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
35
|
+
function createFromLanguageConstant(label, maybeOther) {
|
|
36
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
34
37
|
return {
|
|
35
38
|
jaroWinklerScore: jaroWinklerScore,
|
|
36
39
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
37
40
|
label: label,
|
|
38
|
-
powerQueryType:
|
|
41
|
+
powerQueryType: language_1.Type.NotApplicableInstance,
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
|
-
exports.
|
|
44
|
+
exports.createFromLanguageConstant = createFromLanguageConstant;
|
|
42
45
|
function createFromLibraryDefinition(label, libraryDefinition, maybeOther) {
|
|
43
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
46
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
44
47
|
return {
|
|
45
48
|
jaroWinklerScore: jaroWinklerScore,
|
|
46
49
|
kind: libraryDefinition.completionItemKind,
|
|
@@ -49,16 +52,16 @@ function createFromLibraryDefinition(label, libraryDefinition, maybeOther) {
|
|
|
49
52
|
};
|
|
50
53
|
}
|
|
51
54
|
exports.createFromLibraryDefinition = createFromLibraryDefinition;
|
|
52
|
-
function
|
|
53
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
55
|
+
function createFromPrimitiveTypeConstant(label, maybeOther) {
|
|
56
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
54
57
|
return {
|
|
55
58
|
jaroWinklerScore: jaroWinklerScore,
|
|
56
59
|
kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
|
|
57
60
|
label: label,
|
|
58
|
-
powerQueryType:
|
|
61
|
+
powerQueryType: language_1.TypeUtils.createPrimitiveType(label === "null" /* Null */, language_1.TypeUtils.typeKindFromPrimitiveTypeConstantKind(label)),
|
|
59
62
|
};
|
|
60
63
|
}
|
|
61
|
-
exports.
|
|
64
|
+
exports.createFromPrimitiveTypeConstant = createFromPrimitiveTypeConstant;
|
|
62
65
|
function maybeCreateFromScopeItem(label, scopeItem, powerQueryType, maybeOther) {
|
|
63
66
|
switch (scopeItem.kind) {
|
|
64
67
|
case "LetVariable" /* LetVariable */:
|
|
@@ -67,7 +70,7 @@ function maybeCreateFromScopeItem(label, scopeItem, powerQueryType, maybeOther)
|
|
|
67
70
|
if (scopeItem.maybeValue === undefined) {
|
|
68
71
|
return undefined;
|
|
69
72
|
}
|
|
70
|
-
label = scopeItem.isRecursive ? "@"
|
|
73
|
+
label = scopeItem.isRecursive ? "@".concat(label) : label;
|
|
71
74
|
break;
|
|
72
75
|
}
|
|
73
76
|
case "Each" /* Each */:
|
|
@@ -76,15 +79,15 @@ function maybeCreateFromScopeItem(label, scopeItem, powerQueryType, maybeOther)
|
|
|
76
79
|
break;
|
|
77
80
|
}
|
|
78
81
|
case "Undefined" /* Undefined */: {
|
|
79
|
-
if (scopeItem.xorNode
|
|
82
|
+
if (parser_1.XorNodeUtils.isContextXor(scopeItem.xorNode)) {
|
|
80
83
|
return undefined;
|
|
81
84
|
}
|
|
82
85
|
break;
|
|
83
86
|
}
|
|
84
87
|
default:
|
|
85
|
-
throw
|
|
88
|
+
throw powerquery_parser_1.Assert.isNever(scopeItem);
|
|
86
89
|
}
|
|
87
|
-
var jaroWinklerScore = maybeOther !== undefined ? jaroWinkler_1.calculateJaroWinkler(label, maybeOther) : 1;
|
|
90
|
+
var jaroWinklerScore = maybeOther !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, maybeOther) : 1;
|
|
88
91
|
return {
|
|
89
92
|
jaroWinklerScore: jaroWinklerScore,
|
|
90
93
|
kind: vscode_languageserver_types_1.CompletionItemKind.Variable,
|
|
@@ -98,16 +101,14 @@ function compareFn(left, right) {
|
|
|
98
101
|
if (jaroWinklerScoreDiff !== 0) {
|
|
99
102
|
return jaroWinklerScoreDiff;
|
|
100
103
|
}
|
|
104
|
+
else if (left.label < right.label) {
|
|
105
|
+
return -1;
|
|
106
|
+
}
|
|
107
|
+
else if (left.label > right.label) {
|
|
108
|
+
return 1;
|
|
109
|
+
}
|
|
101
110
|
else {
|
|
102
|
-
|
|
103
|
-
return -1;
|
|
104
|
-
}
|
|
105
|
-
else if (left.label > right.label) {
|
|
106
|
-
return 1;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
return 0;
|
|
110
|
-
}
|
|
111
|
+
return 0;
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
exports.compareFn = compareFn;
|