@microsoft/powerquery-language-services 0.6.12 → 0.9.2

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 (181) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +12 -11
  2. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +31 -25
  3. package/lib/powerquery-language-services/analysis/analysisBase.js +210 -169
  4. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  5. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisUtils.js +3 -3
  7. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  8. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +6 -6
  9. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
  10. package/lib/powerquery-language-services/documentSymbols.js +4 -4
  11. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  12. package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +2 -2
  13. package/lib/powerquery-language-services/externalType/externalTypeUtils.js +5 -5
  14. package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
  15. package/lib/powerquery-language-services/index.d.ts +2 -1
  16. package/lib/powerquery-language-services/index.js +4 -3
  17. package/lib/powerquery-language-services/index.js.map +1 -1
  18. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +5 -6
  19. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +3 -4
  20. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
  21. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -1
  22. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +212 -179
  23. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  24. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +6 -6
  25. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  26. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +4 -5
  27. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +10 -20
  28. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  29. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -1
  30. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +22 -23
  31. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  32. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +3 -3
  33. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  34. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +1 -1
  35. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  36. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +1 -1
  37. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  38. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +5 -5
  39. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  40. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +3 -3
  41. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  42. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +5 -7
  43. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  44. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +1 -1
  45. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +1 -1
  46. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  47. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +1 -1
  48. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  49. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +1 -1
  50. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -1
  51. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +14 -14
  52. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  53. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +5 -3
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +302 -52
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  56. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +0 -3
  57. package/lib/powerquery-language-services/inspection/autocomplete/task.js +3 -3
  58. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  59. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +8 -0
  60. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +5 -0
  61. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js.map +1 -0
  62. package/lib/powerquery-language-services/inspection/autocomplete/{common.d.ts → trailingTokenUtils.d.ts} +1 -1
  63. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +19 -0
  64. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -0
  65. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +7 -7
  66. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
  67. package/lib/powerquery-language-services/inspection/expectedType.js +2 -2
  68. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  69. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +8 -8
  70. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +5 -5
  72. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  73. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +5 -5
  74. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  75. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +4 -4
  76. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  77. package/lib/powerquery-language-services/inspection/task.js +8 -8
  78. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  79. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +1 -1
  80. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +8 -8
  81. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  82. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +2 -2
  83. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  84. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +18 -18
  85. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  86. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +3 -3
  87. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  88. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +5 -5
  89. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  90. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +2 -2
  91. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  92. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +5 -5
  93. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  94. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +5 -5
  95. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  96. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +3 -3
  97. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  98. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +3 -3
  99. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  100. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +7 -7
  101. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  102. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +3 -3
  103. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  104. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +3 -3
  105. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  106. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +4 -4
  107. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  108. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +6 -6
  109. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  110. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +2 -2
  111. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  112. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +3 -3
  113. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  114. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +5 -5
  115. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  116. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +7 -4
  117. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  118. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +3 -3
  119. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  120. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +4 -4
  121. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  122. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +2 -2
  123. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  124. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +2 -2
  125. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  126. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +3 -3
  127. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  128. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +8 -8
  129. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  130. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +46 -46
  131. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  132. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +3 -3
  133. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  134. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +5 -5
  135. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  136. package/lib/powerquery-language-services/inspection/type/task.js +3 -3
  137. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  138. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +1 -1
  139. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +3 -3
  140. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
  141. package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -3
  142. package/lib/powerquery-language-services/inspectionUtils.js +29 -31
  143. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  144. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +10 -2
  145. package/lib/powerquery-language-services/library/librarySymbolUtils.js +18 -12
  146. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
  147. package/lib/powerquery-language-services/library/libraryUtils.d.ts +5 -5
  148. package/lib/powerquery-language-services/library/libraryUtils.js +12 -12
  149. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  150. package/lib/powerquery-language-services/positionUtils.d.ts +8 -4
  151. package/lib/powerquery-language-services/positionUtils.js +40 -13
  152. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  153. package/lib/powerquery-language-services/providers/libraryProvider.js +2 -2
  154. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
  155. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +1 -1
  156. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  157. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +3 -3
  158. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  159. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +12 -12
  160. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  161. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +6 -6
  162. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  163. package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -0
  164. package/lib/powerquery-language-services/tokenPositionComparison.js +13 -0
  165. package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -0
  166. package/lib/powerquery-language-services/traceUtils.d.ts +2 -2
  167. package/lib/powerquery-language-services/traceUtils.js +5 -5
  168. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  169. package/lib/powerquery-language-services/validate/validate.js +4 -4
  170. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  171. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +3 -3
  172. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  173. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +2 -2
  174. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  175. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +2 -2
  176. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  177. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +1 -1
  178. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  179. package/package.json +9 -7
  180. package/lib/powerquery-language-services/inspection/autocomplete/common.js +0 -11
  181. package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +0 -1
@@ -21,13 +21,13 @@ function autocompleteLanguageConstant(nodeIdMapCollection, activeNode, trailingT
21
21
  return undefined;
22
22
  }
23
23
  if (isCatchAllowed(nodeIdMapCollection, activeNode, trailingToken)) {
24
- return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("catch" /* Catch */);
24
+ return autocompleteItem_1.AutocompleteItemUtils.fromLanguageConstant("catch" /* Catch */);
25
25
  }
26
26
  else if (isNullableAllowed(activeNode)) {
27
- return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("nullable" /* Nullable */);
27
+ return autocompleteItem_1.AutocompleteItemUtils.fromLanguageConstant("nullable" /* Nullable */);
28
28
  }
29
29
  else if (isOptionalAllowed(activeNode)) {
30
- return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("optional" /* Optional */);
30
+ return autocompleteItem_1.AutocompleteItemUtils.fromLanguageConstant("optional" /* Optional */);
31
31
  }
32
32
  else {
33
33
  return undefined;
@@ -42,11 +42,11 @@ function isCatchAllowed(nodeIdMapCollection, activeNode, trailingToken) {
42
42
  // We are under an ErrorHandlingExpression
43
43
  xorNode.node.kind === "ErrorHandlingExpression" /* ErrorHandlingExpression */ &&
44
44
  // Which was fully parsed
45
- parser_1.XorNodeUtils.isAstXor(xorNode) &&
45
+ parser_1.XorNodeUtils.isAst(xorNode) &&
46
46
  // Yet the cursor is after the end of the Ast
47
- activeNode.leafKind === "AfterAstNode" /* AfterAstNode */ &&
47
+ activeNode.leafKind === "IsBeforePosition" /* IsBeforePosition */ &&
48
48
  // And it only has two children, meaning it hasn't parsed an error handler
49
- parser_1.NodeIdMapUtils.assertGetChildren(nodeIdMapCollection.childIdsById, xorNode.node.id).length === 2) {
49
+ parser_1.NodeIdMapUtils.assertChildIds(nodeIdMapCollection.childIdsById, xorNode.node.id).length === 2) {
50
50
  return trailingToken ? "catch" /* Catch */.startsWith(trailingToken.data) : true;
51
51
  }
52
52
  }
@@ -64,7 +64,7 @@ function isNullableAllowed(activeNode) {
64
64
  }
65
65
  break;
66
66
  case "PrimitiveType" /* PrimitiveType */:
67
- if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
67
+ if (parser_1.XorNodeUtils.isContext(xorNode)) {
68
68
  return true;
69
69
  }
70
70
  break;
@@ -75,7 +75,7 @@ function isNullableAllowed(activeNode) {
75
75
  return false;
76
76
  }
77
77
  function isNullableAllowedForAsNullablePrimitiveType(activeNode, ancestryIndex) {
78
- const child = parser_1.AncestryUtils.previousXor(activeNode.ancestry, ancestryIndex);
78
+ const child = parser_1.AncestryUtils.nth(activeNode.ancestry, ancestryIndex - 1);
79
79
  if ((child === null || child === void 0 ? void 0 : child.node.attributeIndex) !== 1) {
80
80
  return false;
81
81
  }
@@ -88,7 +88,7 @@ function isNullableAllowedForAsNullablePrimitiveType(activeNode, ancestryIndex)
88
88
  }
89
89
  // Ast.NullablePrimitiveType
90
90
  else if (paired.node.kind === "NullablePrimitiveType" /* NullablePrimitiveType */) {
91
- const grandchild = parser_1.AncestryUtils.nthPreviousXor(activeNode.ancestry, ancestryIndex, 2);
91
+ const grandchild = parser_1.AncestryUtils.nth(activeNode.ancestry, ancestryIndex - 2);
92
92
  if (grandchild === undefined) {
93
93
  return false;
94
94
  }
@@ -99,23 +99,23 @@ function isNullableAllowedForAsNullablePrimitiveType(activeNode, ancestryIndex)
99
99
  __1.PositionUtils.isBeforeXor(position, grandchild, false));
100
100
  }
101
101
  else if (paired.node.kind === "PrimitiveType" /* PrimitiveType */) {
102
- return parser_1.XorNodeUtils.isContextXor(paired);
102
+ return parser_1.XorNodeUtils.isContext(paired);
103
103
  }
104
104
  else {
105
105
  return false;
106
106
  }
107
107
  }
108
108
  function isOptionalAllowed(activeNode) {
109
- const fnExprAncestryIndex = parser_1.AncestryUtils.findIndexOfNodeKind(activeNode.ancestry, "FunctionExpression" /* FunctionExpression */);
109
+ const fnExprAncestryIndex = parser_1.AncestryUtils.indexOfNodeKind(activeNode.ancestry, "FunctionExpression" /* FunctionExpression */);
110
110
  if (fnExprAncestryIndex === undefined) {
111
111
  return false;
112
112
  }
113
113
  // FunctionExpression -> IParenthesisWrapped -> ParameterList -> Csv -> Parameter
114
- const parameter = parser_1.AncestryUtils.nthPreviousXorChecked(activeNode.ancestry, fnExprAncestryIndex, 4, "Parameter" /* Parameter */);
114
+ const parameter = parser_1.AncestryUtils.nthChecked(activeNode.ancestry, fnExprAncestryIndex - 4, "Parameter" /* Parameter */);
115
115
  if (parameter === undefined) {
116
116
  return false;
117
117
  }
118
- const childOfParameter = parser_1.AncestryUtils.nthPreviousXor(activeNode.ancestry, fnExprAncestryIndex, 5);
118
+ const childOfParameter = parser_1.AncestryUtils.nth(activeNode.ancestry, fnExprAncestryIndex - 5);
119
119
  if (childOfParameter === undefined) {
120
120
  return true;
121
121
  }
@@ -127,7 +127,7 @@ function isOptionalAllowed(activeNode) {
127
127
  case 1:
128
128
  switch (childOfParameter.kind) {
129
129
  case "Ast" /* Ast */: {
130
- const nameAst = parser_1.XorNodeUtils.assertUnboxAstChecked(childOfParameter, "Identifier" /* Identifier */);
130
+ const nameAst = parser_1.XorNodeUtils.assertAstChecked(childOfParameter, "Identifier" /* Identifier */);
131
131
  const name = nameAst.literal;
132
132
  return ("optional" /* Optional */.startsWith(name) &&
133
133
  name !== "optional" /* Optional */ &&
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import * as PQP from "@microsoft/powerquery-parser";
1
+ import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
2
+ import { CommonSettings } from "@microsoft/powerquery-parser";
2
3
  import { TActiveNode } from "../activeNode";
3
- import { TrailingToken, TriedAutocompletePrimitiveType } from "./commonTypes";
4
- export declare function tryAutocompletePrimitiveType(settings: PQP.CommonSettings, activeNode: TActiveNode, trailingToken: TrailingToken | undefined): TriedAutocompletePrimitiveType;
4
+ import { TrailingToken } from "./trailingToken";
5
+ import { TriedAutocompletePrimitiveType } from "./commonTypes";
6
+ export declare function tryAutocompletePrimitiveType(settings: CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, activeNode: TActiveNode, trailingToken: TrailingToken | undefined): TriedAutocompletePrimitiveType;
@@ -4,81 +4,331 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.tryAutocompletePrimitiveType = void 0;
6
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
7
  const powerquery_parser_1 = require("@microsoft/powerquery-parser");
8
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
9
+ const constant_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language/constant/constant");
9
10
  const activeNode_1 = require("../activeNode");
10
- const autocompleteItem_1 = require("./autocompleteItem");
11
11
  const __1 = require("../..");
12
- function tryAutocompletePrimitiveType(settings, activeNode, trailingToken) {
12
+ function tryAutocompletePrimitiveType(settings, nodeIdMapCollection, activeNode, trailingToken) {
13
13
  const trace = settings.traceManager.entry("PrimitiveType" /* AutocompletePrimitiveType */, tryAutocompletePrimitiveType.name, settings.initialCorrelationId);
14
14
  let result;
15
15
  if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
16
- result = powerquery_parser_1.ResultUtils.boxOk([]);
16
+ result = powerquery_parser_1.ResultUtils.ok([]);
17
17
  }
18
18
  else {
19
- result = powerquery_parser_1.ResultUtils.ensureResult(() => autocompletePrimitiveType(activeNode, trailingToken === null || trailingToken === void 0 ? void 0 : trailingToken.data), settings.locale);
19
+ result = powerquery_parser_1.ResultUtils.ensureResult(() => autocompletePrimitiveType(nodeIdMapCollection, activeNode, trailingToken), settings.locale);
20
20
  }
21
21
  trace.exit();
22
22
  return result;
23
23
  }
24
24
  exports.tryAutocompletePrimitiveType = tryAutocompletePrimitiveType;
25
- function autocompletePrimitiveType(activeNode, trailingText) {
26
- return createAutocompleteItems(traverseAncestors(activeNode), trailingText);
27
- }
28
- function createAutocompleteItems(PrimitiveTypeConstants, trailingText) {
29
- return PrimitiveTypeConstants.map((PrimitiveTypeConstant) => autocompleteItem_1.AutocompleteItemUtils.createFromPrimitiveTypeConstant(PrimitiveTypeConstant, trailingText));
30
- }
31
- function traverseAncestors(activeNode) {
25
+ const AllowedPrimitiveTypeConstants = constant_1.PrimitiveTypeConstants.filter((constant) => constant !== "none" /* None */);
26
+ function autocompletePrimitiveType(nodeIdMapCollection, activeNode, trailingToken) {
32
27
  if (activeNode.ancestry.length === 0) {
33
28
  return [];
34
29
  }
35
30
  const ancestry = activeNode.ancestry;
36
- const numAncestors = activeNode.ancestry.length;
37
- for (let index = 0; index < numAncestors; index += 1) {
38
- const parent = ancestry[index];
39
- const child = ancestry[index - 1];
40
- // If the node is a context PrimitiveType node,
41
- // which is created only when a primitive type was expected but there was nothing to parse.
42
- // `x as |`
43
- if (parser_1.XorNodeUtils.isContextXorChecked(parent, "PrimitiveType" /* PrimitiveType */)) {
44
- return language_1.Constant.PrimitiveTypeConstants;
45
- }
46
- // If on the second attribute for TypePrimaryType.
47
- // `type |`
48
- else if (parent.node.kind === "TypePrimaryType" /* TypePrimaryType */) {
49
- if (child === undefined) {
50
- return language_1.Constant.PrimitiveTypeConstants;
51
- }
52
- else if (child.node.attributeIndex === 0 &&
53
- parser_1.XorNodeUtils.isAstXor(child) &&
54
- __1.PositionUtils.isAfterAst(activeNode.position, child.node, true)) {
55
- return language_1.Constant.PrimitiveTypeConstants;
56
- }
31
+ const child = parser_1.AncestryUtils.assertFirst(ancestry);
32
+ if (parser_1.XorNodeUtils.isNodeKind(child, "FieldTypeSpecification" /* FieldTypeSpecification */)) {
33
+ return inspectFieldTypeSpecification(nodeIdMapCollection, child, activeNode, trailingToken);
34
+ }
35
+ else if (parser_1.XorNodeUtils.isNodeKind(child, "NullableType" /* NullableType */)) {
36
+ return inspectNullableType(nodeIdMapCollection, child, activeNode, trailingToken);
37
+ }
38
+ else if (parser_1.XorNodeUtils.isNodeKind(child, "PrimitiveType" /* PrimitiveType */)) {
39
+ const parent = parser_1.AncestryUtils.nth(activeNode.ancestry, 1);
40
+ if (parent === undefined) {
41
+ return [];
42
+ }
43
+ else if (parser_1.XorNodeUtils.isNodeKind(parent, [
44
+ "AsExpression" /* AsExpression */,
45
+ "IsExpression" /* IsExpression */,
46
+ ])) {
47
+ return inspectEitherAsExpressionOrIsExpression(nodeIdMapCollection, parent, child, activeNode, trailingToken);
48
+ }
49
+ else if (parser_1.XorNodeUtils.isNodeKind(parent, "AsNullablePrimitiveType" /* AsNullablePrimitiveType */)) {
50
+ return inspectAsNullablePrimitiveType(nodeIdMapCollection, parent, child, activeNode, trailingToken);
51
+ }
52
+ else if (parser_1.XorNodeUtils.isNodeKind(parent, "NullablePrimitiveType" /* NullablePrimitiveType */)) {
53
+ return inspectNullablePrimitiveType(nodeIdMapCollection, parent, child, activeNode, trailingToken);
54
+ }
55
+ else {
56
+ return inspectPrimitiveType(child, activeNode, trailingToken);
57
+ }
58
+ }
59
+ else if (parser_1.XorNodeUtils.isNodeKind(child, "TypePrimaryType" /* TypePrimaryType */)) {
60
+ return inspectTypePrimaryType(nodeIdMapCollection, child, activeNode, trailingToken);
61
+ }
62
+ else {
63
+ return [];
64
+ }
65
+ }
66
+ // Defaults to insertion if range is undefined,
67
+ // otherwise replaces the range with the label.
68
+ function createAutocompleteItems(text, range) {
69
+ return AllowedPrimitiveTypeConstants.map((label) => {
70
+ const jaroWinklerScore = text !== undefined ? (0, __1.calculateJaroWinkler)(label, text) : 1;
71
+ return {
72
+ jaroWinklerScore,
73
+ kind: __1.CompletionItemKind.Keyword,
74
+ label,
75
+ powerQueryType: language_1.TypeUtils.primitiveType(label === "null" /* Null */, language_1.TypeUtils.typeKindFromPrimitiveTypeConstantKind(label)),
76
+ textEdit: range ? __1.TextEdit.replace(range, label) : undefined,
77
+ };
78
+ });
79
+ }
80
+ function createAutocompleteItemsFromIdentifierExpression(identifierExpression, activeNode) {
81
+ if (identifierExpression.inclusiveConstant) {
82
+ return [];
83
+ }
84
+ const literal = identifierExpression.identifier.literal;
85
+ if (!isSubstringOfPrimitiveTypeConstant(literal) ||
86
+ !__1.PositionUtils.isInAst(activeNode.position, identifierExpression, true, true)) {
87
+ return [];
88
+ }
89
+ return createAutocompleteItems(literal, __1.Range.create(__1.PositionUtils.positionFromTokenPosition(identifierExpression.tokenRange.positionStart), __1.PositionUtils.positionFromTokenPosition(identifierExpression.tokenRange.positionEnd)));
90
+ }
91
+ // `any` returns ["any", "anynonnull"]
92
+ // `date` returns ["date", "datetime", "datetimezone"]
93
+ // etc.
94
+ function createAutocompleteItemsFromPrimitiveTypeConstant(primitiveType, activeNode) {
95
+ if (!__1.PositionUtils.isInAst(activeNode.position, primitiveType, true, true)) {
96
+ return [];
97
+ }
98
+ return createAutocompleteItems(primitiveType.primitiveTypeKind, __1.Range.create(__1.PositionUtils.positionFromTokenPosition(primitiveType.tokenRange.positionStart), __1.PositionUtils.positionFromTokenPosition(primitiveType.tokenRange.positionEnd)));
99
+ }
100
+ // Returns AllowedPrimitiveTypeConstants if either:
101
+ // - there is no trailing token
102
+ // - the Position is either on or to the left of the trailing token's start
103
+ // elif Position is not on the trailing token's end, then return an empty array
104
+ // else return the autocomplete items for the trailing text.
105
+ function createAutocompleteItemsFromTrailingToken(trailingToken) {
106
+ if (!trailingToken) {
107
+ return createAutocompleteItems();
108
+ }
109
+ else if (!trailingToken.isPositionEitherInOrOnToken) {
110
+ return [];
111
+ }
112
+ else {
113
+ return createAutocompleteItems(trailingToken.data, __1.Range.create(__1.PositionUtils.positionFromTokenPosition(trailingToken.positionStart), __1.PositionUtils.positionFromTokenPosition(trailingToken.positionEnd)));
114
+ }
115
+ }
116
+ function inspectAsNullablePrimitiveType(nodeIdMapCollection, asNullablePrimitiveType, primitiveType, activeNode, trailingToken) {
117
+ // Ast
118
+ if (parser_1.XorNodeUtils.isAst(asNullablePrimitiveType)) {
119
+ const nullablePrimitiveType = asNullablePrimitiveType.node.paired;
120
+ switch (nullablePrimitiveType.kind) {
121
+ case "NullablePrimitiveType" /* NullablePrimitiveType */:
122
+ return inspectNullablePrimitiveType(nodeIdMapCollection, parser_1.XorNodeUtils.boxAst(nullablePrimitiveType), parser_1.XorNodeUtils.boxAst(nullablePrimitiveType.paired), activeNode, trailingToken);
123
+ case "PrimitiveType" /* PrimitiveType */:
124
+ return inspectPrimitiveType(parser_1.XorNodeUtils.boxAst(nullablePrimitiveType), activeNode, trailingToken);
125
+ default:
126
+ throw powerquery_parser_1.Assert.isNever(nullablePrimitiveType);
127
+ }
128
+ }
129
+ // ParseContext
130
+ else {
131
+ const asConstant = parser_1.NodeIdMapUtils.nthChildAstChecked(nodeIdMapCollection, asNullablePrimitiveType.node.id, 0, ["Constant" /* Constant */]);
132
+ if (asConstant === undefined || !__1.PositionUtils.isAfterAst(activeNode.position, asConstant, true)) {
133
+ return [];
134
+ }
135
+ const nullablePrimitiveType = parser_1.NodeIdMapUtils.nthChildXorChecked(nodeIdMapCollection, asNullablePrimitiveType.node.id, 1, ["NullablePrimitiveType" /* NullablePrimitiveType */, "PrimitiveType" /* PrimitiveType */]);
136
+ if (nullablePrimitiveType === undefined) {
137
+ return [];
138
+ }
139
+ else if (parser_1.XorNodeUtils.isNodeKind(nullablePrimitiveType, "NullablePrimitiveType" /* NullablePrimitiveType */)) {
140
+ return inspectNullablePrimitiveType(nodeIdMapCollection, nullablePrimitiveType, primitiveType, activeNode, trailingToken);
141
+ }
142
+ else if (parser_1.XorNodeUtils.isNodeKind(nullablePrimitiveType, "PrimitiveType" /* PrimitiveType */)) {
143
+ return inspectPrimitiveType(nullablePrimitiveType, activeNode, trailingToken);
144
+ }
145
+ else {
146
+ throw new powerquery_parser_1.CommonError.InvariantError(`expected either a NullablePrimitiveType or PrimitiveType`, {
147
+ nodeKind: nullablePrimitiveType.node.kind,
148
+ });
149
+ }
150
+ }
151
+ }
152
+ function inspectEitherAsExpressionOrIsExpression(nodeIdMapCollection, eitherAsExpressionOrIsExpression, primitiveType, activeNode, trailingToken) {
153
+ // Ast
154
+ if (parser_1.XorNodeUtils.isAst(primitiveType)) {
155
+ return createAutocompleteItemsFromPrimitiveTypeConstant(primitiveType.node, activeNode);
156
+ }
157
+ // ParseContext
158
+ else {
159
+ const eitherAsConstantOrIsConstant = parser_1.NodeIdMapUtils.assertNthChildAstChecked(nodeIdMapCollection, eitherAsExpressionOrIsExpression.node.id, 1, "Constant" /* Constant */);
160
+ // `1 is|`
161
+ if (__1.PositionUtils.isOnAstEnd(activeNode.position, eitherAsConstantOrIsConstant)) {
162
+ return [];
163
+ }
164
+ return createAutocompleteItemsFromTrailingToken(trailingToken);
165
+ }
166
+ }
167
+ function inspectFieldTypeSpecification(nodeIdMapCollection, fieldTypeSpecification, activeNode, trailingToken) {
168
+ // Ast
169
+ if (parser_1.XorNodeUtils.isAst(fieldTypeSpecification)) {
170
+ const fieldType = fieldTypeSpecification.node.fieldType;
171
+ if (!__1.PositionUtils.isInAst(activeNode.position, fieldType, true, true)) {
172
+ return [];
173
+ }
174
+ else if (language_1.AstUtils.isNodeKind(fieldType, "PrimitiveType" /* PrimitiveType */)) {
175
+ return inspectPrimitiveType(parser_1.XorNodeUtils.boxAst(fieldType), activeNode, trailingToken);
176
+ }
177
+ else if (language_1.AstUtils.isNodeKind(fieldType, "IdentifierExpression" /* IdentifierExpression */)) {
178
+ return createAutocompleteItemsFromIdentifierExpression(fieldType, activeNode);
179
+ }
180
+ }
181
+ // ParseContext
182
+ else {
183
+ const equalConstant = parser_1.NodeIdMapUtils.assertNthChildAstChecked(nodeIdMapCollection, fieldTypeSpecification.node.id, 0, "Constant" /* Constant */);
184
+ if (equalConstant === undefined || !__1.PositionUtils.isAfterAst(activeNode.position, equalConstant, false)) {
185
+ return [];
186
+ }
187
+ const ttype = parser_1.NodeIdMapUtils.nthChildXor(nodeIdMapCollection, fieldTypeSpecification.node.id, 1);
188
+ if (ttype === undefined) {
189
+ return createAutocompleteItems();
190
+ }
191
+ else if (parser_1.XorNodeUtils.isTType(ttype)) {
192
+ return inspectTType(ttype, activeNode, trailingToken);
193
+ }
194
+ }
195
+ return [];
196
+ }
197
+ function inspectNullablePrimitiveType(nodeIdMapCollection, nullablePrimitiveType, primitiveType, activeNode, trailingToken) {
198
+ // Ast
199
+ if (parser_1.XorNodeUtils.isAst(primitiveType)) {
200
+ return inspectPrimitiveType(primitiveType, activeNode, undefined);
201
+ }
202
+ // ParseContext
203
+ else if (!trailingToken) {
204
+ return createAutocompleteItems();
205
+ }
206
+ else if (!trailingToken.isPositionEitherInOrOnToken) {
207
+ return [];
208
+ }
209
+ else {
210
+ const nullableConstant = parser_1.NodeIdMapUtils.nthChildAstChecked(nodeIdMapCollection, nullablePrimitiveType.node.id, 0, ["Constant" /* Constant */]);
211
+ if (nullableConstant === undefined || !__1.PositionUtils.isAfterAst(activeNode.position, nullableConstant, true)) {
212
+ return [];
213
+ }
214
+ else {
215
+ return inspectPrimitiveType(primitiveType, activeNode, trailingToken);
216
+ }
217
+ }
218
+ }
219
+ function inspectNullableType(nodeIdMapCollection, nullableType, activeNode, trailingToken) {
220
+ // Ast
221
+ if (parser_1.XorNodeUtils.isAst(nullableType)) {
222
+ // `type nullable date|`
223
+ if (language_1.AstUtils.isNodeKind(nullableType.node.paired, "PrimitiveType" /* PrimitiveType */)) {
224
+ return inspectPrimitiveType(parser_1.XorNodeUtils.boxAst(nullableType.node.paired), activeNode, trailingToken);
225
+ }
226
+ // `type nullable a|`
227
+ else if (language_1.AstUtils.isNodeKind(nullableType.node.paired, "IdentifierExpression" /* IdentifierExpression */)) {
228
+ return createAutocompleteItemsFromIdentifierExpression(nullableType.node.paired, activeNode);
229
+ }
230
+ else {
231
+ return [];
232
+ }
233
+ }
234
+ // ParseContext
235
+ else {
236
+ const nullableConstant = parser_1.NodeIdMapUtils.nthChildAstChecked(nodeIdMapCollection, nullableType.node.id, 0, ["Constant" /* Constant */]);
237
+ if (nullableConstant === undefined || !__1.PositionUtils.isAfterAst(activeNode.position, nullableConstant, true)) {
238
+ return [];
57
239
  }
58
- // If on a FunctionExpression parameter.
59
- else if (parent.node.kind === "Parameter" /* Parameter */ &&
60
- parser_1.AncestryUtils.nthNextXorChecked(ancestry, index, 4, "FunctionExpression" /* FunctionExpression */) !== undefined) {
61
- // Things get messy when testing if it's on a nullable primitive type OR a primitive type.
62
- const grandchild = parser_1.AncestryUtils.nthPreviousXor(ancestry, index, 2);
63
- if (grandchild === undefined) {
64
- continue;
240
+ else {
241
+ const primitiveType = parser_1.NodeIdMapUtils.nthChildXorChecked(nodeIdMapCollection, nullableType.node.id, 1, ["LiteralExpression" /* LiteralExpression */, "PrimitiveType" /* PrimitiveType */]);
242
+ if (primitiveType === undefined) {
243
+ return [];
244
+ }
245
+ // The parser defaults to having thrown on a LiteralExpression if nothing trails afterwords,
246
+ // eg. `type nullable |`
247
+ else if (parser_1.XorNodeUtils.isNodeKind(primitiveType, "LiteralExpression" /* LiteralExpression */)) {
248
+ return createAutocompleteItems();
65
249
  }
66
- // On primitive type.
67
- // `(x as |) => 0`
68
- else if (parser_1.XorNodeUtils.isAstXorChecked(grandchild, "Constant" /* Constant */) &&
69
- grandchild.node.constantKind === "as" /* As */ &&
70
- __1.PositionUtils.isAfterAst(activeNode.position, grandchild.node, true)) {
71
- return language_1.Constant.PrimitiveTypeConstants;
250
+ else if (parser_1.XorNodeUtils.isNodeKind(primitiveType, "PrimitiveType" /* PrimitiveType */)) {
251
+ return inspectPrimitiveType(primitiveType, activeNode, trailingToken);
72
252
  }
73
- // On nullable primitive type
74
- // `(x as nullable |) => 0`
75
- else if (grandchild.node.kind === "NullablePrimitiveType" /* NullablePrimitiveType */ &&
76
- // Check the great grandchild
77
- parser_1.AncestryUtils.nthPreviousXorChecked(ancestry, index, 3, "PrimitiveType" /* PrimitiveType */)) {
78
- return language_1.Constant.PrimitiveTypeConstants;
253
+ else {
254
+ return [];
79
255
  }
80
256
  }
81
257
  }
258
+ }
259
+ function inspectPrimitiveType(primitiveTypeXor, activeNode, trailingToken) {
260
+ // Ast
261
+ if (parser_1.XorNodeUtils.isAst(primitiveTypeXor)) {
262
+ if (!__1.PositionUtils.isInAst(activeNode.position, primitiveTypeXor.node, true, true)) {
263
+ return [];
264
+ }
265
+ const primitiveTypeAst = primitiveTypeXor.node;
266
+ const primitiveTypeKind = primitiveTypeAst.primitiveTypeKind;
267
+ return createAutocompleteItems(primitiveTypeKind, __1.Range.create(__1.PositionUtils.positionFromTokenPosition(primitiveTypeAst.tokenRange.positionStart), __1.PositionUtils.positionFromTokenPosition(primitiveTypeAst.tokenRange.positionEnd)));
268
+ }
269
+ // ParseContext
270
+ else if (trailingToken) {
271
+ const trailingText = trailingToken.data;
272
+ if (isSubstringOfPrimitiveTypeConstant(trailingText)) {
273
+ return createAutocompleteItems(trailingText, __1.Range.create(__1.PositionUtils.positionFromTokenPosition(trailingToken.positionStart), __1.PositionUtils.positionFromTokenPosition(trailingToken.positionEnd)));
274
+ }
275
+ }
276
+ return createAutocompleteItems();
277
+ }
278
+ function inspectTType(ttype, activeNode, trailingToken) {
279
+ // Ast
280
+ if (parser_1.XorNodeUtils.isAst(ttype)) {
281
+ // `type nullable date|`
282
+ if (language_1.AstUtils.isNodeKind(ttype.node, "PrimitiveType" /* PrimitiveType */)) {
283
+ return inspectPrimitiveType(parser_1.XorNodeUtils.boxAst(ttype.node), activeNode, trailingToken);
284
+ }
285
+ // `type nullable a|`
286
+ else if (language_1.AstUtils.isNodeKind(ttype.node, "IdentifierExpression" /* IdentifierExpression */)) {
287
+ return createAutocompleteItemsFromIdentifierExpression(ttype.node, activeNode);
288
+ }
289
+ }
290
+ // ParseContext
291
+ // The parser defaults to having thrown on a LiteralExpression if nothing trails afterwords,
292
+ // eg. `type nullable |`
293
+ else if (parser_1.XorNodeUtils.isNodeKind(ttype, "LiteralExpression" /* LiteralExpression */)) {
294
+ return createAutocompleteItems();
295
+ }
296
+ else if (parser_1.XorNodeUtils.isNodeKind(ttype, "PrimitiveType" /* PrimitiveType */)) {
297
+ return inspectPrimitiveType(ttype, activeNode, trailingToken);
298
+ }
82
299
  return [];
83
300
  }
301
+ function inspectTypePrimaryType(nodeIdMapCollection, typePrimaryType, activeNode, trailingToken) {
302
+ const typeConstant = parser_1.NodeIdMapUtils.nthChildXorChecked(nodeIdMapCollection, typePrimaryType.node.id, 0, "Constant" /* Constant */);
303
+ if (typeConstant === undefined ||
304
+ !parser_1.XorNodeUtils.isAst(typeConstant) ||
305
+ !__1.PositionUtils.isAfterAst(activeNode.position, typeConstant.node, true)) {
306
+ return [];
307
+ }
308
+ const primaryType = parser_1.NodeIdMapUtils.nthChildXorChecked(nodeIdMapCollection, typePrimaryType.node.id, 1, [
309
+ "PrimitiveType" /* PrimitiveType */,
310
+ "FunctionType" /* FunctionType */,
311
+ "ListType" /* ListType */,
312
+ "NullableType" /* NullableType */,
313
+ "RecordType" /* RecordType */,
314
+ "TableType" /* TableType */,
315
+ ]);
316
+ if (primaryType === undefined) {
317
+ return createAutocompleteItemsFromTrailingToken(trailingToken);
318
+ }
319
+ // Ast
320
+ else if (parser_1.XorNodeUtils.isAst(primaryType)) {
321
+ if (!__1.PositionUtils.isOnAstEnd(activeNode.position, primaryType.node) ||
322
+ !language_1.AstUtils.isNodeKind(primaryType.node, "PrimitiveType" /* PrimitiveType */)) {
323
+ return [];
324
+ }
325
+ return createAutocompleteItemsFromPrimitiveTypeConstant(primaryType.node, activeNode);
326
+ }
327
+ else {
328
+ return [];
329
+ }
330
+ }
331
+ function isSubstringOfPrimitiveTypeConstant(text) {
332
+ return AllowedPrimitiveTypeConstants.some((value) => value.includes(text));
333
+ }
84
334
  //# sourceMappingURL=autocompletePrimitiveType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,3 @@ export interface InspectedFieldAccess {
23
23
  readonly identifierUnderPosition: Ast.GeneralizedIdentifier | undefined;
24
24
  readonly fieldNames: ReadonlyArray<string>;
25
25
  }
26
- export interface TrailingToken extends PQP.Language.Token.Token {
27
- readonly isInOrOnPosition: boolean;
28
- }
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.autocomplete = void 0;
15
15
  const PQP = require("@microsoft/powerquery-parser");
16
- const common_1 = require("./common");
16
+ const trailingTokenUtils_1 = require("./trailingTokenUtils");
17
17
  const autocompleteFieldAccess_1 = require("./autocompleteFieldAccess");
18
18
  const autocompleteKeyword_1 = require("./autocompleteKeyword/autocompleteKeyword");
19
19
  const autocompleteLanguageConstant_1 = require("./autocompleteLanguageConstant");
@@ -28,13 +28,13 @@ function autocomplete(settings, parseState, typeCache, activeNode, parseError) {
28
28
  if (parseError !== undefined) {
29
29
  const parseErrorToken = PQP.Parser.ParseError.tokenFrom(parseError.innerError);
30
30
  if (parseErrorToken !== undefined) {
31
- trailingToken = (0, common_1.createTrailingToken)(activeNode.position, parseErrorToken);
31
+ trailingToken = (0, trailingTokenUtils_1.createTrailingToken)(activeNode.position, parseErrorToken);
32
32
  }
33
33
  }
34
34
  const triedFieldAccess = yield (0, autocompleteFieldAccess_1.tryAutocompleteFieldAccess)(updatedSettings, parseState, activeNode, typeCache);
35
35
  const triedKeyword = yield (0, autocompleteKeyword_1.tryAutocompleteKeyword)(updatedSettings, nodeIdMapCollection, activeNode, trailingToken);
36
36
  const triedLanguageConstant = (0, autocompleteLanguageConstant_1.tryAutocompleteLanguageConstant)(updatedSettings, nodeIdMapCollection, activeNode, trailingToken);
37
- const triedPrimitiveType = (0, autocompletePrimitiveType_1.tryAutocompletePrimitiveType)(updatedSettings, activeNode, trailingToken);
37
+ const triedPrimitiveType = (0, autocompletePrimitiveType_1.tryAutocompletePrimitiveType)(updatedSettings, nodeIdMapCollection, activeNode, trailingToken);
38
38
  trace.exit();
39
39
  return {
40
40
  triedFieldAccess,
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAapD,qCAA+C;AAG/C,uEAAuE;AACvE,mFAAmF;AACnF,iFAAiF;AACjF,2EAA2E;AAG3E,uEAAuE;AACvE,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,UAAuB,EACvB,UAAwD;;QAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,oCAE5C,YAAY,CAAC,IAAI,EACjB,QAAQ,CAAC,oBAAoB,CAChC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAE9F,IAAI,aAAwC,CAAC;QAE7C,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,MAAM,eAAe,GAAyC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CACzF,UAAU,CAAC,UAAU,CACxB,CAAC;YAEF,IAAI,eAAe,KAAK,SAAS,EAAE;gBAC/B,aAAa,GAAG,IAAA,4BAAmB,EAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aAC7E;SACJ;QAED,MAAM,gBAAgB,GAAiC,MAAM,IAAA,oDAA0B,EACnF,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,MAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,eAAe,EACf,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO;YACH,gBAAgB;YAChB,YAAY;YACZ,qBAAqB;YACrB,kBAAkB;SACrB,CAAC;IACN,CAAC;CAAA;AAnED,oCAmEC"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAYpD,6DAA2D;AAI3D,uEAAuE;AACvE,mFAAmF;AACnF,iFAAiF;AACjF,2EAA2E;AAG3E,uEAAuE;AACvE,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,UAAuB,EACvB,UAAwD;;QAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,oCAE5C,YAAY,CAAC,IAAI,EACjB,QAAQ,CAAC,oBAAoB,CAChC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAE9F,IAAI,aAAwC,CAAC;QAE7C,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,MAAM,eAAe,GAAyC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CACzF,UAAU,CAAC,UAAU,CACxB,CAAC;YAEF,IAAI,eAAe,KAAK,SAAS,EAAE;gBAC/B,aAAa,GAAG,IAAA,wCAAmB,EAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;aAC7E;SACJ;QAED,MAAM,gBAAgB,GAAiC,MAAM,IAAA,oDAA0B,EACnF,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,MAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,aAAa,CAChB,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO;YACH,gBAAgB;YAChB,YAAY;YACZ,qBAAqB;YACrB,kBAAkB;SACrB,CAAC;IACN,CAAC;CAAA;AApED,oCAoEC"}
@@ -0,0 +1,8 @@
1
+ import * as PQP from "@microsoft/powerquery-parser";
2
+ import { TokenPositionComparison } from "../../tokenPositionComparison";
3
+ export interface TrailingToken extends PQP.Language.Token.Token {
4
+ readonly isPositionInToken: boolean;
5
+ readonly isPositionEitherInOrOnToken: boolean;
6
+ readonly tokenStartComparison: TokenPositionComparison;
7
+ readonly tokenEndComparison: TokenPositionComparison;
8
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=trailingToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailingToken.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/trailingToken.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -1,4 +1,4 @@
1
1
  import * as PQP from "@microsoft/powerquery-parser";
2
2
  import type { Position } from "vscode-languageserver-types";
3
- import { TrailingToken } from "./commonTypes";
3
+ import { TrailingToken } from "./trailingToken";
4
4
  export declare function createTrailingToken(position: Position, parseErrorToken: PQP.Language.Token.Token): TrailingToken;