@microsoft/powerquery-language-services 0.3.41 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +17 -9
  2. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +41 -27
  3. package/lib/powerquery-language-services/analysis/analysisBase.js +519 -179
  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 +20 -22
  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 +38 -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.js +3 -3
  192. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  193. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +18 -20
  194. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +127 -127
  195. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  196. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +45 -43
  197. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  198. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +10 -8
  199. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +7 -6
  200. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  201. package/lib/powerquery-language-services/traceUtils.d.ts +1 -1
  202. package/lib/powerquery-language-services/traceUtils.js +1 -1
  203. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  204. package/lib/powerquery-language-services/validate/validate.d.ts +2 -2
  205. package/lib/powerquery-language-services/validate/validate.js +19 -20
  206. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  207. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +2 -1
  208. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +24 -54
  209. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  210. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -6
  211. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  212. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
  213. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +23 -23
  214. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  215. package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -0
  216. package/lib/powerquery-language-services/validate/validateParse.js +74 -0
  217. package/lib/powerquery-language-services/validate/validateParse.js.map +1 -0
  218. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +13 -14
  219. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  220. package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +2 -2
  221. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +31 -31
  222. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
  223. package/package.json +3 -3
  224. package/lib/powerquery-language-services/documentSymbols.d.ts +0 -3
  225. package/lib/powerquery-language-services/documentSymbols.js +0 -100
  226. package/lib/powerquery-language-services/documentSymbols.js.map +0 -1
  227. package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +0 -15
  228. package/lib/powerquery-language-services/providers/librarySymbolProvider.js +0 -117
  229. package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +0 -1
  230. package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +0 -4
  231. package/lib/powerquery-language-services/validate/validateLexAndParse.js +0 -130
  232. 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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"}
@@ -28,11 +28,11 @@ function getFoldingRanges(nodeIdMapCollection, nodeKind, traceManager, correlati
28
28
  const trace = traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, getFoldingRanges.name, correlationId, { nodeKind });
29
29
  const foldingRanges = [];
30
30
  for (const nodeId of (_a = nodeIdMapCollection.idsByNodeKind.get(nodeKind)) !== null && _a !== void 0 ? _a : []) {
31
- const maybeNode = parser_1.NodeIdMapUtils.maybeUnboxIfAstChecked(nodeIdMapCollection, nodeId, nodeKind);
32
- if (maybeNode === undefined) {
31
+ const node = parser_1.NodeIdMapUtils.unboxIfAstChecked(nodeIdMapCollection, nodeId, nodeKind);
32
+ if (node === undefined) {
33
33
  continue;
34
34
  }
35
- const tokenRange = maybeNode.tokenRange;
35
+ const tokenRange = node.tokenRange;
36
36
  if (tokenRange.positionStart.lineNumber !== tokenRange.positionEnd.lineNumber) {
37
37
  foldingRanges.push(asFoldingRange(tokenRange));
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"foldingRanges.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAAsG;AAQtG,SAAgB,mBAAmB,CAC/B,mBAAyC,EACzC,YAA0B,EAC1B,aAAqB;IAErB,MAAM,KAAK,GAAU,YAAY,CAAC,KAAK,kEAEnC,mBAAmB,CAAC,IAAI,EACxB,aAAa,CAChB,CAAC;IAEF,IAAI,aAAa,GAAmB,EAAE,CAAC;IAEvC,aAAa,GAAG,aAAa;SACxB,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,iDAAmC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACtG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,qCAA6B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAChG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,6CAAiC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACpG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,yCAA+B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAClG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,mCAA4B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/F,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,iDAAmC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACtG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,6CAAiC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACpG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,2CAAgC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzG,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,aAAa,CAAC;AACzB,CAAC;AA7BD,kDA6BC;AAED,SAAS,gBAAgB,CACrB,mBAAyC,EACzC,QAAmB,EACnB,YAA0B,EAC1B,aAAqB;;IAErB,MAAM,KAAK,GAAU,YAAY,CAAC,KAAK,kEAEnC,gBAAgB,CAAC,IAAI,EACrB,aAAa,EACb,EAAE,QAAQ,EAAE,CACf,CAAC;IAEF,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,MAAM,IAAI,MAAA,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,EAAE;QACxE,MAAM,SAAS,GAAkB,uBAAc,CAAC,sBAAsB,CAClE,mBAAmB,EACnB,MAAM,EACN,QAAQ,CACX,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,SAAS;SACZ;QAED,MAAM,UAAU,GAAe,SAAS,CAAC,UAAU,CAAC;QAEpD,IAAI,UAAU,CAAC,aAAa,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3E,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;SAClD;KACJ;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,UAAsB;IAC1C,OAAO;QACH,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,YAAY;QACrD,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU;QAC9C,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,YAAY;QACjD,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU;KAC7C,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"foldingRanges.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/providers/localDocumentProvider/foldingRanges.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAAsG;AAQtG,SAAgB,mBAAmB,CAC/B,mBAAyC,EACzC,YAA0B,EAC1B,aAAqB;IAErB,MAAM,KAAK,GAAU,YAAY,CAAC,KAAK,kEAEnC,mBAAmB,CAAC,IAAI,EACxB,aAAa,CAChB,CAAC;IAEF,IAAI,aAAa,GAAmB,EAAE,CAAC;IAEvC,aAAa,GAAG,aAAa;SACxB,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,iDAAmC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACtG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,qCAA6B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAChG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,6CAAiC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACpG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,yCAA+B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAClG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,mCAA4B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/F,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,iDAAmC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACtG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,6CAAiC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACpG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,uCAA8B,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,2CAAgC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzG,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,aAAa,CAAC;AACzB,CAAC;AA7BD,kDA6BC;AAED,SAAS,gBAAgB,CACrB,mBAAyC,EACzC,QAAmB,EACnB,YAA0B,EAC1B,aAAqB;;IAErB,MAAM,KAAK,GAAU,YAAY,CAAC,KAAK,kEAEnC,gBAAgB,CAAC,IAAI,EACrB,aAAa,EACb,EAAE,QAAQ,EAAE,CACf,CAAC;IAEF,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,MAAM,IAAI,MAAA,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,EAAE;QACxE,MAAM,IAAI,GAAkB,uBAAc,CAAC,iBAAiB,CAAI,mBAAmB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEvG,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,SAAS;SACZ;QAED,MAAM,UAAU,GAAe,IAAI,CAAC,UAAU,CAAC;QAE/C,IAAI,UAAU,CAAC,aAAa,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE;YAC3E,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;SAClD;KACJ;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,UAAsB;IAC1C,OAAO;QACH,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,YAAY;QACrD,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU;QAC9C,YAAY,EAAE,UAAU,CAAC,WAAW,CAAC,YAAY;QACjD,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU;KAC7C,CAAC;AACN,CAAC"}
@@ -1,23 +1,21 @@
1
- import { FoldingRange, Hover, Location, SignatureHelp } from "vscode-languageserver-types";
2
- import { DocumentUri } from "vscode-languageserver-textdocument";
3
- import { AutocompleteItemProviderContext, IDefinitionProvider, IFoldingRangeProvider, 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, IFoldingRangeProvider, 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
- getFoldingRanges(context: ProviderContext): Promise<FoldingRange[]>;
16
- getHover(context: OnIdentifierProviderContext): Promise<Hover | null>;
17
- getPartialSemanticTokens(context: ProviderContext): Promise<PartialSemanticToken[]>;
18
- getSignatureHelp(context: SignatureProviderContext): Promise<SignatureHelp | null>;
19
- protected static getHoverForIdentifierPairedExpression(context: OnIdentifierProviderContext, inspectionSettings: InspectionSettings, inspected: Inspection.Inspected, activeNode: Inspection.ActiveNode, correlationId: number): Promise<Hover | undefined>;
20
- protected static getHoverForScopeItem(context: OnIdentifierProviderContext, nodeScope: Inspection.NodeScope, scopeType: Inspection.ScopeTypeByKey, correlationId: number): Hover | undefined;
21
- 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;
22
20
  private getAutocompleteItemsFromFieldAccess;
23
21
  }
@@ -14,141 +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
21
  const foldingRanges_1 = require("./foldingRanges");
22
22
  const partialSemanticToken_1 = require("./partialSemanticToken");
23
23
  const inspection_1 = require("../../inspection");
24
24
  class LocalDocumentProvider {
25
- constructor(library, uri, promiseMaybeInspected, createInspectionSettingsFn) {
25
+ constructor(uri, typeCache, library, locale) {
26
26
  this.uri = uri;
27
- this.promiseMaybeInspected = promiseMaybeInspected;
28
- this.createInspectionSettingsFn = createInspectionSettingsFn;
29
- this.externalTypeResolver = library.externalTypeResolver;
30
- this.libraryDefinitions = library.libraryDefinitions;
27
+ this.typeCache = typeCache;
28
+ this.library = library;
29
+ this.locale = locale;
31
30
  }
32
31
  getAutocompleteItems(context) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getAutocompleteItems.name, context.maybeInitialCorrelationId);
35
- const maybeInspected = yield this.promiseMaybeInspected;
36
- if (maybeInspected === undefined) {
37
- trace.exit({ maybeInspectedUndefined: true });
38
- return [];
39
- }
40
- const result = [
41
- ...this.getAutocompleteItemsFromFieldAccess(maybeInspected),
42
- ...(yield InspectionUtils.getAutocompleteItemsFromScope(context, maybeInspected)),
43
- ];
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));
44
40
  trace.exit();
45
- return result;
46
- });
41
+ return autocompleteItems;
42
+ }), this.locale);
47
43
  }
48
44
  getDefinition(context) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- 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();
51
50
  if (context.identifier.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */ ||
52
51
  context.identifier.identifierContextKind !== "Value" /* Value */) {
53
- return null;
54
- }
55
- const maybeInspected = yield this.promiseMaybeInspected;
56
- if (maybeInspected === undefined) {
57
- return null;
52
+ return undefined;
58
53
  }
59
- const triedNodeScope = yield maybeInspected.triedNodeScope;
54
+ const triedNodeScope = context.triedNodeScope;
60
55
  if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
61
- return null;
56
+ return undefined;
62
57
  }
63
- const maybeScopeItem = triedNodeScope.value.get(context.identifier.literal);
64
- if (maybeScopeItem === undefined) {
65
- return null;
58
+ const scopeItem = triedNodeScope.value.get(context.identifier.literal);
59
+ if (scopeItem === undefined) {
60
+ return undefined;
66
61
  }
67
- const creator = inspection_1.ScopeUtils.maybeScopeCreatorIdentifier(maybeScopeItem);
62
+ const creator = inspection_1.ScopeUtils.scopeCreatorIdentifier(scopeItem);
68
63
  if (creator === undefined) {
69
- return null;
64
+ return undefined;
70
65
  }
71
- const result = {
66
+ const location = {
72
67
  range: __1.PositionUtils.createRangeFromTokenRange(creator.tokenRange),
73
68
  uri: this.uri,
74
69
  };
75
70
  trace.exit();
76
- return [result];
77
- });
71
+ return [location];
72
+ }), this.locale);
78
73
  }
79
- // eslint-disable-next-line require-await
80
74
  getFoldingRanges(context) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHover.name, context.maybeInitialCorrelationId);
83
- const maybeInspected = yield this.promiseMaybeInspected;
84
- if (maybeInspected === undefined) {
85
- return [];
86
- }
87
- const nodeIdMapCollection = maybeInspected.parseState.contextState.nodeIdMapCollection;
88
- const result = (0, foldingRanges_1.createFoldingRanges)(nodeIdMapCollection, context.traceManager, trace.id);
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);
89
81
  trace.exit();
90
- return result;
91
- });
82
+ return foldingRanges;
83
+ }), this.locale);
92
84
  }
93
85
  getHover(context) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHover.name, context.maybeInitialCorrelationId);
96
- const maybeInspected = yield this.promiseMaybeInspected;
97
- if (maybeInspected === undefined) {
98
- trace.exit({ maybeInspectedUndefined: true });
99
- return null;
100
- }
101
- const activeNode = maybeInspected.maybeActiveNode;
102
- if (!__1.Inspection.ActiveNodeUtils.isPositionInBounds(activeNode)) {
103
- trace.exit({ outOfBounds: true });
104
- return null;
105
- }
106
- let maybeHover = yield LocalDocumentProvider.getHoverForIdentifierPairedExpression(context, this.createInspectionSettingsFn(), maybeInspected, activeNode, trace.id);
107
- if (maybeHover !== undefined) {
108
- trace.exit({ maybeHover: true });
109
- return maybeHover;
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;
110
94
  }
111
- const triedNodeScope = yield maybeInspected.triedNodeScope;
112
- const triedScopeType = yield maybeInspected.triedScopeType;
95
+ const triedNodeScope = context.triedNodeScope;
96
+ const triedScopeType = context.triedScopeType;
113
97
  if (!powerquery_parser_1.ResultUtils.isOk(triedNodeScope) || !powerquery_parser_1.ResultUtils.isOk(triedScopeType)) {
114
98
  trace.exit({ inspectionError: true });
115
- return null;
99
+ return undefined;
116
100
  }
117
- maybeHover = LocalDocumentProvider.getHoverForScopeItem(context, triedNodeScope.value, triedScopeType.value, trace.id);
101
+ hover = this.getHoverForScopeItem(context, triedNodeScope.value, triedScopeType.value, trace.id);
118
102
  trace.exit();
119
- return maybeHover !== null && maybeHover !== void 0 ? maybeHover : null;
120
- });
103
+ return hover !== null && hover !== void 0 ? hover : undefined;
104
+ }), this.locale);
121
105
  }
122
106
  // eslint-disable-next-line require-await
123
107
  getPartialSemanticTokens(context) {
124
108
  return __awaiter(this, void 0, void 0, function* () {
125
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getPartialSemanticTokens.name, context.maybeInitialCorrelationId);
126
- const maybeInspected = yield this.promiseMaybeInspected;
127
- if (maybeInspected === undefined) {
128
- return [];
129
- }
130
- const nodeIdMapCollection = maybeInspected.parseState.contextState.nodeIdMapCollection;
131
- const tokens = (0, partialSemanticToken_1.createPartialSemanticTokens)(nodeIdMapCollection, this.libraryDefinitions, context.traceManager, trace.id);
132
- trace.exit();
133
- 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);
134
118
  });
135
119
  }
120
+ // eslint-disable-next-line require-await
136
121
  getSignatureHelp(context) {
137
122
  return __awaiter(this, void 0, void 0, function* () {
138
- const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getSignatureHelp.name, context.maybeInitialCorrelationId);
139
- const maybeInvokeInspection = yield this.getMaybeInspectionInvokeExpression();
140
- if (maybeInvokeInspection === undefined) {
141
- trace.exit({ maybeInvokeInspectionUndefined: true });
142
- return null;
143
- }
144
- const inspection = maybeInvokeInspection;
145
- if (inspection.maybeName && !inspection.isNameInLocalScope) {
146
- trace.exit({ unknownName: true });
147
- return null;
148
- }
149
- const result = InspectionUtils.getMaybeSignatureHelp(context, trace.id);
150
- trace.exit();
151
- 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);
152
162
  });
153
163
  }
154
164
  // When hovering over a key it should show the type for the value.
@@ -156,35 +166,35 @@ class LocalDocumentProvider {
156
166
  // * GeneralizedIdentifierPairedAnyLiteral
157
167
  // * GeneralizedIdentifierPairedExpression
158
168
  // * IdentifierPairedExpression
159
- static getHoverForIdentifierPairedExpression(context, inspectionSettings, inspected, activeNode, correlationId) {
160
- var _a, _b, _c;
169
+ getHoverForIdentifierPairedExpression(context, correlationId) {
170
+ var _a, _b, _c, _d;
161
171
  return __awaiter(this, void 0, void 0, function* () {
162
172
  const trace = context.traceManager.entry("LocalDocumentSymbolProvider" /* LocalDocumentSymbolProvider */, this.getHoverForIdentifierPairedExpression.name, correlationId);
163
- const parseState = inspected.parseState;
164
- const ancestry = activeNode.ancestry;
165
- const maybeLeafKind = (_a = ancestry[0]) === null || _a === void 0 ? void 0 : _a.node.kind;
166
- 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);
167
177
  if (!isValidLeafNodeKind) {
168
178
  trace.exit();
169
179
  return undefined;
170
180
  }
171
- const maybeIdentifierPairedExpression = parser_1.AncestryUtils.maybeNthXorChecked(activeNode.ancestry, 1, [
181
+ const identifierPairedExpression = parser_1.AncestryUtils.nthXorChecked(context.activeNode.ancestry, 1, [
172
182
  "GeneralizedIdentifierPairedAnyLiteral" /* GeneralizedIdentifierPairedAnyLiteral */,
173
183
  "GeneralizedIdentifierPairedExpression" /* GeneralizedIdentifierPairedExpression */,
174
184
  "IdentifierPairedExpression" /* IdentifierPairedExpression */,
175
185
  ]);
176
186
  // We're on an identifier in some other context which we don't support.
177
- if (maybeIdentifierPairedExpression === undefined) {
187
+ if (identifierPairedExpression === undefined) {
178
188
  trace.exit();
179
189
  return undefined;
180
190
  }
181
- 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);
182
192
  // We're on an identifier in some other context which we don't support.
183
- if (maybeExpression === undefined) {
193
+ if (expression === undefined) {
184
194
  trace.exit();
185
195
  return undefined;
186
196
  }
187
- 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);
188
198
  // TODO handle error
189
199
  if (powerquery_parser_1.ResultUtils.isError(triedExpressionType)) {
190
200
  trace.exit();
@@ -192,17 +202,17 @@ class LocalDocumentProvider {
192
202
  }
193
203
  let scopeItemText = "unknown";
194
204
  // If it's a SectionMember
195
- const maybeThirdNodeKind = (_b = ancestry[2]) === null || _b === void 0 ? void 0 : _b.node.kind;
196
- if (maybeThirdNodeKind === "SectionMember" /* SectionMember */) {
205
+ const thirdNodeKind = (_c = ancestry[2]) === null || _c === void 0 ? void 0 : _c.node.kind;
206
+ if (thirdNodeKind === "SectionMember" /* SectionMember */) {
197
207
  scopeItemText = InspectionUtils.getScopeItemKindText("SectionMember" /* SectionMember */);
198
208
  }
199
209
  // Else if it's RecordExpression or RecordLiteral
200
- const maybeFifthNodeKind = (_c = ancestry[4]) === null || _c === void 0 ? void 0 : _c.node.kind;
201
- 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);
202
212
  if (isRecordNodeKind) {
203
213
  scopeItemText = InspectionUtils.getScopeItemKindText("RecordField" /* RecordField */);
204
214
  }
205
- else if (maybeFifthNodeKind === "LetExpression" /* LetExpression */) {
215
+ else if (fifthNodeKind === "LetExpression" /* LetExpression */) {
206
216
  scopeItemText = InspectionUtils.getScopeItemKindText("LetVariable" /* LetVariable */);
207
217
  }
208
218
  const nameOfExpressionType = language_1.TypeUtils.nameOf(triedExpressionType.value, context.traceManager, trace.id);
@@ -218,16 +228,16 @@ class LocalDocumentProvider {
218
228
  return result;
219
229
  });
220
230
  }
221
- static getHoverForScopeItem(context, nodeScope, scopeType, correlationId) {
231
+ getHoverForScopeItem(context, nodeScope, scopeType, correlationId) {
222
232
  const identifierLiteral = context.identifier.literal;
223
- const maybeScopeItem = nodeScope.get(identifierLiteral);
224
- if (maybeScopeItem === undefined || maybeScopeItem.kind === "Undefined" /* Undefined */) {
233
+ const scopeItem = nodeScope.get(identifierLiteral);
234
+ if (scopeItem === undefined || scopeItem.kind === "Undefined" /* Undefined */) {
225
235
  return undefined;
226
236
  }
227
- const scopeItemText = InspectionUtils.getScopeItemKindText(maybeScopeItem.kind);
228
- const maybeScopeItemType = scopeType.get(identifierLiteral);
229
- const scopeItemTypeText = maybeScopeItemType !== undefined
230
- ? 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)
231
241
  : "unknown";
232
242
  return {
233
243
  contents: {
@@ -238,18 +248,8 @@ class LocalDocumentProvider {
238
248
  range: undefined,
239
249
  };
240
250
  }
241
- getMaybeInspectionInvokeExpression() {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- const maybeInspected = yield this.promiseMaybeInspected;
244
- if (maybeInspected === undefined) {
245
- return undefined;
246
- }
247
- const triedCurrentInvokeExpression = yield maybeInspected.triedCurrentInvokeExpression;
248
- return powerquery_parser_1.ResultUtils.isOk(triedCurrentInvokeExpression) ? triedCurrentInvokeExpression.value : undefined;
249
- });
250
- }
251
- getAutocompleteItemsFromFieldAccess(inspection) {
252
- const triedFieldAccess = inspection.autocomplete.triedFieldAccess;
251
+ getAutocompleteItemsFromFieldAccess(autocomplete) {
252
+ const triedFieldAccess = autocomplete.triedFieldAccess;
253
253
  return powerquery_parser_1.ResultUtils.isOk(triedFieldAccess) && triedFieldAccess.value !== undefined
254
254
  ? triedFieldAccess.value.autocompleteItems
255
255
  : [];