@microsoft/powerquery-language-services 0.9.2 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysisBase.js +51 -48
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +6 -5
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalType.d.ts +1 -1
- package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js +3 -2
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +41 -40
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +4 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +118 -95
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +1 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +8 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +31 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +23 -22
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +122 -78
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +56 -54
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +6 -4
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +6 -9
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +0 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +17 -14
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.js +61 -60
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +15 -10
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +8 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +6 -6
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +35 -33
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +20 -18
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +17 -14
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +80 -79
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +20 -20
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +8 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +23 -22
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +15 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +13 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +10 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +74 -73
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +11 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +12 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +6 -4
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
- package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
- package/lib/powerquery-language-services/inspectionUtils.js +22 -21
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +1 -1
- package/lib/powerquery-language-services/library/library.js.map +1 -1
- package/lib/powerquery-language-services/library/librarySymbolUtils.js +9 -9
- package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.js +12 -11
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +42 -42
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +1 -0
- package/lib/powerquery-language-services/positionUtils.js +20 -15
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +15 -15
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/libraryProvider.js +7 -6
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +15 -13
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +21 -20
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +63 -61
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.d.ts +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
- package/lib/powerquery-language-services/trace.d.ts +4 -4
- package/lib/powerquery-language-services/trace.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.js +2 -1
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +13 -11
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +9 -6
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/package.json +4 -4
|
@@ -16,15 +16,17 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
|
16
16
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
17
17
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
18
18
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
19
|
+
const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
|
|
19
20
|
const __1 = require("..");
|
|
20
21
|
const localization_1 = require("../localization");
|
|
21
22
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
23
|
+
const trace_2 = require("../trace");
|
|
22
24
|
function validateInvokeExpression(validationSettings, nodeIdMapCollection, typeCache) {
|
|
23
25
|
var _a, _b;
|
|
24
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const trace = validationSettings.traceManager.entry(
|
|
27
|
+
const trace = validationSettings.traceManager.entry(trace_2.ValidationTraceConstant.Validation, validateInvokeExpression.name, validationSettings.initialCorrelationId);
|
|
26
28
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
27
|
-
const invokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get(
|
|
29
|
+
const invokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.InvokeExpression);
|
|
28
30
|
if (invokeExpressionIds === undefined) {
|
|
29
31
|
trace.exit();
|
|
30
32
|
return [];
|
|
@@ -42,7 +44,7 @@ function validateInvokeExpression(validationSettings, nodeIdMapCollection, typeC
|
|
|
42
44
|
diagnosticTasks.push(invokeExpressionToDiagnostics(updatedSettings, nodeIdMapCollection, triedInvokeExpression.value));
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
|
-
trace.exit({ [
|
|
47
|
+
trace.exit({ [trace_1.TraceConstant.IsThrowing]: true });
|
|
46
48
|
throw triedInvokeExpression;
|
|
47
49
|
}
|
|
48
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateInvokeExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAmE;AACnE,0FAAmG;AACnG,6EAA6E;AAC7E,sFAAgH;
|
|
1
|
+
{"version":3,"file":"validateInvokeExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateInvokeExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,16 @@ exports.validateUnknownIdentifiers = void 0;
|
|
|
15
15
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
16
16
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
17
17
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
18
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
18
19
|
const __1 = require("..");
|
|
19
20
|
const localization_1 = require("../localization");
|
|
20
21
|
const jaroWinkler_1 = require("../jaroWinkler");
|
|
21
22
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
23
|
+
const externalType_1 = require("../externalType/externalType");
|
|
24
|
+
const trace_1 = require("../trace");
|
|
22
25
|
function validateUnknownIdentifiers(validationSettings, nodeIdMapCollection, typeCache) {
|
|
23
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const trace = validationSettings.traceManager.entry(
|
|
27
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateUnknownIdentifiers.name, validationSettings.initialCorrelationId);
|
|
25
28
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
26
29
|
// Grab all identifiers in the given context.
|
|
27
30
|
const identifierValues = findIdentifierAsts(nodeIdMapCollection);
|
|
@@ -29,7 +32,7 @@ function validateUnknownIdentifiers(validationSettings, nodeIdMapCollection, typ
|
|
|
29
32
|
const identifiersWithNodeScope = yield powerquery_parser_1.ArrayUtils.mapAsync(identifierValues, (identifier) => __awaiter(this, void 0, void 0, function* () {
|
|
30
33
|
var _a;
|
|
31
34
|
(_a = validationSettings.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
32
|
-
const identifierExpression = parser_1.NodeIdMapUtils.parentAstChecked(nodeIdMapCollection, identifier.id,
|
|
35
|
+
const identifierExpression = parser_1.NodeIdMapUtils.parentAstChecked(nodeIdMapCollection, identifier.id, language_1.Ast.NodeKind.IdentifierExpression);
|
|
33
36
|
const literal = identifierExpression && identifierExpression.inclusiveConstant !== undefined
|
|
34
37
|
? `@${identifier.literal}`
|
|
35
38
|
: identifier.literal;
|
|
@@ -49,7 +52,7 @@ exports.validateUnknownIdentifiers = validateUnknownIdentifiers;
|
|
|
49
52
|
// For context, "Tbl.AsdC" has a score of ~0.59 against "Table.AddColumn"
|
|
50
53
|
const JaroWinklerSuggestionThreshold = 0.9;
|
|
51
54
|
function findIdentifierAsts(nodeIdMapCollection) {
|
|
52
|
-
const identifiers = nodeIdMapCollection.idsByNodeKind.get(
|
|
55
|
+
const identifiers = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.Identifier);
|
|
53
56
|
if (identifiers === undefined) {
|
|
54
57
|
return [];
|
|
55
58
|
}
|
|
@@ -57,14 +60,14 @@ function findIdentifierAsts(nodeIdMapCollection) {
|
|
|
57
60
|
const result = [];
|
|
58
61
|
for (const identifierId of identifiers.values()) {
|
|
59
62
|
const identifier = astNodeById.get(identifierId);
|
|
60
|
-
if (identifier !== undefined && identifier.identifierContextKind ===
|
|
63
|
+
if (identifier !== undefined && identifier.identifierContextKind === language_1.Ast.IdentifierContextKind.Value) {
|
|
61
64
|
result.push(identifier);
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
return result;
|
|
65
68
|
}
|
|
66
69
|
function findUnknownIdentifiers(validationSettings, identifiersWithNodeScope, correlationId) {
|
|
67
|
-
const trace = validationSettings.traceManager.entry(
|
|
70
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, findUnknownIdentifiers.name, correlationId);
|
|
68
71
|
const unknownIdentifiers = [];
|
|
69
72
|
for (const identifierWithNodeScope of identifiersWithNodeScope) {
|
|
70
73
|
if (powerquery_parser_1.ResultUtils.isError(identifierWithNodeScope.triedNodeScope)) {
|
|
@@ -78,7 +81,7 @@ function findUnknownIdentifiers(validationSettings, identifiersWithNodeScope, co
|
|
|
78
81
|
!validationSettings.library.libraryDefinitions.has(literal) &&
|
|
79
82
|
// even no external type found
|
|
80
83
|
!validationSettings.library.externalTypeResolver({
|
|
81
|
-
kind:
|
|
84
|
+
kind: externalType_1.ExternalTypeRequestKind.Value,
|
|
82
85
|
identifierLiteral: literal,
|
|
83
86
|
})) {
|
|
84
87
|
const knownIdentifiers = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAuE;AACvE,6EAA6E;AAC7E,sFAAsG;
|
|
1
|
+
{"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/powerquery-language-services",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"author": "Microsoft",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
"typescript": "4.6.4"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@microsoft/powerquery-formatter": "0.3.
|
|
58
|
-
"@microsoft/powerquery-parser": "0.15.
|
|
57
|
+
"@microsoft/powerquery-formatter": "0.3.13",
|
|
58
|
+
"@microsoft/powerquery-parser": "0.15.9",
|
|
59
59
|
"vscode-languageserver-textdocument": "1.0.4",
|
|
60
60
|
"vscode-languageserver-types": "3.17.1"
|
|
61
61
|
}
|
|
62
|
-
}
|
|
62
|
+
}
|