@microsoft/powerquery-language-services 0.10.5 → 0.11.1

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 (419) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +21 -21
  2. package/lib/powerquery-language-services/analysis/analysis.js +4 -4
  3. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +53 -53
  4. package/lib/powerquery-language-services/analysis/analysisBase.js +741 -710
  5. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +14 -14
  7. package/lib/powerquery-language-services/analysis/analysisSettings.js +4 -4
  8. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +4 -4
  9. package/lib/powerquery-language-services/analysis/analysisUtils.js +26 -28
  10. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  11. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +8 -8
  12. package/lib/powerquery-language-services/analysis/documentAnalysis.js +15 -15
  13. package/lib/powerquery-language-services/analysis/index.d.ts +5 -5
  14. package/lib/powerquery-language-services/analysis/index.js +43 -10
  15. package/lib/powerquery-language-services/analysis/index.js.map +1 -1
  16. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -18
  17. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +51 -65
  18. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
  19. package/lib/powerquery-language-services/commonTypes.d.ts +8 -8
  20. package/lib/powerquery-language-services/commonTypes.js +33 -33
  21. package/lib/powerquery-language-services/commonTypesUtils.d.ts +4 -4
  22. package/lib/powerquery-language-services/commonTypesUtils.js +18 -19
  23. package/lib/powerquery-language-services/commonTypesUtils.js.map +1 -1
  24. package/lib/powerquery-language-services/diagnosticErrorCode.d.ts +8 -8
  25. package/lib/powerquery-language-services/diagnosticErrorCode.js +14 -14
  26. package/lib/powerquery-language-services/diagnosticErrorCode.js.map +1 -1
  27. package/lib/powerquery-language-services/documentSymbols.d.ts +3 -3
  28. package/lib/powerquery-language-services/documentSymbols.js +80 -83
  29. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  30. package/lib/powerquery-language-services/externalType/externalType.d.ts +21 -21
  31. package/lib/powerquery-language-services/externalType/externalType.js +16 -16
  32. package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
  33. package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +5 -5
  34. package/lib/powerquery-language-services/externalType/externalTypeUtils.js +32 -33
  35. package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
  36. package/lib/powerquery-language-services/externalType/index.d.ts +2 -2
  37. package/lib/powerquery-language-services/externalType/index.js +40 -7
  38. package/lib/powerquery-language-services/externalType/index.js.map +1 -1
  39. package/lib/powerquery-language-services/formatter.d.ts +5 -5
  40. package/lib/powerquery-language-services/formatter.js +72 -46
  41. package/lib/powerquery-language-services/formatter.js.map +1 -1
  42. package/lib/powerquery-language-services/index.d.ts +20 -20
  43. package/lib/powerquery-language-services/index.js +64 -42
  44. package/lib/powerquery-language-services/index.js.map +1 -1
  45. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +43 -43
  46. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +17 -17
  47. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
  48. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +11 -11
  49. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +351 -351
  50. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/activeNode/index.d.ts +3 -3
  52. package/lib/powerquery-language-services/inspection/activeNode/index.js +44 -22
  53. package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +8 -8
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +281 -258
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  57. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.d.ts +6 -6
  58. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.js +4 -4
  59. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +8 -8
  60. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +78 -79
  61. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  62. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.d.ts +2 -2
  63. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js +43 -21
  64. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js.map +1 -1
  65. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +8 -8
  66. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +217 -197
  67. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  68. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.d.ts +3 -3
  69. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +86 -87
  70. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.d.ts +3 -3
  72. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +53 -54
  73. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.d.ts +3 -3
  75. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +29 -30
  76. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  77. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +3 -3
  78. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +58 -70
  79. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.d.ts +3 -3
  81. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +38 -39
  82. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  83. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +3 -3
  84. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +40 -41
  85. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  86. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +3 -3
  87. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +63 -31
  88. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  89. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +3 -3
  90. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +30 -39
  91. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  92. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +11 -11
  93. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.js +4 -4
  94. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.d.ts +1 -1
  95. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.js +7 -7
  96. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +6 -6
  97. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +190 -188
  98. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  99. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +6 -6
  100. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +334 -335
  101. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  102. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.d.ts +2 -2
  103. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +19 -20
  104. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
  105. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +27 -27
  106. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.js +4 -4
  107. package/lib/powerquery-language-services/inspection/autocomplete/index.d.ts +6 -6
  108. package/lib/powerquery-language-services/inspection/autocomplete/index.js +47 -25
  109. package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
  110. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +6 -6
  111. package/lib/powerquery-language-services/inspection/autocomplete/task.js +68 -44
  112. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  113. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +7 -7
  114. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +4 -4
  115. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.d.ts +4 -4
  116. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +20 -18
  117. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
  118. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +20 -20
  119. package/lib/powerquery-language-services/inspection/commonTypes.js +4 -4
  120. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.d.ts +37 -37
  121. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js +13 -13
  122. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js.map +1 -1
  123. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.d.ts +6 -6
  124. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js +244 -221
  125. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js.map +1 -1
  126. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.d.ts +2 -2
  127. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js +41 -19
  128. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js.map +1 -1
  129. package/lib/powerquery-language-services/inspection/expectedType.d.ts +8 -8
  130. package/lib/powerquery-language-services/inspection/expectedType.js +420 -388
  131. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  132. package/lib/powerquery-language-services/inspection/index.d.ts +9 -9
  133. package/lib/powerquery-language-services/inspection/index.js +27 -27
  134. package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +16 -16
  135. package/lib/powerquery-language-services/inspection/invokeExpression/common.js +4 -4
  136. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +12 -12
  137. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +137 -106
  138. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  139. package/lib/powerquery-language-services/inspection/invokeExpression/index.d.ts +3 -3
  140. package/lib/powerquery-language-services/inspection/invokeExpression/index.js +20 -20
  141. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +8 -8
  142. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +141 -119
  143. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  144. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.d.ts +11 -11
  145. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +57 -58
  146. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  147. package/lib/powerquery-language-services/inspection/scope/index.d.ts +3 -3
  148. package/lib/powerquery-language-services/inspection/scope/index.js +44 -22
  149. package/lib/powerquery-language-services/inspection/scope/index.js.map +1 -1
  150. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +46 -46
  151. package/lib/powerquery-language-services/inspection/scope/scope.js +14 -14
  152. package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
  153. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +7 -7
  154. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +313 -327
  155. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  156. package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +17 -17
  157. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +125 -104
  158. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
  159. package/lib/powerquery-language-services/inspection/task.d.ts +28 -28
  160. package/lib/powerquery-language-services/inspection/task.js +196 -160
  161. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  162. package/lib/powerquery-language-services/inspection/type/index.d.ts +3 -3
  163. package/lib/powerquery-language-services/inspection/type/index.js +44 -22
  164. package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
  165. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +14 -14
  166. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +362 -353
  167. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  168. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +8 -8
  169. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +28 -43
  170. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  171. package/lib/powerquery-language-services/inspection/type/inspectType/index.d.ts +1 -1
  172. package/lib/powerquery-language-services/inspection/type/inspectType/index.js +19 -19
  173. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.d.ts +3 -3
  174. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +57 -57
  175. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  176. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +4 -4
  177. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +26 -39
  178. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  179. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +4 -4
  180. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +82 -62
  181. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  182. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -4
  183. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +55 -69
  184. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  185. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +4 -4
  186. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +128 -103
  187. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  188. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +4 -4
  189. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +63 -75
  190. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  191. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +4 -4
  192. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +21 -34
  193. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  194. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +4 -4
  195. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +74 -87
  196. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  197. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +4 -4
  198. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +85 -65
  199. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  200. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +4 -4
  201. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +25 -38
  202. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  203. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +4 -4
  204. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +25 -38
  205. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  206. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +4 -4
  207. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +46 -61
  208. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  209. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +4 -4
  210. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +69 -84
  211. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  212. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +4 -4
  213. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +37 -50
  214. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  215. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +4 -4
  216. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +43 -56
  217. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  218. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +4 -4
  219. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +44 -44
  220. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  221. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +4 -4
  222. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +36 -49
  223. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  224. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +4 -4
  225. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +23 -33
  226. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  227. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +4 -4
  228. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +25 -26
  229. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  230. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +4 -4
  231. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +53 -66
  232. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  233. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +4 -4
  234. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +45 -58
  235. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  236. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +4 -4
  237. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +42 -50
  238. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  239. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +4 -4
  240. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +43 -56
  241. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  242. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.d.ts +2 -2
  243. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js +41 -19
  244. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js.map +1 -1
  245. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.d.ts +9 -9
  246. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.js +4 -4
  247. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.d.ts +7 -7
  248. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js +41 -42
  249. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js.map +1 -1
  250. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +8 -8
  251. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +326 -292
  252. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  253. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +4 -4
  254. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +51 -59
  255. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  256. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +4 -4
  257. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +76 -89
  258. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  259. package/lib/powerquery-language-services/inspection/type/task.d.ts +10 -10
  260. package/lib/powerquery-language-services/inspection/type/task.js +49 -65
  261. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  262. package/lib/powerquery-language-services/inspection/typeCache/index.d.ts +2 -2
  263. package/lib/powerquery-language-services/inspection/typeCache/index.js +43 -21
  264. package/lib/powerquery-language-services/inspection/typeCache/index.js.map +1 -1
  265. package/lib/powerquery-language-services/inspection/typeCache/typeCache.d.ts +7 -7
  266. package/lib/powerquery-language-services/inspection/typeCache/typeCache.js +4 -4
  267. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +2 -2
  268. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +12 -13
  269. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
  270. package/lib/powerquery-language-services/inspectionSettings.d.ts +13 -13
  271. package/lib/powerquery-language-services/inspectionSettings.js +12 -12
  272. package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
  273. package/lib/powerquery-language-services/inspectionUtils.d.ts +16 -16
  274. package/lib/powerquery-language-services/inspectionUtils.js +142 -150
  275. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  276. package/lib/powerquery-language-services/jaroWinkler.d.ts +3 -3
  277. package/lib/powerquery-language-services/jaroWinkler.js +102 -103
  278. package/lib/powerquery-language-services/jaroWinkler.js.map +1 -1
  279. package/lib/powerquery-language-services/languageServiceUtils.d.ts +2 -2
  280. package/lib/powerquery-language-services/languageServiceUtils.js +53 -39
  281. package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
  282. package/lib/powerquery-language-services/library/index.d.ts +5 -5
  283. package/lib/powerquery-language-services/library/index.js +43 -10
  284. package/lib/powerquery-language-services/library/index.js.map +1 -1
  285. package/lib/powerquery-language-services/library/library.d.ts +45 -45
  286. package/lib/powerquery-language-services/library/library.js +19 -19
  287. package/lib/powerquery-language-services/library/library.js.map +1 -1
  288. package/lib/powerquery-language-services/library/libraryDefinitionUtils.d.ts +21 -21
  289. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js +106 -107
  290. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js.map +1 -1
  291. package/lib/powerquery-language-services/library/librarySymbol.d.ts +33 -33
  292. package/lib/powerquery-language-services/library/librarySymbol.js +4 -4
  293. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +34 -34
  294. package/lib/powerquery-language-services/library/librarySymbolUtils.js +258 -261
  295. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
  296. package/lib/powerquery-language-services/library/libraryUtils.d.ts +8 -8
  297. package/lib/powerquery-language-services/library/libraryUtils.js +48 -49
  298. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  299. package/lib/powerquery-language-services/localization/index.d.ts +2 -2
  300. package/lib/powerquery-language-services/localization/index.js +43 -21
  301. package/lib/powerquery-language-services/localization/index.js.map +1 -1
  302. package/lib/powerquery-language-services/localization/localization.d.ts +10 -10
  303. package/lib/powerquery-language-services/localization/localization.js +51 -51
  304. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  305. package/lib/powerquery-language-services/localization/localizationUtils.d.ts +2 -2
  306. package/lib/powerquery-language-services/localization/localizationUtils.js +7 -9
  307. package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
  308. package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +12 -12
  309. package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +12 -12
  310. package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +12 -12
  311. package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +12 -12
  312. package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +12 -12
  313. package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +12 -12
  314. package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +12 -12
  315. package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +12 -12
  316. package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +12 -12
  317. package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +12 -12
  318. package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +12 -12
  319. package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +12 -12
  320. package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +12 -12
  321. package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +12 -12
  322. package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +12 -12
  323. package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +12 -12
  324. package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +12 -12
  325. package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +12 -12
  326. package/lib/powerquery-language-services/localization/templates/templates.json +20 -20
  327. package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +12 -12
  328. package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +12 -12
  329. package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +12 -12
  330. package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +12 -12
  331. package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +12 -12
  332. package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +12 -12
  333. package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +12 -12
  334. package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +12 -12
  335. package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +12 -12
  336. package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +12 -12
  337. package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +12 -12
  338. package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +12 -12
  339. package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +12 -12
  340. package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +12 -12
  341. package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +12 -12
  342. package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +12 -12
  343. package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +12 -12
  344. package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +12 -12
  345. package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +12 -12
  346. package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +12 -12
  347. package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +12 -12
  348. package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +12 -12
  349. package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +12 -12
  350. package/lib/powerquery-language-services/localization/templates.d.ts +55 -55
  351. package/lib/powerquery-language-services/localization/templates.js +166 -133
  352. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  353. package/lib/powerquery-language-services/positionUtils.d.ts +32 -32
  354. package/lib/powerquery-language-services/positionUtils.js +257 -240
  355. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  356. package/lib/powerquery-language-services/providers/commonTypes.d.ts +75 -75
  357. package/lib/powerquery-language-services/providers/commonTypes.js +4 -4
  358. package/lib/powerquery-language-services/providers/index.d.ts +5 -5
  359. package/lib/powerquery-language-services/providers/index.js +28 -28
  360. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +12 -12
  361. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +62 -73
  362. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  363. package/lib/powerquery-language-services/providers/libraryProvider.d.ts +16 -16
  364. package/lib/powerquery-language-services/providers/libraryProvider.js +116 -131
  365. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
  366. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.d.ts +4 -4
  367. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +50 -52
  368. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  369. package/lib/powerquery-language-services/providers/localDocumentProvider/index.d.ts +1 -1
  370. package/lib/powerquery-language-services/providers/localDocumentProvider/index.js +19 -19
  371. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +21 -21
  372. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +277 -259
  373. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  374. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.d.ts +6 -6
  375. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +313 -321
  376. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  377. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +19 -19
  378. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +46 -68
  379. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  380. package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -5
  381. package/lib/powerquery-language-services/tokenPositionComparison.js +12 -12
  382. package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
  383. package/lib/powerquery-language-services/trace.d.ts +27 -27
  384. package/lib/powerquery-language-services/trace.js +36 -36
  385. package/lib/powerquery-language-services/trace.js.map +1 -1
  386. package/lib/powerquery-language-services/traceUtils.d.ts +14 -14
  387. package/lib/powerquery-language-services/traceUtils.js +19 -20
  388. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  389. package/lib/powerquery-language-services/validate/index.d.ts +3 -3
  390. package/lib/powerquery-language-services/validate/index.js +23 -23
  391. package/lib/powerquery-language-services/validate/validate.d.ts +6 -6
  392. package/lib/powerquery-language-services/validate/validate.js +60 -67
  393. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  394. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +6 -6
  395. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +164 -134
  396. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  397. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +4 -4
  398. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +63 -63
  399. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  400. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +5 -5
  401. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +109 -123
  402. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  403. package/lib/powerquery-language-services/validate/validateOk.d.ts +5 -5
  404. package/lib/powerquery-language-services/validate/validateOk.js +4 -4
  405. package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -4
  406. package/lib/powerquery-language-services/validate/validateParse.js +94 -73
  407. package/lib/powerquery-language-services/validate/validateParse.js.map +1 -1
  408. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.d.ts +5 -5
  409. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +99 -109
  410. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  411. package/lib/powerquery-language-services/validate/validationSettings/index.d.ts +2 -2
  412. package/lib/powerquery-language-services/validate/validationSettings/index.js +43 -21
  413. package/lib/powerquery-language-services/validate/validationSettings/index.js.map +1 -1
  414. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.d.ts +12 -12
  415. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.js +4 -4
  416. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.d.ts +3 -3
  417. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +15 -10
  418. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
  419. package/package.json +23 -22
@@ -1,88 +1,87 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.autocompleteKeywordDefault = void 0;
6
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- const activeNode_1 = require("../../activeNode");
9
- const __1 = require("../../..");
10
- function autocompleteKeywordDefault(state) {
11
- const activeNode = state.activeNode;
12
- const child = state.child;
13
- const key = createMapKey(state.parent.node.kind, child.node.attributeIndex);
14
- if (AutocompleteExpressionKeys.indexOf(key) !== -1) {
15
- return autocompleteDefaultExpression(state);
16
- }
17
- else {
18
- const mappedKeywordKind = AutocompleteConstantMap.get(key);
19
- return mappedKeywordKind !== undefined
20
- ? autocompleteKeywordConstant(activeNode, child, mappedKeywordKind)
21
- : undefined;
22
- }
23
- }
24
- exports.autocompleteKeywordDefault = autocompleteKeywordDefault;
25
- const AutocompleteExpressionKeys = [
26
- createMapKey(language_1.Ast.NodeKind.ErrorRaisingExpression, 1),
27
- createMapKey(language_1.Ast.NodeKind.GeneralizedIdentifierPairedExpression, 2),
28
- createMapKey(language_1.Ast.NodeKind.FunctionExpression, 3),
29
- createMapKey(language_1.Ast.NodeKind.IdentifierPairedExpression, 2),
30
- createMapKey(language_1.Ast.NodeKind.IfExpression, 1),
31
- createMapKey(language_1.Ast.NodeKind.IfExpression, 3),
32
- createMapKey(language_1.Ast.NodeKind.IfExpression, 5),
33
- createMapKey(language_1.Ast.NodeKind.InvokeExpression, 1),
34
- createMapKey(language_1.Ast.NodeKind.LetExpression, 3),
35
- createMapKey(language_1.Ast.NodeKind.ListExpression, 1),
36
- createMapKey(language_1.Ast.NodeKind.OtherwiseExpression, 1),
37
- createMapKey(language_1.Ast.NodeKind.ParenthesizedExpression, 1),
38
- ];
39
- // If we're coming from a constant then we can quickly evaluate using a map.
40
- // This is possible because reading a Constant is binary.
41
- // Either the Constant was read and you're in the next context, or you didn't and you're in the constant's context.
42
- const AutocompleteConstantMap = new Map([
43
- // Ast.NodeKind.ErrorRaisingExpression
44
- [createMapKey(language_1.Ast.NodeKind.ErrorRaisingExpression, 0), language_1.Keyword.KeywordKind.Error],
45
- // Ast.NodeKind.IfExpression
46
- [createMapKey(language_1.Ast.NodeKind.IfExpression, 0), language_1.Keyword.KeywordKind.If],
47
- [createMapKey(language_1.Ast.NodeKind.IfExpression, 2), language_1.Keyword.KeywordKind.Then],
48
- [createMapKey(language_1.Ast.NodeKind.IfExpression, 4), language_1.Keyword.KeywordKind.Else],
49
- // Ast.NodeKind.LetExpression
50
- [createMapKey(language_1.Ast.NodeKind.LetExpression, 2), language_1.Keyword.KeywordKind.In],
51
- // Ast.NodeKind.OtherwiseExpression
52
- [createMapKey(language_1.Ast.NodeKind.OtherwiseExpression, 0), language_1.Keyword.KeywordKind.Otherwise],
53
- // Ast.NodeKind.Section
54
- [createMapKey(language_1.Ast.NodeKind.Section, 1), language_1.Keyword.KeywordKind.Section],
55
- ]);
56
- function autocompleteDefaultExpression(state) {
57
- const activeNode = state.activeNode;
58
- const child = state.child;
59
- // '[x=|1]
60
- if (activeNode.leafKind === activeNode_1.ActiveNodeLeafKind.IsInAst) {
61
- return language_1.Keyword.ExpressionKeywordKinds;
62
- }
63
- // `if 1|`
64
- else if (parser_1.XorNodeUtils.isAstChecked(child, language_1.Ast.NodeKind.LiteralExpression) &&
65
- child.node.literalKind === language_1.Ast.LiteralKind.Numeric) {
66
- return [];
67
- }
68
- return language_1.Keyword.ExpressionKeywordKinds;
69
- }
70
- function autocompleteKeywordConstant(activeNode, child, keywordKind) {
71
- if (__1.PositionUtils.isBeforeXor(activeNode.position, child, false)) {
72
- return undefined;
73
- }
74
- else if (parser_1.XorNodeUtils.isAst(child)) {
75
- // So long as you're inside of an Ast Constant there's nothing that can be recommended other than the constant.
76
- // Note that we previously checked isBeforeXorNode so we can use the quicker isOnAstNodeEnd to check
77
- // if we're inside of the Ast node.
78
- return __1.PositionUtils.isOnAstEnd(activeNode.position, child.node) ? [] : [keywordKind];
79
- }
80
- return [keywordKind];
81
- }
82
- // A tuple can't easily be used as a Map key as it does a shallow comparison.
83
- // The work around is to stringify the tuple key, even though we lose typing by doing so.
84
- // [parent XorNode.node.kind, child XorNode.node.attributeIndex].join(",")
85
- function createMapKey(nodeKind, attributeIndex) {
86
- return [nodeKind, attributeIndex].join(",");
87
- }
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.autocompleteKeywordDefault = autocompleteKeywordDefault;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
+ const activeNode_1 = require("../../activeNode");
9
+ const __1 = require("../../..");
10
+ function autocompleteKeywordDefault(state) {
11
+ const activeNode = state.activeNode;
12
+ const child = state.child;
13
+ const key = createMapKey(state.parent.node.kind, child.node.attributeIndex);
14
+ if (AutocompleteExpressionKeys.indexOf(key) !== -1) {
15
+ return autocompleteDefaultExpression(state);
16
+ }
17
+ else {
18
+ const mappedKeywordKind = AutocompleteConstantMap.get(key);
19
+ return mappedKeywordKind !== undefined
20
+ ? autocompleteKeywordConstant(activeNode, child, mappedKeywordKind)
21
+ : undefined;
22
+ }
23
+ }
24
+ const AutocompleteExpressionKeys = [
25
+ createMapKey(language_1.Ast.NodeKind.ErrorRaisingExpression, 1),
26
+ createMapKey(language_1.Ast.NodeKind.GeneralizedIdentifierPairedExpression, 2),
27
+ createMapKey(language_1.Ast.NodeKind.FunctionExpression, 3),
28
+ createMapKey(language_1.Ast.NodeKind.IdentifierPairedExpression, 2),
29
+ createMapKey(language_1.Ast.NodeKind.IfExpression, 1),
30
+ createMapKey(language_1.Ast.NodeKind.IfExpression, 3),
31
+ createMapKey(language_1.Ast.NodeKind.IfExpression, 5),
32
+ createMapKey(language_1.Ast.NodeKind.InvokeExpression, 1),
33
+ createMapKey(language_1.Ast.NodeKind.LetExpression, 3),
34
+ createMapKey(language_1.Ast.NodeKind.ListExpression, 1),
35
+ createMapKey(language_1.Ast.NodeKind.OtherwiseExpression, 1),
36
+ createMapKey(language_1.Ast.NodeKind.ParenthesizedExpression, 1),
37
+ ];
38
+ // If we're coming from a constant then we can quickly evaluate using a map.
39
+ // This is possible because reading a Constant is binary.
40
+ // Either the Constant was read and you're in the next context, or you didn't and you're in the constant's context.
41
+ const AutocompleteConstantMap = new Map([
42
+ // Ast.NodeKind.ErrorRaisingExpression
43
+ [createMapKey(language_1.Ast.NodeKind.ErrorRaisingExpression, 0), language_1.Keyword.KeywordKind.Error],
44
+ // Ast.NodeKind.IfExpression
45
+ [createMapKey(language_1.Ast.NodeKind.IfExpression, 0), language_1.Keyword.KeywordKind.If],
46
+ [createMapKey(language_1.Ast.NodeKind.IfExpression, 2), language_1.Keyword.KeywordKind.Then],
47
+ [createMapKey(language_1.Ast.NodeKind.IfExpression, 4), language_1.Keyword.KeywordKind.Else],
48
+ // Ast.NodeKind.LetExpression
49
+ [createMapKey(language_1.Ast.NodeKind.LetExpression, 2), language_1.Keyword.KeywordKind.In],
50
+ // Ast.NodeKind.OtherwiseExpression
51
+ [createMapKey(language_1.Ast.NodeKind.OtherwiseExpression, 0), language_1.Keyword.KeywordKind.Otherwise],
52
+ // Ast.NodeKind.Section
53
+ [createMapKey(language_1.Ast.NodeKind.Section, 1), language_1.Keyword.KeywordKind.Section],
54
+ ]);
55
+ function autocompleteDefaultExpression(state) {
56
+ const activeNode = state.activeNode;
57
+ const child = state.child;
58
+ // '[x=|1]
59
+ if (activeNode.leafKind === activeNode_1.ActiveNodeLeafKind.IsInAst) {
60
+ return language_1.Keyword.ExpressionKeywordKinds;
61
+ }
62
+ // `if 1|`
63
+ else if (parser_1.XorNodeUtils.isAstChecked(child, language_1.Ast.NodeKind.LiteralExpression) &&
64
+ child.node.literalKind === language_1.Ast.LiteralKind.Numeric) {
65
+ return [];
66
+ }
67
+ return language_1.Keyword.ExpressionKeywordKinds;
68
+ }
69
+ function autocompleteKeywordConstant(activeNode, child, keywordKind) {
70
+ if (__1.PositionUtils.isBeforeXor(activeNode.position, child, false)) {
71
+ return undefined;
72
+ }
73
+ else if (parser_1.XorNodeUtils.isAst(child)) {
74
+ // So long as you're inside of an Ast Constant there's nothing that can be recommended other than the constant.
75
+ // Note that we previously checked isBeforeXorNode so we can use the quicker isOnAstNodeEnd to check
76
+ // if we're inside of the Ast node.
77
+ return __1.PositionUtils.isOnAstEnd(activeNode.position, child.node) ? [] : [keywordKind];
78
+ }
79
+ return [keywordKind];
80
+ }
81
+ // A tuple can't easily be used as a Map key as it does a shallow comparison.
82
+ // The work around is to stringify the tuple key, even though we lose typing by doing so.
83
+ // [parent XorNode.node.kind, child XorNode.node.attributeIndex].join(",")
84
+ function createMapKey(nodeKind, attributeIndex) {
85
+ return [nodeKind, attributeIndex].join(",");
86
+ }
88
87
  //# sourceMappingURL=autocompleteKeywordDefault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeywordDefault.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompleteKeywordDefault.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { InspectAutocompleteKeywordState } from "./commonTypes";
3
- export declare function autocompleteKeywordErrorHandlingExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;
1
+ import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { InspectAutocompleteKeywordState } from "./commonTypes";
3
+ export declare function autocompleteKeywordErrorHandlingExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;
@@ -1,55 +1,54 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.autocompleteKeywordErrorHandlingExpression = void 0;
6
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- const __1 = require("../../..");
9
- function autocompleteKeywordErrorHandlingExpression(state) {
10
- const position = state.activeNode.position;
11
- const child = state.child;
12
- const trailingText = state.trailingToken;
13
- const childAttributeIndex = child.node.attributeIndex;
14
- if (childAttributeIndex === 0) {
15
- return [language_1.Keyword.KeywordKind.Try];
16
- }
17
- else if (childAttributeIndex === 1) {
18
- // 'try true o|' creates a ParseError.
19
- // It's ambiguous if the next token should be either 'otherwise', 'or', or 'catch'.
20
- if (trailingText !== undefined) {
21
- const trailingToken = trailingText;
22
- // First we test if we can autocomplete using the error token.
23
- if (trailingToken.kind === language_1.Token.TokenKind.Identifier &&
24
- __1.PositionUtils.isInToken(position, trailingToken, false, true)) {
25
- const tokenData = trailingText.data;
26
- // If we can exclude 'or' then the only thing we can autocomplete is 'otherwise'.
27
- if (tokenData.length > 1 && language_1.Keyword.KeywordKind.Otherwise.startsWith(tokenData)) {
28
- return [language_1.Keyword.KeywordKind.Otherwise];
29
- }
30
- // In the ambiguous case we don't know what they're typing yet, so we suggest both.
31
- // In the case of an identifier that doesn't match a 'or' or 'otherwise'
32
- // we still suggest the only valid keywords allowed.
33
- // In both cases the return is the same.
34
- else {
35
- return [language_1.Keyword.KeywordKind.Or, language_1.Keyword.KeywordKind.Otherwise];
36
- }
37
- }
38
- // There exists an error token we can't map it to an OtherwiseExpression.
39
- else {
40
- return undefined;
41
- }
42
- }
43
- else if (parser_1.XorNodeUtils.isAst(child) && __1.PositionUtils.isAfterAst(position, child.node, true)) {
44
- return [language_1.Keyword.KeywordKind.Otherwise];
45
- }
46
- else {
47
- return language_1.Keyword.ExpressionKeywordKinds;
48
- }
49
- }
50
- else {
51
- return undefined;
52
- }
53
- }
54
- exports.autocompleteKeywordErrorHandlingExpression = autocompleteKeywordErrorHandlingExpression;
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.autocompleteKeywordErrorHandlingExpression = autocompleteKeywordErrorHandlingExpression;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
+ const __1 = require("../../..");
9
+ function autocompleteKeywordErrorHandlingExpression(state) {
10
+ const position = state.activeNode.position;
11
+ const child = state.child;
12
+ const trailingText = state.trailingToken;
13
+ const childAttributeIndex = child.node.attributeIndex;
14
+ if (childAttributeIndex === 0) {
15
+ return [language_1.Keyword.KeywordKind.Try];
16
+ }
17
+ else if (childAttributeIndex === 1) {
18
+ // 'try true o|' creates a ParseError.
19
+ // It's ambiguous if the next token should be either 'otherwise', 'or', or 'catch'.
20
+ if (trailingText !== undefined) {
21
+ const trailingToken = trailingText;
22
+ // First we test if we can autocomplete using the error token.
23
+ if (trailingToken.kind === language_1.Token.TokenKind.Identifier &&
24
+ __1.PositionUtils.isInToken(position, trailingToken, false, true)) {
25
+ const tokenData = trailingText.data;
26
+ // If we can exclude 'or' then the only thing we can autocomplete is 'otherwise'.
27
+ if (tokenData.length > 1 && language_1.Keyword.KeywordKind.Otherwise.startsWith(tokenData)) {
28
+ return [language_1.Keyword.KeywordKind.Otherwise];
29
+ }
30
+ // In the ambiguous case we don't know what they're typing yet, so we suggest both.
31
+ // In the case of an identifier that doesn't match a 'or' or 'otherwise'
32
+ // we still suggest the only valid keywords allowed.
33
+ // In both cases the return is the same.
34
+ else {
35
+ return [language_1.Keyword.KeywordKind.Or, language_1.Keyword.KeywordKind.Otherwise];
36
+ }
37
+ }
38
+ // There exists an error token we can't map it to an OtherwiseExpression.
39
+ else {
40
+ return undefined;
41
+ }
42
+ }
43
+ else if (parser_1.XorNodeUtils.isAst(child) && __1.PositionUtils.isAfterAst(position, child.node, true)) {
44
+ return [language_1.Keyword.KeywordKind.Otherwise];
45
+ }
46
+ else {
47
+ return language_1.Keyword.ExpressionKeywordKinds;
48
+ }
49
+ }
50
+ else {
51
+ return undefined;
52
+ }
53
+ }
55
54
  //# sourceMappingURL=autocompleteKeywordErrorHandlingExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,YAAY,GAA8B,KAAK,CAAC,aAAa,CAAC;IACpE,MAAM,mBAAmB,GAAuB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAE1E,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAC3B,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KACpC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAClC,sCAAsC;QACtC,mFAAmF;QACnF,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,MAAM,aAAa,GAAkB,YAAY,CAAC;YAElD,8DAA8D;YAC9D,IACI,aAAa,CAAC,IAAI,KAAK,gBAAK,CAAC,SAAS,CAAC,UAAU;gBACjD,iBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D;gBACE,MAAM,SAAS,GAAW,YAAY,CAAC,IAAI,CAAC;gBAE5C,iFAAiF;gBACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBAC7E,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAC1C;gBACD,mFAAmF;gBACnF,wEAAwE;gBACxE,oDAAoD;gBACpD,wCAAwC;qBACnC;oBACD,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAClE;aACJ;YAED,yEAAyE;iBACpE;gBACD,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM,IAAI,qBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,iBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC1F,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC1C;aAAM;YACH,OAAO,kBAAO,CAAC,sBAAsB,CAAC;SACzC;KACJ;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAhDD,gGAgDC"}
1
+ {"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAUlC,gGAgDC;AAxDD,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,YAAY,GAA8B,KAAK,CAAC,aAAa,CAAC;IACpE,MAAM,mBAAmB,GAAuB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAE1E,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACnC,sCAAsC;QACtC,mFAAmF;QACnF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAkB,YAAY,CAAC;YAElD,8DAA8D;YAC9D,IACI,aAAa,CAAC,IAAI,KAAK,gBAAK,CAAC,SAAS,CAAC,UAAU;gBACjD,iBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D,CAAC;gBACC,MAAM,SAAS,GAAW,YAAY,CAAC,IAAI,CAAC;gBAE5C,iFAAiF;gBACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9E,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC;gBACD,mFAAmF;gBACnF,wEAAwE;gBACxE,oDAAoD;gBACpD,wCAAwC;qBACnC,CAAC;oBACF,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,EAAE,EAAE,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;YAED,yEAAyE;iBACpE,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;aAAM,IAAI,qBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,iBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3F,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,OAAO,kBAAO,CAAC,sBAAsB,CAAC;QAC1C,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { InspectAutocompleteKeywordState } from "./commonTypes";
3
- export declare function autocompleteKeywordIdentifierPairedExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;
1
+ import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { InspectAutocompleteKeywordState } from "./commonTypes";
3
+ export declare function autocompleteKeywordIdentifierPairedExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;
@@ -1,31 +1,30 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.autocompleteKeywordIdentifierPairedExpression = void 0;
6
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
7
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
8
- const __1 = require("../../..");
9
- function autocompleteKeywordIdentifierPairedExpression(state) {
10
- const childAttributeIndex = state.child.node.attributeIndex;
11
- // `section; s|`
12
- // `section; [] |`
13
- if (childAttributeIndex === 0 &&
14
- parser_1.AncestryUtils.nthChecked(state.activeNode.ancestry, state.ancestryIndex + 1, language_1.Ast.NodeKind.SectionMember)) {
15
- return [language_1.Keyword.KeywordKind.Shared];
16
- }
17
- else if (childAttributeIndex !== 2) {
18
- return [];
19
- }
20
- const leaf = parser_1.NodeIdMapUtils.leftMostLeaf(state.nodeIdMapCollection, state.child.node.id);
21
- // `x = |`
22
- // `x = |1`
23
- if (leaf === undefined || __1.PositionUtils.isBeforeAst(state.activeNode.position, leaf, false)) {
24
- return language_1.Keyword.ExpressionKeywordKinds;
25
- }
26
- else {
27
- return undefined;
28
- }
29
- }
30
- exports.autocompleteKeywordIdentifierPairedExpression = autocompleteKeywordIdentifierPairedExpression;
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.autocompleteKeywordIdentifierPairedExpression = autocompleteKeywordIdentifierPairedExpression;
6
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
7
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
8
+ const __1 = require("../../..");
9
+ function autocompleteKeywordIdentifierPairedExpression(state) {
10
+ const childAttributeIndex = state.child.node.attributeIndex;
11
+ // `section; s|`
12
+ // `section; [] |`
13
+ if (childAttributeIndex === 0 &&
14
+ parser_1.AncestryUtils.nthChecked(state.activeNode.ancestry, state.ancestryIndex + 1, language_1.Ast.NodeKind.SectionMember)) {
15
+ return [language_1.Keyword.KeywordKind.Shared];
16
+ }
17
+ else if (childAttributeIndex !== 2) {
18
+ return [];
19
+ }
20
+ const leaf = parser_1.NodeIdMapUtils.leftMostLeaf(state.nodeIdMapCollection, state.child.node.id);
21
+ // `x = |`
22
+ // `x = |1`
23
+ if (leaf === undefined || __1.PositionUtils.isBeforeAst(state.activeNode.position, leaf, false)) {
24
+ return language_1.Keyword.ExpressionKeywordKinds;
25
+ }
26
+ else {
27
+ return undefined;
28
+ }
29
+ }
31
30
  //# sourceMappingURL=autocompleteKeywordIdentifierPairedExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeywordIdentifierPairedExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,sFAA0G;AAC1G,0FAA2F;AAG3F,gCAAyC;AAEzC,SAAgB,6CAA6C,CACzD,KAAsC;IAEtC,MAAM,mBAAmB,GAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAEhF,gBAAgB;IAChB,kBAAkB;IAClB,IACI,mBAAmB,KAAK,CAAC;QACzB,sBAAa,CAAC,UAAU,CACpB,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,aAAa,GAAG,CAAC,EACvB,cAAG,CAAC,QAAQ,CAAC,aAAa,CAC7B,EACH;QACE,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KACvC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IAED,MAAM,IAAI,GAA0B,uBAAc,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,UAAU;IACV,WAAW;IACX,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;QACzF,OAAO,kBAAO,CAAC,sBAAsB,CAAC;KACzC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AA7BD,sGA6BC"}
1
+ {"version":3,"file":"autocompleteKeywordIdentifierPairedExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAQlC,sGA6BC;AAnCD,sFAA0G;AAC1G,0FAA2F;AAG3F,gCAAyC;AAEzC,SAAgB,6CAA6C,CACzD,KAAsC;IAEtC,MAAM,mBAAmB,GAAuB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;IAEhF,gBAAgB;IAChB,kBAAkB;IAClB,IACI,mBAAmB,KAAK,CAAC;QACzB,sBAAa,CAAC,UAAU,CACpB,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,aAAa,GAAG,CAAC,EACvB,cAAG,CAAC,QAAQ,CAAC,aAAa,CAC7B,EACH,CAAC;QACC,OAAO,CAAC,kBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAA0B,uBAAc,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhH,UAAU;IACV,WAAW;IACX,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAa,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1F,OAAO,kBAAO,CAAC,sBAAsB,CAAC;IAC1C,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { InspectAutocompleteKeywordState } from "./commonTypes";
3
- export declare function autocompleteKeywordLetExpression(state: InspectAutocompleteKeywordState): Promise<ReadonlyArray<Keyword.KeywordKind> | undefined>;
1
+ import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { InspectAutocompleteKeywordState } from "./commonTypes";
3
+ export declare function autocompleteKeywordLetExpression(state: InspectAutocompleteKeywordState): Promise<ReadonlyArray<Keyword.KeywordKind> | undefined>;
@@ -1,71 +1,59 @@
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.autocompleteKeywordLetExpression = void 0;
15
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
16
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
17
- const autocompleteKeywordDefault_1 = require("./autocompleteKeywordDefault");
18
- const common_1 = require("./common");
19
- const autocompleteKeywordTrailingText_1 = require("./autocompleteKeywordTrailingText");
20
- const __1 = require("../../..");
21
- function autocompleteKeywordLetExpression(state) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- // LetExpressions can trigger another inspection which will always hit the same LetExpression.
24
- // Make sure that it doesn't trigger an infinite recursive call.
25
- const child = state.child;
26
- let inspected;
27
- // Might be either `in` or whatever the autocomplete is for the the last child of the variableList.
28
- // `let x = 1 |`
29
- if (child.node.attributeIndex === 2 && parser_1.XorNodeUtils.isContext(child)) {
30
- inspected = yield autocompleteLastKeyValuePair(state, parser_1.NodeIdMapIterator.iterLetExpression(state.nodeIdMapCollection, parser_1.XorNodeUtils.assertAsNodeKind(state.parent, language_1.Ast.NodeKind.LetExpression)));
31
- if (state.trailingToken !== undefined) {
32
- if (state.trailingToken.isPositionEitherInOrOnToken) {
33
- // We don't want inspected to be zero legnth.
34
- // It's either undefined or non-zero length.
35
- inspected = (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected !== null && inspected !== void 0 ? inspected : [], state.trailingToken, [
36
- language_1.Keyword.KeywordKind.In,
37
- ]);
38
- return inspected.length ? inspected : undefined;
39
- }
40
- else if (__1.PositionUtils.isBeforeTokenPosition(state.activeNode.position, state.trailingToken.positionStart, true)) {
41
- return inspected !== undefined ? [...inspected, language_1.Keyword.KeywordKind.In] : inspected;
42
- }
43
- }
44
- else {
45
- return inspected !== undefined ? [...inspected, language_1.Keyword.KeywordKind.In] : [language_1.Keyword.KeywordKind.In];
46
- }
47
- }
48
- // `let foo = e|` where we want to treat the identifier as a potential keyword
49
- else if (child.node.attributeIndex === 1) {
50
- const identifier = parser_1.AncestryUtils.nth(state.activeNode.ancestry, state.ancestryIndex - 5);
51
- if (identifier && parser_1.XorNodeUtils.isAstChecked(identifier, language_1.Ast.NodeKind.Identifier)) {
52
- const identifierAst = identifier.node;
53
- inspected = language_1.Keyword.ExpressionKeywordKinds.filter((value) => value.startsWith(identifierAst.literal));
54
- }
55
- }
56
- return inspected !== null && inspected !== void 0 ? inspected : (0, autocompleteKeywordDefault_1.autocompleteKeywordDefault)(state);
57
- });
58
- }
59
- exports.autocompleteKeywordLetExpression = autocompleteKeywordLetExpression;
60
- function autocompleteLastKeyValuePair(state, keyValuePairs) {
61
- if (keyValuePairs.length === 0) {
62
- return Promise.resolve(undefined);
63
- }
64
- // Grab the last value (if one exists)
65
- const lastValue = keyValuePairs[keyValuePairs.length - 1].value;
66
- if (lastValue === undefined) {
67
- return Promise.resolve(undefined);
68
- }
69
- return (0, common_1.autocompleteKeywordRightMostLeaf)(state, lastValue.node.id);
70
- }
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.autocompleteKeywordLetExpression = autocompleteKeywordLetExpression;
6
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
7
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
8
+ const autocompleteKeywordDefault_1 = require("./autocompleteKeywordDefault");
9
+ const common_1 = require("./common");
10
+ const autocompleteKeywordTrailingText_1 = require("./autocompleteKeywordTrailingText");
11
+ const __1 = require("../../..");
12
+ async function autocompleteKeywordLetExpression(state) {
13
+ // LetExpressions can trigger another inspection which will always hit the same LetExpression.
14
+ // Make sure that it doesn't trigger an infinite recursive call.
15
+ const child = state.child;
16
+ let inspected;
17
+ // Might be either `in` or whatever the autocomplete is for the the last child of the variableList.
18
+ // `let x = 1 |`
19
+ if (child.node.attributeIndex === 2 && parser_1.XorNodeUtils.isContext(child)) {
20
+ inspected = await autocompleteLastKeyValuePair(state, parser_1.NodeIdMapIterator.iterLetExpression(state.nodeIdMapCollection, parser_1.XorNodeUtils.assertAsNodeKind(state.parent, language_1.Ast.NodeKind.LetExpression)));
21
+ if (state.trailingToken !== undefined) {
22
+ if (state.trailingToken.isPositionEitherInOrOnToken) {
23
+ // We don't want inspected to be zero legnth.
24
+ // It's either undefined or non-zero length.
25
+ inspected = (0, autocompleteKeywordTrailingText_1.autocompleteKeywordTrailingText)(inspected ?? [], state.trailingToken, [
26
+ language_1.Keyword.KeywordKind.In,
27
+ ]);
28
+ return inspected.length ? inspected : undefined;
29
+ }
30
+ else if (__1.PositionUtils.isBeforeTokenPosition(state.activeNode.position, state.trailingToken.positionStart, true)) {
31
+ return inspected !== undefined ? [...inspected, language_1.Keyword.KeywordKind.In] : inspected;
32
+ }
33
+ }
34
+ else {
35
+ return inspected !== undefined ? [...inspected, language_1.Keyword.KeywordKind.In] : [language_1.Keyword.KeywordKind.In];
36
+ }
37
+ }
38
+ // `let foo = e|` where we want to treat the identifier as a potential keyword
39
+ else if (child.node.attributeIndex === 1) {
40
+ const identifier = parser_1.AncestryUtils.nth(state.activeNode.ancestry, state.ancestryIndex - 5);
41
+ if (identifier && parser_1.XorNodeUtils.isAstChecked(identifier, language_1.Ast.NodeKind.Identifier)) {
42
+ const identifierAst = identifier.node;
43
+ inspected = language_1.Keyword.ExpressionKeywordKinds.filter((value) => value.startsWith(identifierAst.literal));
44
+ }
45
+ }
46
+ return inspected ?? (0, autocompleteKeywordDefault_1.autocompleteKeywordDefault)(state);
47
+ }
48
+ function autocompleteLastKeyValuePair(state, keyValuePairs) {
49
+ if (keyValuePairs.length === 0) {
50
+ return Promise.resolve(undefined);
51
+ }
52
+ // Grab the last value (if one exists)
53
+ const lastValue = keyValuePairs[keyValuePairs.length - 1].value;
54
+ if (lastValue === undefined) {
55
+ return Promise.resolve(undefined);
56
+ }
57
+ return (0, common_1.autocompleteKeywordRightMostLeaf)(state, lastValue.node.id);
58
+ }
71
59
  //# sourceMappingURL=autocompleteKeywordLetExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeywordLetExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompleteKeywordLetExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { InspectAutocompleteKeywordState } from "./commonTypes";
3
- export declare function autocompleteKeywordListExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;
1
+ import { Keyword } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { InspectAutocompleteKeywordState } from "./commonTypes";
3
+ export declare function autocompleteKeywordListExpression(state: InspectAutocompleteKeywordState): ReadonlyArray<Keyword.KeywordKind> | undefined;