@microsoft/powerquery-language-services 0.2.19 → 0.3.3
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.d.ts +4 -6
- package/lib/powerquery-language-services/analysis/analysisBase.js +118 -223
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +2 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js +1 -1
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +0 -2
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +11 -32
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/commonTypes.js +1 -1
- package/lib/powerquery-language-services/commonTypes.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.d.ts +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +62 -111
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/formatter.d.ts +1 -1
- package/lib/powerquery-language-services/formatter.js +35 -34
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.js +2 -2
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +74 -131
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +117 -187
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +28 -28
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +97 -114
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +9 -9
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +43 -56
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +10 -10
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +28 -28
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +28 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +19 -23
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/common.js +2 -13
- package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +36 -25
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +6 -5
- package/lib/powerquery-language-services/inspection/expectedType.js +18 -18
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/externalType/externalType.js +2 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +49 -66
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +74 -99
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/jaroWinkler.js +26 -42
- package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +24 -51
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +221 -275
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/task.js +71 -41
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +354 -339
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +3 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +29 -19
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +27 -17
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +68 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldProjection.d.ts → inspectTypeField/inspectTypeFieldProjection.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +103 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldSelector.d.ts → inspectTypeField/inspectTypeFieldSelector.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +76 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +24 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +65 -55
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +43 -35
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +42 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +55 -64
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +26 -16
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +34 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +33 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +22 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +40 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +27 -28
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +44 -54
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +155 -179
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +36 -37
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +57 -105
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/type/task.js +59 -104
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +2 -0
- package/lib/powerquery-language-services/inspectionUtils.d.ts +5 -4
- package/lib/powerquery-language-services/inspectionUtils.js +80 -134
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.js +11 -11
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.js +9 -13
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +43 -43
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +5 -5
- package/lib/powerquery-language-services/positionUtils.js +47 -33
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +3 -3
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +40 -95
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +63 -138
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +3 -5
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +130 -194
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +18 -52
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validate.js +38 -42
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +82 -127
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +61 -101
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +61 -98
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +112 -122
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +1 -12
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +3 -13
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +7 -8
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +93 -147
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +0 -126
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +0 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +0 -67
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +0 -1
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import type { Hover,
|
|
1
|
+
import type { Hover, Range, SignatureHelp } from "vscode-languageserver-types";
|
|
2
2
|
import { AutocompleteItem } from "../inspection";
|
|
3
3
|
import type { AutocompleteItemProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
4
|
-
import {
|
|
4
|
+
import { Inspection } from "..";
|
|
5
5
|
import type { Analysis } from "./analysis";
|
|
6
6
|
import type { AnalysisSettings } from "./analysisSettings";
|
|
7
7
|
export declare abstract class AnalysisBase implements Analysis {
|
|
8
8
|
protected analysisSettings: AnalysisSettings;
|
|
9
|
-
protected
|
|
10
|
-
protected position: Position;
|
|
9
|
+
protected promiseMaybeInspected: Promise<Inspection.Inspected | undefined>;
|
|
11
10
|
protected languageAutocompleteItemProvider: AutocompleteItemProvider;
|
|
12
11
|
protected librarySymbolProvider: ISymbolProvider;
|
|
13
12
|
protected localDocumentSymbolProvider: ISymbolProvider;
|
|
14
|
-
constructor(analysisSettings: AnalysisSettings,
|
|
13
|
+
constructor(analysisSettings: AnalysisSettings, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>);
|
|
15
14
|
getAutocompleteItems(): Promise<AutocompleteItem[]>;
|
|
16
15
|
getHover(): Promise<Hover>;
|
|
17
16
|
getSignatureHelp(): Promise<SignatureHelp>;
|
|
18
17
|
abstract dispose(): void;
|
|
19
|
-
protected abstract getLexerState(): WorkspaceCache.LexCacheItem;
|
|
20
18
|
protected abstract getText(range?: Range): string;
|
|
21
19
|
private static promiseWithTimeout;
|
|
22
20
|
private static resolveProviders;
|
|
@@ -10,249 +10,138 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
-
function step(op) {
|
|
18
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
-
while (_) try {
|
|
20
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
-
switch (op[0]) {
|
|
23
|
-
case 0: case 1: t = op; break;
|
|
24
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
-
default:
|
|
28
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
-
if (t[2]) _.ops.pop();
|
|
33
|
-
_.trys.pop(); continue;
|
|
34
|
-
}
|
|
35
|
-
op = body.call(thisArg, _);
|
|
36
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
41
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
42
|
-
if (!m) return o;
|
|
43
|
-
var i = m.call(o), r, ar = [], e;
|
|
44
|
-
try {
|
|
45
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
46
|
-
}
|
|
47
|
-
catch (error) { e = { error: error }; }
|
|
48
|
-
finally {
|
|
49
|
-
try {
|
|
50
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
51
|
-
}
|
|
52
|
-
finally { if (e) throw e.error; }
|
|
53
|
-
}
|
|
54
|
-
return ar;
|
|
55
|
-
};
|
|
56
|
-
var __values = (this && this.__values) || function(o) {
|
|
57
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
58
|
-
if (m) return m.call(o);
|
|
59
|
-
if (o && typeof o.length === "number") return {
|
|
60
|
-
next: function () {
|
|
61
|
-
if (o && i >= o.length) o = void 0;
|
|
62
|
-
return { value: o && o[i++], done: !o };
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
66
|
-
};
|
|
67
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
68
14
|
exports.AnalysisBase = void 0;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
function AnalysisBase(analysisSettings, maybeInspectionCacheItem, position) {
|
|
15
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
16
|
+
const InspectionUtils = require("../inspectionUtils");
|
|
17
|
+
const inspection_1 = require("../inspection");
|
|
18
|
+
const __1 = require("..");
|
|
19
|
+
const commonTypes_1 = require("../commonTypes");
|
|
20
|
+
const providers_1 = require("../providers");
|
|
21
|
+
class AnalysisBase {
|
|
22
|
+
constructor(analysisSettings, promiseMaybeInspected) {
|
|
78
23
|
this.analysisSettings = analysisSettings;
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
var library = analysisSettings.library;
|
|
24
|
+
this.promiseMaybeInspected = promiseMaybeInspected;
|
|
25
|
+
const library = analysisSettings.library;
|
|
82
26
|
this.languageAutocompleteItemProvider =
|
|
83
27
|
analysisSettings.maybeCreateLanguageAutocompleteItemProviderFn !== undefined
|
|
84
28
|
? analysisSettings.maybeCreateLanguageAutocompleteItemProviderFn()
|
|
85
|
-
: new providers_1.LanguageAutocompleteItemProvider(
|
|
29
|
+
: new providers_1.LanguageAutocompleteItemProvider(promiseMaybeInspected);
|
|
86
30
|
this.librarySymbolProvider =
|
|
87
31
|
analysisSettings.maybeCreateLibrarySymbolProviderFn !== undefined
|
|
88
32
|
? analysisSettings.maybeCreateLibrarySymbolProviderFn(library)
|
|
89
33
|
: new providers_1.LibrarySymbolProvider(library);
|
|
90
34
|
this.localDocumentSymbolProvider =
|
|
91
35
|
analysisSettings.maybeCreateLocalDocumentSymbolProviderFn !== undefined
|
|
92
|
-
? analysisSettings.maybeCreateLocalDocumentSymbolProviderFn(library,
|
|
93
|
-
: new providers_1.LocalDocumentSymbolProvider(library,
|
|
36
|
+
? analysisSettings.maybeCreateLocalDocumentSymbolProviderFn(library, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn)
|
|
37
|
+
: new providers_1.LocalDocumentSymbolProvider(library, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn);
|
|
94
38
|
}
|
|
95
|
-
|
|
96
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
switch (_f.label) {
|
|
101
|
-
case 0:
|
|
102
|
-
context = {};
|
|
103
|
-
maybeToken = this.getMaybePositionIdentifier();
|
|
104
|
-
if (maybeToken !== undefined) {
|
|
105
|
-
context = {
|
|
106
|
-
range: __1.CommonTypesUtils.rangeFromTokenRange(maybeToken.tokenRange),
|
|
107
|
-
text: maybeToken.literal,
|
|
108
|
-
tokenKind: maybeToken.kind,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
return [4 /*yield*/, Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.localDocumentSymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS))];
|
|
112
|
-
case 1:
|
|
113
|
-
_a = __read.apply(void 0, [_f.sent(), 3]), languageResponse = _a[0], libraryResponse = _a[1], localDocumentResponse = _a[2];
|
|
114
|
-
partial = [];
|
|
115
|
-
try {
|
|
116
|
-
for (_b = __values([localDocumentResponse, languageResponse, libraryResponse]), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
117
|
-
collection = _c.value;
|
|
118
|
-
_loop_1 = function (item) {
|
|
119
|
-
if (partial.find(function (partialItem) { return partialItem.label === item.label; }) === undefined) {
|
|
120
|
-
partial.push(item);
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
try {
|
|
124
|
-
for (collection_1 = (e_2 = void 0, __values(collection)), collection_1_1 = collection_1.next(); !collection_1_1.done; collection_1_1 = collection_1.next()) {
|
|
125
|
-
item = collection_1_1.value;
|
|
126
|
-
_loop_1(item);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
130
|
-
finally {
|
|
131
|
-
try {
|
|
132
|
-
if (collection_1_1 && !collection_1_1.done && (_e = collection_1.return)) _e.call(collection_1);
|
|
133
|
-
}
|
|
134
|
-
finally { if (e_2) throw e_2.error; }
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
139
|
-
finally {
|
|
140
|
-
try {
|
|
141
|
-
if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
|
|
142
|
-
}
|
|
143
|
-
finally { if (e_1) throw e_1.error; }
|
|
144
|
-
}
|
|
145
|
-
return [2 /*return*/, partial.sort(inspection_1.AutocompleteItemUtils.compareFn)];
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
// eslint-disable-next-line require-await
|
|
151
|
-
AnalysisBase.prototype.getHover = function () {
|
|
152
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
-
var identifierToken, maybeActiveNode, context;
|
|
154
|
-
return __generator(this, function (_a) {
|
|
155
|
-
identifierToken = this.getMaybePositionIdentifier();
|
|
156
|
-
if (identifierToken === undefined) {
|
|
157
|
-
return [2 /*return*/, commonTypes_1.EmptyHover];
|
|
158
|
-
}
|
|
159
|
-
maybeActiveNode = this.getMaybeActiveNode();
|
|
160
|
-
if (maybeActiveNode === undefined || !AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
161
|
-
return [2 /*return*/, commonTypes_1.EmptyHover];
|
|
162
|
-
}
|
|
39
|
+
getAutocompleteItems() {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
let context = {};
|
|
42
|
+
const maybeToken = yield this.getMaybePositionIdentifier();
|
|
43
|
+
if (maybeToken !== undefined) {
|
|
163
44
|
context = {
|
|
164
|
-
range: __1.CommonTypesUtils.rangeFromTokenRange(
|
|
165
|
-
|
|
45
|
+
range: __1.CommonTypesUtils.rangeFromTokenRange(maybeToken.tokenRange),
|
|
46
|
+
text: maybeToken.literal,
|
|
47
|
+
tokenKind: maybeToken.kind,
|
|
166
48
|
};
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
return [2 /*return*/, commonTypes_1.EmptySignatureHelp];
|
|
179
|
-
}
|
|
180
|
-
inspected = this.maybeInspectionCacheItem;
|
|
181
|
-
maybeContext = InspectionUtils.getMaybeContextForSignatureProvider(inspected);
|
|
182
|
-
if (maybeContext === undefined) {
|
|
183
|
-
return [2 /*return*/, commonTypes_1.EmptySignatureHelp];
|
|
184
|
-
}
|
|
185
|
-
context = maybeContext;
|
|
186
|
-
if (context.functionName === undefined) {
|
|
187
|
-
return [2 /*return*/, commonTypes_1.EmptySignatureHelp];
|
|
49
|
+
}
|
|
50
|
+
// TODO: intellisense improvements
|
|
51
|
+
// - honor expected data type
|
|
52
|
+
// - only include current query name after @
|
|
53
|
+
const [languageResponse, libraryResponse, localDocumentResponse] = yield Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.localDocumentSymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS));
|
|
54
|
+
const partial = [];
|
|
55
|
+
for (const collection of [localDocumentResponse, languageResponse, libraryResponse]) {
|
|
56
|
+
for (const item of collection) {
|
|
57
|
+
if (partial.find((partialItem) => partialItem.label === item.label) === undefined) {
|
|
58
|
+
partial.push(item);
|
|
59
|
+
}
|
|
188
60
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
});
|
|
61
|
+
}
|
|
62
|
+
return partial.sort(inspection_1.AutocompleteItemUtils.compareFn);
|
|
192
63
|
});
|
|
193
|
-
}
|
|
194
|
-
|
|
64
|
+
}
|
|
65
|
+
getHover() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
68
|
+
const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeIdentifierUnderPosition;
|
|
69
|
+
if (maybeActiveNode === undefined ||
|
|
70
|
+
maybeIdentifierUnderPosition === undefined ||
|
|
71
|
+
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
72
|
+
return commonTypes_1.EmptyHover;
|
|
73
|
+
}
|
|
74
|
+
const identifier = maybeIdentifierUnderPosition;
|
|
75
|
+
const context = {
|
|
76
|
+
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
77
|
+
identifier: identifier.literal,
|
|
78
|
+
};
|
|
79
|
+
// Result priority is based on the order of the symbol providers
|
|
80
|
+
return AnalysisBase.resolveProviders(AnalysisBase.createHoverCalls(context, [this.localDocumentSymbolProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptyHover);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
getSignatureHelp() {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
const maybeInspected = yield this.promiseMaybeInspected;
|
|
86
|
+
if (maybeInspected === undefined) {
|
|
87
|
+
return commonTypes_1.EmptySignatureHelp;
|
|
88
|
+
}
|
|
89
|
+
const maybeContext = yield InspectionUtils.getMaybeContextForSignatureProvider(maybeInspected);
|
|
90
|
+
if (maybeContext === undefined) {
|
|
91
|
+
return commonTypes_1.EmptySignatureHelp;
|
|
92
|
+
}
|
|
93
|
+
const context = maybeContext;
|
|
94
|
+
if (context.functionName === undefined) {
|
|
95
|
+
return commonTypes_1.EmptySignatureHelp;
|
|
96
|
+
}
|
|
97
|
+
// Result priority is based on the order of the symbol providers
|
|
98
|
+
return AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.localDocumentSymbolProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptySignatureHelp);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
static promiseWithTimeout(valueFn, timeoutReturnValue, timeoutInMS) {
|
|
195
102
|
if (timeoutInMS !== undefined) {
|
|
196
103
|
// TODO: Enabling trace entry when timeout occurs
|
|
197
104
|
return Promise.race([
|
|
198
105
|
valueFn(),
|
|
199
|
-
new Promise(
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}, timeoutInMS);
|
|
203
|
-
}),
|
|
106
|
+
new Promise((resolve) => setTimeout(() => {
|
|
107
|
+
resolve(timeoutReturnValue);
|
|
108
|
+
}, timeoutInMS)),
|
|
204
109
|
]);
|
|
205
110
|
}
|
|
206
111
|
return valueFn();
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
results = _a.sent();
|
|
216
|
-
for (i = 0; i < results.length; i += 1) {
|
|
217
|
-
result = results[i];
|
|
218
|
-
if (result !== null) {
|
|
219
|
-
return [2 /*return*/, result];
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return [2 /*return*/, defaultReturnValue];
|
|
112
|
+
}
|
|
113
|
+
static resolveProviders(calls, defaultReturnValue) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const results = yield Promise.all(calls);
|
|
116
|
+
for (let i = 0; i < results.length; i += 1) {
|
|
117
|
+
const result = results[i];
|
|
118
|
+
if (result !== null) {
|
|
119
|
+
return result;
|
|
223
120
|
}
|
|
224
|
-
}
|
|
121
|
+
}
|
|
122
|
+
return defaultReturnValue;
|
|
225
123
|
});
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
var _this = this;
|
|
124
|
+
}
|
|
125
|
+
static createAutocompleteItemCalls(context, providers, timeoutInMS) {
|
|
229
126
|
// TODO: add tracing to the catch case
|
|
230
|
-
return providers.map(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
};
|
|
234
|
-
AnalysisBase.createHoverCalls = function (context, providers, timeoutInMS) {
|
|
235
|
-
var _this = this;
|
|
127
|
+
return providers.map((provider) => this.promiseWithTimeout(() => provider.getAutocompleteItems(context), [], timeoutInMS));
|
|
128
|
+
}
|
|
129
|
+
static createHoverCalls(context, providers, timeoutInMS) {
|
|
236
130
|
// TODO: add tracing to the catch case
|
|
237
|
-
return providers.map(
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
};
|
|
241
|
-
AnalysisBase.createSignatureHelpCalls = function (context, providers, timeoutInMS) {
|
|
242
|
-
var _this = this;
|
|
131
|
+
return providers.map((provider) => this.promiseWithTimeout(() => provider.getHover(context), null, timeoutInMS));
|
|
132
|
+
}
|
|
133
|
+
static createSignatureHelpCalls(context, providers, timeoutInMS) {
|
|
243
134
|
// TODO: add tracing to the catch case
|
|
244
|
-
return providers.map(
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
};
|
|
248
|
-
AnalysisBase.isValidHoverIdentifier = function (activeNode) {
|
|
135
|
+
return providers.map((provider) => this.promiseWithTimeout(() => provider.getSignatureHelp(context), null, timeoutInMS));
|
|
136
|
+
}
|
|
137
|
+
static isValidHoverIdentifier(activeNode) {
|
|
249
138
|
var _a;
|
|
250
|
-
|
|
139
|
+
const ancestry = activeNode.ancestry;
|
|
251
140
|
if (ancestry.length <= 1) {
|
|
252
141
|
return true;
|
|
253
142
|
}
|
|
254
|
-
|
|
255
|
-
|
|
143
|
+
const leaf = powerquery_parser_1.Assert.asDefined(ancestry[0]);
|
|
144
|
+
const followingNode = ancestry[1];
|
|
256
145
|
if (((_a = followingNode === null || followingNode === void 0 ? void 0 : followingNode.node) === null || _a === void 0 ? void 0 : _a.kind) === "Parameter" /* Parameter */) {
|
|
257
146
|
return false;
|
|
258
147
|
}
|
|
@@ -267,18 +156,24 @@ var AnalysisBase = /** @class */ (function () {
|
|
|
267
156
|
return false;
|
|
268
157
|
}
|
|
269
158
|
return true;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
159
|
+
}
|
|
160
|
+
getMaybePositionIdentifier() {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
163
|
+
return maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeIdentifierUnderPosition;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
getMaybeActiveNode() {
|
|
167
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
168
|
+
const maybeInspected = yield this.promiseMaybeInspected;
|
|
169
|
+
if (maybeInspected === undefined) {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
return __1.Inspection.ActiveNodeUtils.isPositionInBounds(maybeInspected.maybeActiveNode)
|
|
173
|
+
? maybeInspected.maybeActiveNode
|
|
174
|
+
: undefined;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
283
178
|
exports.AnalysisBase = AnalysisBase;
|
|
284
179
|
//# sourceMappingURL=analysisBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AutocompleteItemProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
2
2
|
import { ILibrary } from "../library/library";
|
|
3
|
+
import { Inspection } from "..";
|
|
3
4
|
import { InspectionSettings } from "../inspectionSettings";
|
|
4
|
-
import { WorkspaceCache } from "../workspaceCache";
|
|
5
5
|
export interface AnalysisSettings {
|
|
6
6
|
readonly createInspectionSettingsFn: () => InspectionSettings;
|
|
7
7
|
readonly library: ILibrary;
|
|
8
8
|
readonly maintainWorkspaceCache?: boolean;
|
|
9
9
|
readonly maybeCreateLanguageAutocompleteItemProviderFn?: () => AutocompleteItemProvider;
|
|
10
10
|
readonly maybeCreateLibrarySymbolProviderFn?: (library: ILibrary) => ISymbolProvider;
|
|
11
|
-
readonly maybeCreateLocalDocumentSymbolProviderFn?: (library: ILibrary,
|
|
11
|
+
readonly maybeCreateLocalDocumentSymbolProviderFn?: (library: ILibrary, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings) => ISymbolProvider;
|
|
12
12
|
readonly symbolProviderTimeoutInMS?: number;
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.createAnalysis = void 0;
|
|
6
|
-
|
|
6
|
+
const documentAnalysis_1 = require("./documentAnalysis");
|
|
7
7
|
function createAnalysis(document, analysisSettings, position) {
|
|
8
8
|
return new documentAnalysis_1.DocumentAnalysis(document, analysisSettings, position);
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,
|
|
1
|
+
{"version":3,"file":"analysisUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,yDAAsD;AAEtD,SAAgB,cAAc,CAC1B,QAAsB,EACtB,gBAAkC,EAClC,QAAkB;IAElB,OAAO,IAAI,mCAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAND,wCAMC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { Position, Range } from "vscode-languageserver-types";
|
|
2
2
|
import type { TextDocument } from "vscode-languageserver-textdocument";
|
|
3
|
-
import { WorkspaceCache } from "../workspaceCache";
|
|
4
3
|
import { AnalysisBase } from "./analysisBase";
|
|
5
4
|
import { AnalysisSettings } from "./analysisSettings";
|
|
6
5
|
export declare class DocumentAnalysis extends AnalysisBase {
|
|
7
6
|
private readonly textDocument;
|
|
8
7
|
constructor(textDocument: TextDocument, analysisSettings: AnalysisSettings, position: Position);
|
|
9
8
|
dispose(): void;
|
|
10
|
-
protected getLexerState(): WorkspaceCache.LexCacheItem;
|
|
11
9
|
protected getText(range?: Range): string;
|
|
12
10
|
}
|
|
@@ -1,44 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var __extends = (this && this.__extends) || (function () {
|
|
5
|
-
var extendStatics = function (d, b) {
|
|
6
|
-
extendStatics = Object.setPrototypeOf ||
|
|
7
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
8
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
9
|
-
return extendStatics(d, b);
|
|
10
|
-
};
|
|
11
|
-
return function (d, b) {
|
|
12
|
-
if (typeof b !== "function" && b !== null)
|
|
13
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
14
|
-
extendStatics(d, b);
|
|
15
|
-
function __() { this.constructor = d; }
|
|
16
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
17
|
-
};
|
|
18
|
-
})();
|
|
19
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
5
|
exports.DocumentAnalysis = void 0;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
_this.textDocument = textDocument;
|
|
28
|
-
return _this;
|
|
6
|
+
const analysisBase_1 = require("./analysisBase");
|
|
7
|
+
const workspaceCache_1 = require("../workspaceCache");
|
|
8
|
+
class DocumentAnalysis extends analysisBase_1.AnalysisBase {
|
|
9
|
+
constructor(textDocument, analysisSettings, position) {
|
|
10
|
+
super(analysisSettings, workspaceCache_1.WorkspaceCacheUtils.getOrCreateInspectedPromise(textDocument, analysisSettings.createInspectionSettingsFn(), position));
|
|
11
|
+
this.textDocument = textDocument;
|
|
29
12
|
}
|
|
30
|
-
|
|
13
|
+
dispose() {
|
|
31
14
|
if (!this.analysisSettings.maintainWorkspaceCache) {
|
|
32
15
|
workspaceCache_1.WorkspaceCacheUtils.close(this.textDocument);
|
|
33
16
|
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return workspaceCache_1.WorkspaceCacheUtils.getOrCreateLex(this.textDocument, this.analysisSettings.createInspectionSettingsFn());
|
|
37
|
-
};
|
|
38
|
-
DocumentAnalysis.prototype.getText = function (range) {
|
|
17
|
+
}
|
|
18
|
+
getText(range) {
|
|
39
19
|
return this.textDocument.getText(range);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
}(analysisBase_1.AnalysisBase));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
43
22
|
exports.DocumentAnalysis = DocumentAnalysis;
|
|
44
23
|
//# sourceMappingURL=documentAnalysis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,iDAA8C;AAE9C,sDAAwD;AAExD,MAAa,gBAAiB,SAAQ,2BAAY;IAC9C,YAA6B,YAA0B,EAAE,gBAAkC,EAAE,QAAkB;QAC3G,KAAK,CACD,gBAAgB,EAChB,oCAAmB,CAAC,2BAA2B,CAC3C,YAAY,EACZ,gBAAgB,CAAC,0BAA0B,EAAE,EAC7C,QAAQ,CACX,CACJ,CAAC;QARuB,iBAAY,GAAZ,YAAY,CAAc;IASvD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;YAC/C,oCAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAChD;IACL,CAAC;IAES,OAAO,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACJ;AArBD,4CAqBC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.EmptySignatureHelp = exports.EmptyHover = exports.SymbolKind = exports.DiagnosticSeverity = exports.CompletionItemKind = void 0;
|
|
6
|
-
|
|
6
|
+
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
7
7
|
Object.defineProperty(exports, "CompletionItemKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.CompletionItemKind; } });
|
|
8
8
|
Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return vscode_languageserver_types_1.DiagnosticSeverity; } });
|
|
9
9
|
Object.defineProperty(exports, "SymbolKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.SymbolKind; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,6EAYqC;AAgB5B,mGA1BL,gDAAkB,OA0BK;AAAE,mGAvBzB,gDAAkB,OAuByB;AAAE,2FAjB7C,wCAAU,OAiB6C;AAM9C,QAAA,UAAU,GAAU;IAC7B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;CACf,CAAC;AAEW,QAAA,kBAAkB,GAAkB;IAC7C,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;CACxB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
2
|
import { DocumentSymbol, TextDocument } from "./commonTypes";
|
|
3
|
-
export declare function getDocumentSymbols(textDocument: TextDocument, lexAndParseSettings: PQP.LexSettings & PQP.ParseSettings, maintainWorkspaceCache: boolean): DocumentSymbol[]
|
|
3
|
+
export declare function getDocumentSymbols(textDocument: TextDocument, lexAndParseSettings: PQP.LexSettings & PQP.ParseSettings, maintainWorkspaceCache: boolean): Promise<DocumentSymbol[]>;
|