@microsoft/powerquery-language-services 0.3.38 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +17 -8
  2. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +41 -26
  3. package/lib/powerquery-language-services/analysis/analysisBase.js +524 -173
  4. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  5. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +8 -11
  6. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -2
  7. package/lib/powerquery-language-services/analysis/analysisUtils.js +20 -2
  8. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  9. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +4 -6
  10. package/lib/powerquery-language-services/analysis/documentAnalysis.js +4 -11
  11. package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
  12. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -0
  13. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +66 -0
  14. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -0
  15. package/lib/powerquery-language-services/formatter.d.ts +1 -1
  16. package/lib/powerquery-language-services/formatter.js +2 -4
  17. package/lib/powerquery-language-services/formatter.js.map +1 -1
  18. package/lib/powerquery-language-services/index.d.ts +0 -1
  19. package/lib/powerquery-language-services/index.js +0 -1
  20. package/lib/powerquery-language-services/index.js.map +1 -1
  21. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +5 -5
  22. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +5 -5
  23. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +78 -83
  24. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  25. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +2 -2
  26. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +37 -40
  27. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  28. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +7 -7
  29. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +17 -17
  30. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  31. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +3 -3
  32. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +43 -43
  33. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  34. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +7 -7
  35. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  36. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +7 -7
  37. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  38. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +4 -4
  39. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  40. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +24 -17
  41. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  42. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +4 -4
  43. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  44. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +9 -9
  45. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  46. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +1 -1
  47. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
  48. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  49. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +4 -4
  50. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +1 -1
  52. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -2
  53. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +21 -26
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +2 -2
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +21 -21
  57. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  58. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +1 -1
  59. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +2 -2
  60. package/lib/powerquery-language-services/inspection/autocomplete/task.js +12 -12
  61. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  62. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +2 -2
  63. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +12 -13
  64. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
  65. package/lib/powerquery-language-services/inspection/expectedType.d.ts +3 -3
  66. package/lib/powerquery-language-services/inspection/expectedType.js +8 -8
  67. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  68. package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +2 -2
  69. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +2 -2
  70. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +24 -24
  71. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  72. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +17 -18
  73. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +20 -22
  75. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  76. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +2 -2
  77. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +47 -45
  78. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  79. package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +7 -7
  80. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +15 -15
  81. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
  82. package/lib/powerquery-language-services/inspection/task.d.ts +4 -4
  83. package/lib/powerquery-language-services/inspection/task.js +17 -18
  84. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  85. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +7 -7
  86. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +56 -59
  87. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  88. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
  89. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +4 -5
  90. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  91. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
  92. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +4 -4
  93. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  94. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
  95. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +14 -12
  96. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  97. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +1 -1
  98. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +13 -13
  99. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  100. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +1 -1
  101. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +9 -9
  102. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  103. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +1 -1
  104. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +13 -14
  105. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  106. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
  107. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +6 -6
  108. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  109. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
  110. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +8 -8
  111. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  112. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
  113. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +9 -9
  114. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  115. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
  116. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +5 -5
  117. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  118. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
  119. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +5 -5
  120. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  121. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
  122. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +4 -4
  123. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  124. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
  125. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +18 -18
  126. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  127. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
  128. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +4 -4
  129. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  130. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
  131. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +7 -7
  132. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  133. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +1 -1
  134. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +2 -2
  135. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  136. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
  137. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +10 -10
  138. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  139. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
  140. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +6 -6
  141. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  142. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +1 -1
  143. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +3 -3
  144. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  145. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
  146. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +10 -10
  147. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  148. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
  149. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +7 -6
  150. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  151. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
  152. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +6 -6
  153. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  154. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
  155. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +10 -10
  156. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  157. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
  158. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +35 -41
  159. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  160. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
  161. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +9 -9
  162. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  163. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
  164. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +10 -12
  165. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  166. package/lib/powerquery-language-services/inspection/type/task.js +5 -5
  167. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  168. package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
  169. package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -6
  170. package/lib/powerquery-language-services/inspectionUtils.js +20 -75
  171. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  172. package/lib/powerquery-language-services/library/library.d.ts +1 -1
  173. package/lib/powerquery-language-services/library/libraryUtils.d.ts +9 -9
  174. package/lib/powerquery-language-services/library/libraryUtils.js +21 -21
  175. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  176. package/lib/powerquery-language-services/localization/localization.d.ts +3 -3
  177. package/lib/powerquery-language-services/localization/localization.js +9 -9
  178. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  179. package/lib/powerquery-language-services/positionUtils.js +16 -17
  180. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  181. package/lib/powerquery-language-services/providers/commonTypes.d.ts +41 -13
  182. package/lib/powerquery-language-services/providers/index.d.ts +2 -2
  183. package/lib/powerquery-language-services/providers/index.js +4 -4
  184. package/lib/powerquery-language-services/providers/index.js.map +1 -1
  185. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +4 -4
  186. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +22 -19
  187. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  188. package/lib/powerquery-language-services/providers/libraryProvider.d.ts +17 -0
  189. package/lib/powerquery-language-services/providers/libraryProvider.js +129 -0
  190. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -0
  191. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.d.ts +4 -0
  192. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +51 -0
  193. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -0
  194. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +18 -19
  195. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +131 -116
  196. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  197. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +112 -124
  198. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  199. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +11 -8
  200. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +12 -5
  201. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  202. package/lib/powerquery-language-services/traceUtils.d.ts +1 -1
  203. package/lib/powerquery-language-services/traceUtils.js +1 -1
  204. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  205. package/lib/powerquery-language-services/validate/validate.d.ts +2 -2
  206. package/lib/powerquery-language-services/validate/validate.js +19 -20
  207. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  208. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +2 -1
  209. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +24 -54
  210. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  211. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -6
  212. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  213. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
  214. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +23 -23
  215. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  216. package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -0
  217. package/lib/powerquery-language-services/validate/validateParse.js +74 -0
  218. package/lib/powerquery-language-services/validate/validateParse.js.map +1 -0
  219. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +19 -15
  220. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  221. package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +2 -2
  222. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +31 -31
  223. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
  224. package/package.json +3 -3
  225. package/lib/powerquery-language-services/documentSymbols.d.ts +0 -3
  226. package/lib/powerquery-language-services/documentSymbols.js +0 -100
  227. package/lib/powerquery-language-services/documentSymbols.js.map +0 -1
  228. package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +0 -15
  229. package/lib/powerquery-language-services/providers/librarySymbolProvider.js +0 -117
  230. package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +0 -1
  231. package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +0 -4
  232. package/lib/powerquery-language-services/validate/validateLexAndParse.js +0 -130
  233. package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +0 -1
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
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
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LibraryProvider = void 0;
15
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
+ const vscode_languageserver_types_1 = require("vscode-languageserver-types");
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 LibraryProvider {
21
+ constructor(library, locale) {
22
+ this.locale = locale;
23
+ this.externalTypeResolver = library.externalTypeResolver;
24
+ this.libraryDefinitions = library.libraryDefinitions;
25
+ this.signatureInformationByLabel = new Map();
26
+ }
27
+ getAutocompleteItems(context) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ // eslint-disable-next-line require-await
30
+ return yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
31
+ var _a;
32
+ const trace = context.traceManager.entry("LibrarySymbolProvider" /* LibrarySymbolProvider */, this.getAutocompleteItems.name, context.initialCorrelationId);
33
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
34
+ if (!context.text || !context.range) {
35
+ trace.exit({ invalidContext: true });
36
+ return undefined;
37
+ }
38
+ const autocompleteItems = [];
39
+ const contextText = context.text;
40
+ for (const [label, definition] of this.libraryDefinitions.entries()) {
41
+ autocompleteItems.push(inspection_1.AutocompleteItemUtils.createFromLibraryDefinition(label, definition, contextText));
42
+ }
43
+ trace.exit();
44
+ return autocompleteItems;
45
+ }), this.locale);
46
+ });
47
+ }
48
+ getHover(context) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ // eslint-disable-next-line require-await
51
+ return yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
52
+ var _a, _b;
53
+ const trace = context.traceManager.entry("LibrarySymbolProvider" /* LibrarySymbolProvider */, this.getHover.name, context.initialCorrelationId);
54
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
55
+ if (!context.identifier) {
56
+ trace.exit({ invalidContext: true });
57
+ return undefined;
58
+ }
59
+ const identifierLiteral = context.identifier.literal;
60
+ const definition = this.libraryDefinitions.get(identifierLiteral);
61
+ if (definition === undefined) {
62
+ trace.exit({ invalidContext: true });
63
+ return undefined;
64
+ }
65
+ const definitionText = LibraryProvider.getDefinitionKindText(definition.kind);
66
+ const definitionTypeText = language_1.TypeUtils.nameOf(definition.asPowerQueryType, context.traceManager, trace.id);
67
+ (_b = context.cancellationToken) === null || _b === void 0 ? void 0 : _b.throwIfCancelled();
68
+ const hover = {
69
+ contents: {
70
+ kind: vscode_languageserver_types_1.MarkupKind.PlainText,
71
+ language: "powerquery",
72
+ value: `[${definitionText}] ${identifierLiteral}: ${definitionTypeText}`,
73
+ },
74
+ range: undefined,
75
+ };
76
+ trace.exit();
77
+ return hover;
78
+ }), this.locale);
79
+ });
80
+ }
81
+ getSignatureHelp(context) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ // eslint-disable-next-line require-await
84
+ return yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
85
+ var _a, _b;
86
+ const trace = context.traceManager.entry("LibrarySymbolProvider" /* LibrarySymbolProvider */, this.getSignatureHelp.name, context.initialCorrelationId);
87
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
88
+ if (!context.functionName) {
89
+ trace.exit({ invalidContext: true });
90
+ return undefined;
91
+ }
92
+ const identifierLiteral = context.functionName;
93
+ const definition = this.libraryDefinitions.get(identifierLiteral);
94
+ if (!library_1.LibraryUtils.isFunction(definition)) {
95
+ trace.exit({ invalidContext: true });
96
+ return undefined;
97
+ }
98
+ const result = {
99
+ activeParameter: (_b = context.argumentOrdinal) !== null && _b !== void 0 ? _b : 0,
100
+ activeSignature: 0,
101
+ signatures: [this.getOrCreateSignatureInformation(identifierLiteral)],
102
+ };
103
+ trace.exit();
104
+ return result;
105
+ }), this.locale);
106
+ });
107
+ }
108
+ static getDefinitionKindText(kind) {
109
+ switch (kind) {
110
+ case "Function" /* Function */:
111
+ return "library function";
112
+ case "Constant" /* Constant */:
113
+ return "library constant";
114
+ case "Type" /* Type */:
115
+ return "library type";
116
+ default:
117
+ throw powerquery_parser_1.Assert.isNever(kind);
118
+ }
119
+ }
120
+ getOrCreateSignatureInformation(key) {
121
+ if (!this.signatureInformationByLabel.has(key)) {
122
+ const definition = library_1.LibraryUtils.assertAsFunction(this.libraryDefinitions.get(key));
123
+ this.signatureInformationByLabel.set(key, library_1.LibraryUtils.createSignatureInformation(definition));
124
+ }
125
+ return powerquery_parser_1.Assert.asDefined(this.signatureInformationByLabel.get(key));
126
+ }
127
+ }
128
+ exports.LibraryProvider = LibraryProvider;
129
+ //# sourceMappingURL=libraryProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libraryProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/libraryProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
2
+ import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace";
3
+ import { FoldingRange } from "vscode-languageserver-types";
4
+ export declare function createFoldingRanges(nodeIdMapCollection: NodeIdMap.Collection, traceManager: TraceManager, correlationId: number): FoldingRange[];
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.createFoldingRanges = void 0;
6
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
7
+ function createFoldingRanges(nodeIdMapCollection, traceManager, correlationId) {
8
+ const trace = traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, createFoldingRanges.name, correlationId);
9
+ let foldingRanges = [];
10
+ foldingRanges = foldingRanges
11
+ .concat(getFoldingRanges(nodeIdMapCollection, "FunctionExpression" /* FunctionExpression */, traceManager, trace.id))
12
+ .concat(getFoldingRanges(nodeIdMapCollection, "IfExpression" /* IfExpression */, traceManager, trace.id))
13
+ .concat(getFoldingRanges(nodeIdMapCollection, "InvokeExpression" /* InvokeExpression */, traceManager, trace.id))
14
+ .concat(getFoldingRanges(nodeIdMapCollection, "LetExpression" /* LetExpression */, traceManager, trace.id))
15
+ .concat(getFoldingRanges(nodeIdMapCollection, "ListExpression" /* ListExpression */, traceManager, trace.id))
16
+ .concat(getFoldingRanges(nodeIdMapCollection, "ListLiteral" /* ListLiteral */, traceManager, trace.id))
17
+ .concat(getFoldingRanges(nodeIdMapCollection, "MetadataExpression" /* MetadataExpression */, traceManager, trace.id))
18
+ .concat(getFoldingRanges(nodeIdMapCollection, "RecordExpression" /* RecordExpression */, traceManager, trace.id))
19
+ .concat(getFoldingRanges(nodeIdMapCollection, "RecordLiteral" /* RecordLiteral */, traceManager, trace.id))
20
+ .concat(getFoldingRanges(nodeIdMapCollection, "SectionMember" /* SectionMember */, traceManager, trace.id))
21
+ .concat(getFoldingRanges(nodeIdMapCollection, "TypePrimaryType" /* TypePrimaryType */, traceManager, trace.id));
22
+ trace.exit();
23
+ return foldingRanges;
24
+ }
25
+ exports.createFoldingRanges = createFoldingRanges;
26
+ function getFoldingRanges(nodeIdMapCollection, nodeKind, traceManager, correlationId) {
27
+ var _a;
28
+ const trace = traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, getFoldingRanges.name, correlationId, { nodeKind });
29
+ const foldingRanges = [];
30
+ for (const nodeId of (_a = nodeIdMapCollection.idsByNodeKind.get(nodeKind)) !== null && _a !== void 0 ? _a : []) {
31
+ const node = parser_1.NodeIdMapUtils.unboxIfAstChecked(nodeIdMapCollection, nodeId, nodeKind);
32
+ if (node === undefined) {
33
+ continue;
34
+ }
35
+ const tokenRange = node.tokenRange;
36
+ if (tokenRange.positionStart.lineNumber !== tokenRange.positionEnd.lineNumber) {
37
+ foldingRanges.push(asFoldingRange(tokenRange));
38
+ }
39
+ }
40
+ trace.exit();
41
+ return foldingRanges;
42
+ }
43
+ function asFoldingRange(tokenRange) {
44
+ return {
45
+ startCharacter: tokenRange.positionStart.lineCodeUnit,
46
+ startLine: tokenRange.positionStart.lineNumber,
47
+ endCharacter: tokenRange.positionEnd.lineCodeUnit,
48
+ endLine: tokenRange.positionEnd.lineNumber,
49
+ };
50
+ }
51
+ //# sourceMappingURL=foldingRanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foldingRanges.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,21 @@
1
- import { Hover, Location, SignatureHelp } from "vscode-languageserver-types";
2
- import { DocumentUri } from "vscode-languageserver-textdocument";
3
- import { AutocompleteItemProviderContext, IDefinitionProvider, ISemanticTokenProvider, ISymbolProvider, OnIdentifierProviderContext, PartialSemanticToken, ProviderContext, SignatureProviderContext } from "../commonTypes";
4
- import { Inspection, Library } from "../..";
5
- import { InspectionSettings } from "../../inspectionSettings";
6
- export declare class LocalDocumentProvider implements IDefinitionProvider, ISemanticTokenProvider, ISymbolProvider {
1
+ import { CommonError, Result } from "@microsoft/powerquery-parser";
2
+ import { DocumentUri, FoldingRange, Hover, Location, SignatureHelp } from "vscode-languageserver-types";
3
+ import { AutocompleteItemProviderContext, DefinitionProviderContext, FoldingRangeProviderContext, HoverProviderContext, ILocalDocumentProvider, PartialSemanticToken, SemanticTokenProviderContext, SignatureProviderContext } from "../commonTypes";
4
+ import { Inspection } from "../..";
5
+ import { ILibrary } from "../../library/library";
6
+ export declare class LocalDocumentProvider implements ILocalDocumentProvider {
7
7
  private readonly uri;
8
- private readonly promiseMaybeInspected;
9
- private readonly createInspectionSettingsFn;
10
- readonly externalTypeResolver: Inspection.ExternalType.TExternalTypeResolverFn;
11
- readonly libraryDefinitions: Library.LibraryDefinitions;
12
- constructor(library: Library.ILibrary, uri: DocumentUri, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings);
13
- getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<ReadonlyArray<Inspection.AutocompleteItem>>;
14
- getDefinition(context: OnIdentifierProviderContext): Promise<Location[] | null>;
15
- getHover(context: OnIdentifierProviderContext): Promise<Hover | null>;
16
- getPartialSemanticTokens(context: ProviderContext): Promise<PartialSemanticToken[]>;
17
- getSignatureHelp(context: SignatureProviderContext): Promise<SignatureHelp | null>;
18
- protected static getHoverForIdentifierPairedExpression(context: OnIdentifierProviderContext, inspectionSettings: InspectionSettings, inspected: Inspection.Inspected, activeNode: Inspection.ActiveNode, correlationId: number): Promise<Hover | undefined>;
19
- protected static getHoverForScopeItem(context: OnIdentifierProviderContext, nodeScope: Inspection.NodeScope, scopeType: Inspection.ScopeTypeByKey, correlationId: number): Hover | undefined;
20
- private getMaybeInspectionInvokeExpression;
8
+ private readonly typeCache;
9
+ private readonly library;
10
+ protected readonly locale: string;
11
+ constructor(uri: DocumentUri, typeCache: Inspection.TypeCache, library: ILibrary, locale: string);
12
+ getAutocompleteItems(context: AutocompleteItemProviderContext): Promise<Result<Inspection.AutocompleteItem[] | undefined, CommonError.CommonError>>;
13
+ getDefinition(context: DefinitionProviderContext): Promise<Result<Location[] | undefined, CommonError.CommonError>>;
14
+ getFoldingRanges(context: FoldingRangeProviderContext): Promise<Result<FoldingRange[], CommonError.CommonError>>;
15
+ getHover(context: HoverProviderContext): Promise<Result<Hover | undefined, CommonError.CommonError>>;
16
+ getPartialSemanticTokens(context: SemanticTokenProviderContext): Promise<Result<PartialSemanticToken[] | undefined, CommonError.CommonError>>;
17
+ getSignatureHelp(context: SignatureProviderContext): Promise<Result<SignatureHelp | undefined, CommonError.CommonError>>;
18
+ protected getHoverForIdentifierPairedExpression(context: HoverProviderContext, correlationId: number): Promise<Hover | undefined>;
19
+ protected getHoverForScopeItem(context: HoverProviderContext, nodeScope: Inspection.NodeScope, scopeType: Inspection.ScopeTypeByKey, correlationId: number): Hover | undefined;
21
20
  private getAutocompleteItemsFromFieldAccess;
22
21
  }
@@ -14,126 +14,151 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.LocalDocumentProvider = void 0;
15
15
  const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
16
16
  const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
17
- const vscode_languageserver_types_1 = require("vscode-languageserver-types");
18
17
  const powerquery_parser_1 = require("@microsoft/powerquery-parser");
18
+ const vscode_languageserver_types_1 = require("vscode-languageserver-types");
19
19
  const InspectionUtils = require("../../inspectionUtils");
20
20
  const __1 = require("../..");
21
+ const foldingRanges_1 = require("./foldingRanges");
21
22
  const partialSemanticToken_1 = require("./partialSemanticToken");
22
23
  const inspection_1 = require("../../inspection");
23
24
  class LocalDocumentProvider {
24
- constructor(library, uri, promiseMaybeInspected, createInspectionSettingsFn) {
25
+ constructor(uri, typeCache, library, locale) {
25
26
  this.uri = uri;
26
- this.promiseMaybeInspected = promiseMaybeInspected;
27
- this.createInspectionSettingsFn = createInspectionSettingsFn;
28
- this.externalTypeResolver = library.externalTypeResolver;
29
- this.libraryDefinitions = library.libraryDefinitions;
27
+ this.typeCache = typeCache;
28
+ this.library = library;
29
+ this.locale = locale;
30
30
  }
31
31
  getAutocompleteItems(context) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getAutocompleteItems.name, context.maybeInitialCorrelationId);
34
- const maybeInspected = yield this.promiseMaybeInspected;
35
- if (maybeInspected === undefined) {
36
- trace.exit({ maybeInspectedUndefined: true });
37
- return [];
38
- }
39
- const result = [
40
- ...this.getAutocompleteItemsFromFieldAccess(maybeInspected),
41
- ...(yield InspectionUtils.getAutocompleteItemsFromScope(context, maybeInspected)),
42
- ];
32
+ // eslint-disable-next-line require-await
33
+ return powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
34
+ var _a;
35
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getAutocompleteItems.name, context.initialCorrelationId);
36
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
37
+ const autocompleteItems = [
38
+ ...this.getAutocompleteItemsFromFieldAccess(context.autocomplete),
39
+ ].concat(InspectionUtils.getAutocompleteItemsFromScope(context));
43
40
  trace.exit();
44
- return result;
45
- });
41
+ return autocompleteItems;
42
+ }), this.locale);
46
43
  }
47
44
  getDefinition(context) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getDefinition.name, context.maybeInitialCorrelationId);
45
+ // eslint-disable-next-line require-await
46
+ return powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
47
+ var _a;
48
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getDefinition.name, context.initialCorrelationId);
49
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
50
50
  if (context.identifier.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */ ||
51
51
  context.identifier.identifierContextKind !== "Value" /* Value */) {
52
- return null;
53
- }
54
- const maybeInspected = yield this.promiseMaybeInspected;
55
- if (maybeInspected === undefined) {
56
- return null;
52
+ return undefined;
57
53
  }
58
- const triedNodeScope = yield maybeInspected.triedNodeScope;
54
+ const triedNodeScope = context.triedNodeScope;
59
55
  if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
60
- return null;
56
+ return undefined;
61
57
  }
62
- const maybeScopeItem = triedNodeScope.value.get(context.identifier.literal);
63
- if (maybeScopeItem === undefined) {
64
- return null;
58
+ const scopeItem = triedNodeScope.value.get(context.identifier.literal);
59
+ if (scopeItem === undefined) {
60
+ return undefined;
65
61
  }
66
- const creator = inspection_1.ScopeUtils.maybeScopeCreatorIdentifier(maybeScopeItem);
62
+ const creator = inspection_1.ScopeUtils.scopeCreatorIdentifier(scopeItem);
67
63
  if (creator === undefined) {
68
- return null;
64
+ return undefined;
69
65
  }
70
- const result = {
66
+ const location = {
71
67
  range: __1.PositionUtils.createRangeFromTokenRange(creator.tokenRange),
72
68
  uri: this.uri,
73
69
  };
74
70
  trace.exit();
75
- return [result];
76
- });
71
+ return [location];
72
+ }), this.locale);
73
+ }
74
+ getFoldingRanges(context) {
75
+ // eslint-disable-next-line require-await
76
+ return powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
77
+ var _a;
78
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getFoldingRanges.name, context.initialCorrelationId);
79
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
80
+ const foldingRanges = (0, foldingRanges_1.createFoldingRanges)(context.nodeIdMapCollection, context.traceManager, trace.id);
81
+ trace.exit();
82
+ return foldingRanges;
83
+ }), this.locale);
77
84
  }
78
85
  getHover(context) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHover.name, context.maybeInitialCorrelationId);
81
- const maybeInspected = yield this.promiseMaybeInspected;
82
- if (maybeInspected === undefined) {
83
- trace.exit({ maybeInspectedUndefined: true });
84
- return null;
85
- }
86
- const activeNode = maybeInspected.maybeActiveNode;
87
- if (!__1.Inspection.ActiveNodeUtils.isPositionInBounds(activeNode)) {
88
- trace.exit({ outOfBounds: true });
89
- return null;
86
+ return powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
87
+ var _a;
88
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHover.name, context.initialCorrelationId);
89
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
90
+ let hover = yield this.getHoverForIdentifierPairedExpression(context, trace.id);
91
+ if (hover !== undefined) {
92
+ trace.exit({ hover: true });
93
+ return hover;
90
94
  }
91
- let maybeHover = yield LocalDocumentProvider.getHoverForIdentifierPairedExpression(context, this.createInspectionSettingsFn(), maybeInspected, activeNode, trace.id);
92
- if (maybeHover !== undefined) {
93
- trace.exit({ maybeHover: true });
94
- return maybeHover;
95
- }
96
- const triedNodeScope = yield maybeInspected.triedNodeScope;
97
- const triedScopeType = yield maybeInspected.triedScopeType;
95
+ const triedNodeScope = context.triedNodeScope;
96
+ const triedScopeType = context.triedScopeType;
98
97
  if (!powerquery_parser_1.ResultUtils.isOk(triedNodeScope) || !powerquery_parser_1.ResultUtils.isOk(triedScopeType)) {
99
98
  trace.exit({ inspectionError: true });
100
- return null;
99
+ return undefined;
101
100
  }
102
- maybeHover = LocalDocumentProvider.getHoverForScopeItem(context, triedNodeScope.value, triedScopeType.value, trace.id);
101
+ hover = this.getHoverForScopeItem(context, triedNodeScope.value, triedScopeType.value, trace.id);
103
102
  trace.exit();
104
- return maybeHover !== null && maybeHover !== void 0 ? maybeHover : null;
105
- });
103
+ return hover !== null && hover !== void 0 ? hover : undefined;
104
+ }), this.locale);
106
105
  }
107
106
  // eslint-disable-next-line require-await
108
107
  getPartialSemanticTokens(context) {
109
108
  return __awaiter(this, void 0, void 0, function* () {
110
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getPartialSemanticTokens.name, context.maybeInitialCorrelationId);
111
- const maybeInspected = yield this.promiseMaybeInspected;
112
- if (maybeInspected === undefined) {
113
- return [];
114
- }
115
- const nodeIdMapCollection = maybeInspected.parseState.contextState.nodeIdMapCollection;
116
- const tokens = (0, partialSemanticToken_1.createPartialSemanticTokens)(nodeIdMapCollection, this.libraryDefinitions, context.traceManager, trace.id);
117
- trace.exit();
118
- return tokens;
109
+ return powerquery_parser_1.ResultUtils.ensureResult(() => {
110
+ var _a;
111
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getPartialSemanticTokens.name, context.initialCorrelationId);
112
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
113
+ const nodeIdMapCollection = context.parseState.contextState.nodeIdMapCollection;
114
+ const tokens = (0, partialSemanticToken_1.createPartialSemanticTokens)(nodeIdMapCollection, this.library.libraryDefinitions, context.traceManager, trace.id);
115
+ trace.exit();
116
+ return tokens;
117
+ }, this.locale);
119
118
  });
120
119
  }
120
+ // eslint-disable-next-line require-await
121
121
  getSignatureHelp(context) {
122
122
  return __awaiter(this, void 0, void 0, function* () {
123
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getSignatureHelp.name, context.maybeInitialCorrelationId);
124
- const maybeInvokeInspection = yield this.getMaybeInspectionInvokeExpression();
125
- if (maybeInvokeInspection === undefined) {
126
- trace.exit({ maybeInvokeInspectionUndefined: true });
127
- return null;
128
- }
129
- const inspection = maybeInvokeInspection;
130
- if (inspection.maybeName && !inspection.isNameInLocalScope) {
131
- trace.exit({ unknownName: true });
132
- return null;
133
- }
134
- const result = InspectionUtils.getMaybeSignatureHelp(context, trace.id);
135
- trace.exit();
136
- return result;
123
+ return powerquery_parser_1.ResultUtils.ensureResult(() => {
124
+ var _a;
125
+ const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getSignatureHelp.name, context.initialCorrelationId);
126
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
127
+ const invokeInspection = powerquery_parser_1.ResultUtils.isOk(context.triedCurrentInvokeExpression)
128
+ ? context.triedCurrentInvokeExpression.value
129
+ : undefined;
130
+ if (invokeInspection === undefined) {
131
+ trace.exit({ invokeInspectionUndefined: true });
132
+ return undefined;
133
+ }
134
+ if (invokeInspection.name && !invokeInspection.isNameInLocalScope) {
135
+ trace.exit({ unknownName: true });
136
+ return undefined;
137
+ }
138
+ const identifierLiteral = context.functionName;
139
+ if (identifierLiteral === undefined || !language_1.TypeUtils.isDefinedFunction(context.functionType)) {
140
+ return undefined;
141
+ }
142
+ const nameOfParameters = context.functionType.parameters
143
+ .map((parameter) => language_1.TypeUtils.nameOfFunctionParameter(parameter, context.traceManager, trace.id))
144
+ .join(", ");
145
+ const label = `${identifierLiteral}(${nameOfParameters})`;
146
+ const parameters = context.functionType.parameters;
147
+ const result = {
148
+ activeParameter: context.argumentOrdinal,
149
+ activeSignature: 0,
150
+ signatures: [
151
+ {
152
+ label,
153
+ parameters: parameters.map((parameter) => ({
154
+ label: parameter.nameLiteral,
155
+ })),
156
+ },
157
+ ],
158
+ };
159
+ trace.exit();
160
+ return result;
161
+ }, this.locale);
137
162
  });
138
163
  }
139
164
  // When hovering over a key it should show the type for the value.
@@ -141,35 +166,35 @@ class LocalDocumentProvider {
141
166
  // * GeneralizedIdentifierPairedAnyLiteral
142
167
  // * GeneralizedIdentifierPairedExpression
143
168
  // * IdentifierPairedExpression
144
- static getHoverForIdentifierPairedExpression(context, inspectionSettings, inspected, activeNode, correlationId) {
145
- var _a, _b, _c;
169
+ getHoverForIdentifierPairedExpression(context, correlationId) {
170
+ var _a, _b, _c, _d;
146
171
  return __awaiter(this, void 0, void 0, function* () {
147
172
  const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHoverForIdentifierPairedExpression.name, correlationId);
148
- const parseState = inspected.parseState;
149
- const ancestry = activeNode.ancestry;
150
- const maybeLeafKind = (_a = ancestry[0]) === null || _a === void 0 ? void 0 : _a.node.kind;
151
- const isValidLeafNodeKind = ["GeneralizedIdentifier" /* GeneralizedIdentifier */, "Identifier" /* Identifier */].includes(maybeLeafKind);
173
+ (_a = context.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
174
+ const ancestry = context.activeNode.ancestry;
175
+ const leafKInd = (_b = ancestry[0]) === null || _b === void 0 ? void 0 : _b.node.kind;
176
+ const isValidLeafNodeKind = ["GeneralizedIdentifier" /* GeneralizedIdentifier */, "Identifier" /* Identifier */].includes(leafKInd);
152
177
  if (!isValidLeafNodeKind) {
153
178
  trace.exit();
154
179
  return undefined;
155
180
  }
156
- const maybeIdentifierPairedExpression = parser_1.AncestryUtils.maybeNthXorChecked(activeNode.ancestry, 1, [
181
+ const identifierPairedExpression = parser_1.AncestryUtils.nthXorChecked(context.activeNode.ancestry, 1, [
157
182
  "GeneralizedIdentifierPairedAnyLiteral" /* GeneralizedIdentifierPairedAnyLiteral */,
158
183
  "GeneralizedIdentifierPairedExpression" /* GeneralizedIdentifierPairedExpression */,
159
184
  "IdentifierPairedExpression" /* IdentifierPairedExpression */,
160
185
  ]);
161
186
  // We're on an identifier in some other context which we don't support.
162
- if (maybeIdentifierPairedExpression === undefined) {
187
+ if (identifierPairedExpression === undefined) {
163
188
  trace.exit();
164
189
  return undefined;
165
190
  }
166
- const maybeExpression = parser_1.NodeIdMapUtils.maybeNthChild(parseState.contextState.nodeIdMapCollection, maybeIdentifierPairedExpression.node.id, 2);
191
+ const expression = parser_1.NodeIdMapUtils.nthChild(context.parseState.contextState.nodeIdMapCollection, identifierPairedExpression.node.id, 2);
167
192
  // We're on an identifier in some other context which we don't support.
168
- if (maybeExpression === undefined) {
193
+ if (expression === undefined) {
169
194
  trace.exit();
170
195
  return undefined;
171
196
  }
172
- const triedExpressionType = yield __1.Inspection.tryType(inspectionSettings, parseState.contextState.nodeIdMapCollection, maybeExpression.node.id, inspected.typeCache);
197
+ const triedExpressionType = yield __1.Inspection.tryType(Object.assign(Object.assign({}, context.inspectionSettings), { initialCorrelationId: trace.id }), context.parseState.contextState.nodeIdMapCollection, expression.node.id, this.typeCache);
173
198
  // TODO handle error
174
199
  if (powerquery_parser_1.ResultUtils.isError(triedExpressionType)) {
175
200
  trace.exit();
@@ -177,17 +202,17 @@ class LocalDocumentProvider {
177
202
  }
178
203
  let scopeItemText = "unknown";
179
204
  // If it's a SectionMember
180
- const maybeThirdNodeKind = (_b = ancestry[2]) === null || _b === void 0 ? void 0 : _b.node.kind;
181
- if (maybeThirdNodeKind === "SectionMember" /* SectionMember */) {
205
+ const thirdNodeKind = (_c = ancestry[2]) === null || _c === void 0 ? void 0 : _c.node.kind;
206
+ if (thirdNodeKind === "SectionMember" /* SectionMember */) {
182
207
  scopeItemText = InspectionUtils.getScopeItemKindText("SectionMember" /* SectionMember */);
183
208
  }
184
209
  // Else if it's RecordExpression or RecordLiteral
185
- const maybeFifthNodeKind = (_c = ancestry[4]) === null || _c === void 0 ? void 0 : _c.node.kind;
186
- const isRecordNodeKind = ["RecordExpression" /* RecordExpression */, "RecordLiteral" /* RecordLiteral */].includes(maybeFifthNodeKind);
210
+ const fifthNodeKind = (_d = ancestry[4]) === null || _d === void 0 ? void 0 : _d.node.kind;
211
+ const isRecordNodeKind = ["RecordExpression" /* RecordExpression */, "RecordLiteral" /* RecordLiteral */].includes(fifthNodeKind);
187
212
  if (isRecordNodeKind) {
188
213
  scopeItemText = InspectionUtils.getScopeItemKindText("RecordField" /* RecordField */);
189
214
  }
190
- else if (maybeFifthNodeKind === "LetExpression" /* LetExpression */) {
215
+ else if (fifthNodeKind === "LetExpression" /* LetExpression */) {
191
216
  scopeItemText = InspectionUtils.getScopeItemKindText("LetVariable" /* LetVariable */);
192
217
  }
193
218
  const nameOfExpressionType = language_1.TypeUtils.nameOf(triedExpressionType.value, context.traceManager, trace.id);
@@ -203,16 +228,16 @@ class LocalDocumentProvider {
203
228
  return result;
204
229
  });
205
230
  }
206
- static getHoverForScopeItem(context, nodeScope, scopeType, correlationId) {
231
+ getHoverForScopeItem(context, nodeScope, scopeType, correlationId) {
207
232
  const identifierLiteral = context.identifier.literal;
208
- const maybeScopeItem = nodeScope.get(identifierLiteral);
209
- if (maybeScopeItem === undefined || maybeScopeItem.kind === "Undefined" /* Undefined */) {
233
+ const scopeItem = nodeScope.get(identifierLiteral);
234
+ if (scopeItem === undefined || scopeItem.kind === "Undefined" /* Undefined */) {
210
235
  return undefined;
211
236
  }
212
- const scopeItemText = InspectionUtils.getScopeItemKindText(maybeScopeItem.kind);
213
- const maybeScopeItemType = scopeType.get(identifierLiteral);
214
- const scopeItemTypeText = maybeScopeItemType !== undefined
215
- ? language_1.TypeUtils.nameOf(maybeScopeItemType, context.traceManager, correlationId)
237
+ const scopeItemText = InspectionUtils.getScopeItemKindText(scopeItem.kind);
238
+ const scopeItemType = scopeType.get(identifierLiteral);
239
+ const scopeItemTypeText = scopeItemType !== undefined
240
+ ? language_1.TypeUtils.nameOf(scopeItemType, context.traceManager, correlationId)
216
241
  : "unknown";
217
242
  return {
218
243
  contents: {
@@ -223,18 +248,8 @@ class LocalDocumentProvider {
223
248
  range: undefined,
224
249
  };
225
250
  }
226
- getMaybeInspectionInvokeExpression() {
227
- return __awaiter(this, void 0, void 0, function* () {
228
- const maybeInspected = yield this.promiseMaybeInspected;
229
- if (maybeInspected === undefined) {
230
- return undefined;
231
- }
232
- const triedCurrentInvokeExpression = yield maybeInspected.triedCurrentInvokeExpression;
233
- return powerquery_parser_1.ResultUtils.isOk(triedCurrentInvokeExpression) ? triedCurrentInvokeExpression.value : undefined;
234
- });
235
- }
236
- getAutocompleteItemsFromFieldAccess(inspection) {
237
- const triedFieldAccess = inspection.autocomplete.triedFieldAccess;
251
+ getAutocompleteItemsFromFieldAccess(autocomplete) {
252
+ const triedFieldAccess = autocomplete.triedFieldAccess;
238
253
  return powerquery_parser_1.ResultUtils.isOk(triedFieldAccess) && triedFieldAccess.value !== undefined
239
254
  ? triedFieldAccess.value.autocompleteItems
240
255
  : [];