@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217
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/dist/analyzer/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +67 -62
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +47 -47
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +0 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +7 -4
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +102 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +6 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +190 -184
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +61 -63
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +259 -152
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +5 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +37 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -6
- package/dist/analyzer/types.js +7 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +2 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +98 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +35 -38
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +11 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -1
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +18 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +16 -15
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/classDeclaration.test.d.ts +1 -0
- package/dist/tests/classDeclaration.test.js +166 -0
- package/dist/tests/classDeclaration.test.js.map +1 -0
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +106 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +73 -35
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +22 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +86 -63
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +29 -20
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { AnalyzerService } from '../analyzer/service';
|
2
2
|
import { FileSystem } from '../common/fileSystem';
|
3
|
+
import { Uri } from '../common/uri/uri';
|
3
4
|
import { LanguageServerInterface, ServerSettings } from '../languageServerBase';
|
4
5
|
import { Workspace } from '../workspaceFactory';
|
5
6
|
export interface CloneOptions {
|
@@ -8,6 +9,6 @@ export interface CloneOptions {
|
|
8
9
|
fileSystem?: FileSystem;
|
9
10
|
}
|
10
11
|
export declare class AnalyzerServiceExecutor {
|
11
|
-
static runWithOptions(
|
12
|
+
static runWithOptions(languageServiceRootUri: Uri, workspace: Workspace, serverSettings: ServerSettings, typeStubTargetImportName?: string, trackFiles?: boolean): void;
|
12
13
|
static cloneService(ls: LanguageServerInterface, workspace: Workspace, options?: CloneOptions): Promise<AnalyzerService>;
|
13
14
|
}
|
@@ -14,11 +14,10 @@ const pythonPathUtils_1 = require("../analyzer/pythonPathUtils");
|
|
14
14
|
const service_1 = require("../analyzer/service");
|
15
15
|
const commandLineOptions_1 = require("../common/commandLineOptions");
|
16
16
|
const console_1 = require("../common/console");
|
17
|
-
const pathUtils_1 = require("../common/pathUtils");
|
18
17
|
const workspaceFactory_1 = require("../workspaceFactory");
|
19
18
|
class AnalyzerServiceExecutor {
|
20
|
-
static runWithOptions(
|
21
|
-
const commandLineOptions = getEffectiveCommandLineOptions(
|
19
|
+
static runWithOptions(languageServiceRootUri, workspace, serverSettings, typeStubTargetImportName, trackFiles = true) {
|
20
|
+
const commandLineOptions = getEffectiveCommandLineOptions(languageServiceRootUri.getFilePath(), workspace.rootUri.getFilePath(), serverSettings, trackFiles, typeStubTargetImportName, workspace.pythonEnvironmentName);
|
22
21
|
// Setting options causes the analyzer service to re-analyze everything.
|
23
22
|
workspace.service.setOptions(commandLineOptions);
|
24
23
|
}
|
@@ -30,8 +29,7 @@ class AnalyzerServiceExecutor {
|
|
30
29
|
const tempWorkspace = {
|
31
30
|
...workspace,
|
32
31
|
workspaceName: `temp workspace for cloned service`,
|
33
|
-
|
34
|
-
uri: workspace.uri,
|
32
|
+
rootUri: workspace.rootUri,
|
35
33
|
pythonPath: workspace.pythonPath,
|
36
34
|
pythonPathKind: workspace.pythonPathKind,
|
37
35
|
kinds: [...workspace.kinds, workspaceFactory_1.WellKnownWorkspaceKinds.Cloned],
|
@@ -43,14 +41,14 @@ class AnalyzerServiceExecutor {
|
|
43
41
|
searchPathsToWatch: [],
|
44
42
|
};
|
45
43
|
const serverSettings = await ls.getSettings(workspace);
|
46
|
-
AnalyzerServiceExecutor.runWithOptions(ls.
|
44
|
+
AnalyzerServiceExecutor.runWithOptions(ls.rootUri, tempWorkspace, serverSettings, options.typeStubTargetImportName,
|
47
45
|
/* trackFiles */ false);
|
48
46
|
return tempWorkspace.service;
|
49
47
|
}
|
50
48
|
}
|
51
49
|
exports.AnalyzerServiceExecutor = AnalyzerServiceExecutor;
|
52
50
|
function getEffectiveCommandLineOptions(languageServiceRootPath, workspaceRootPath, serverSettings, trackFiles, typeStubTargetImportName, pythonEnvironmentName) {
|
53
|
-
var _a, _b, _c, _d, _e;
|
51
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
54
52
|
const commandLineOptions = new commandLineOptions_1.CommandLineOptions(workspaceRootPath, true);
|
55
53
|
commandLineOptions.checkOnlyOpenFiles = serverSettings.openFilesOnly;
|
56
54
|
commandLineOptions.useLibraryCodeForTypes = serverSettings.useLibraryCodeForTypes;
|
@@ -73,24 +71,24 @@ function getEffectiveCommandLineOptions(languageServiceRootPath, workspaceRootPa
|
|
73
71
|
commandLineOptions.watchForConfigChanges = serverSettings.watchForConfigChanges;
|
74
72
|
}
|
75
73
|
if (serverSettings.venvPath) {
|
76
|
-
commandLineOptions.venvPath =
|
74
|
+
commandLineOptions.venvPath = serverSettings.venvPath.getFilePath();
|
77
75
|
}
|
78
76
|
if (serverSettings.pythonPath) {
|
79
77
|
// The Python VS Code extension treats the value "python" specially. This means
|
80
78
|
// the local python interpreter should be used rather than interpreting the
|
81
79
|
// setting value as a path to the interpreter. We'll simply ignore it in this case.
|
82
|
-
if (!(0, pythonPathUtils_1.isPythonBinary)(serverSettings.pythonPath)) {
|
83
|
-
commandLineOptions.pythonPath =
|
80
|
+
if (!(0, pythonPathUtils_1.isPythonBinary)(serverSettings.pythonPath.getFilePath())) {
|
81
|
+
commandLineOptions.pythonPath = serverSettings.pythonPath.getFilePath();
|
84
82
|
}
|
85
83
|
}
|
86
84
|
if (serverSettings.typeshedPath) {
|
87
85
|
// Pyright supports only one typeshed path currently, whereas the
|
88
86
|
// official VS Code Python extension supports multiple typeshed paths.
|
89
87
|
// We'll use the first one specified and ignore the rest.
|
90
|
-
commandLineOptions.typeshedPath = serverSettings.typeshedPath;
|
88
|
+
commandLineOptions.typeshedPath = serverSettings.typeshedPath.getFilePath();
|
91
89
|
}
|
92
90
|
if (serverSettings.stubPath) {
|
93
|
-
commandLineOptions.stubPath = serverSettings.stubPath;
|
91
|
+
commandLineOptions.stubPath = serverSettings.stubPath.getFilePath();
|
94
92
|
}
|
95
93
|
if (serverSettings.logLevel === console_1.LogLevel.Log) {
|
96
94
|
// When logLevel is "Trace", turn on verboseOutput as well
|
@@ -101,11 +99,11 @@ function getEffectiveCommandLineOptions(languageServiceRootPath, workspaceRootPa
|
|
101
99
|
commandLineOptions.typeStubTargetImportName = typeStubTargetImportName;
|
102
100
|
}
|
103
101
|
commandLineOptions.autoSearchPaths = serverSettings.autoSearchPaths;
|
104
|
-
commandLineOptions.extraPaths = serverSettings.extraPaths;
|
102
|
+
commandLineOptions.extraPaths = (_d = (_c = serverSettings.extraPaths) === null || _c === void 0 ? void 0 : _c.map((e) => e.getFilePath())) !== null && _d !== void 0 ? _d : [];
|
105
103
|
commandLineOptions.diagnosticSeverityOverrides = serverSettings.diagnosticSeverityOverrides;
|
106
|
-
commandLineOptions.includeFileSpecs = (
|
107
|
-
commandLineOptions.excludeFileSpecs = (
|
108
|
-
commandLineOptions.ignoreFileSpecs = (
|
104
|
+
commandLineOptions.includeFileSpecs = (_e = serverSettings.includeFileSpecs) !== null && _e !== void 0 ? _e : [];
|
105
|
+
commandLineOptions.excludeFileSpecs = (_f = serverSettings.excludeFileSpecs) !== null && _f !== void 0 ? _f : [];
|
106
|
+
commandLineOptions.ignoreFileSpecs = (_g = serverSettings.ignoreFileSpecs) !== null && _g !== void 0 ? _g : [];
|
109
107
|
return commandLineOptions;
|
110
108
|
}
|
111
109
|
//# sourceMappingURL=analyzerServiceExecutor.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"analyzerServiceExecutor.js","sourceRoot":"","sources":["../../../src/languageService/analyzerServiceExecutor.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,iEAA6D;AAC7D,iDAAwE;AACxE,qEAAkE;AAClE,+CAA6C;
|
1
|
+
{"version":3,"file":"analyzerServiceExecutor.js","sourceRoot":"","sources":["../../../src/languageService/analyzerServiceExecutor.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,iEAA6D;AAC7D,iDAAwE;AACxE,qEAAkE;AAClE,+CAA6C;AAI7C,0DAA2F;AAQ3F,MAAa,uBAAuB;IAChC,MAAM,CAAC,cAAc,CACjB,sBAA2B,EAC3B,SAAoB,EACpB,cAA8B,EAC9B,wBAAiC,EACjC,UAAU,GAAG,IAAI;QAEjB,MAAM,kBAAkB,GAAG,8BAA8B,CACrD,sBAAsB,CAAC,WAAW,EAAE,EACpC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAC/B,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,SAAS,CAAC,qBAAqB,CAClC,CAAC;QAEF,wEAAwE;QACxE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACrB,EAA2B,EAC3B,SAAoB,EACpB,OAAsB;QAEtB,6DAA6D;QAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC;QACtC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,YAAY,CAAC,CAAC;QAEjD,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;QAExB,MAAM,aAAa,GAAc;YAC7B,GAAG,SAAS;YACZ,aAAa,EAAE,mCAAmC;YAClD,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,0CAAuB,CAAC,MAAM,CAAC;YAC3D,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAC5B,YAAY,EACZ,SAAS,EACT,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAClF,OAAO,CAAC,UAAU,CACrB;YACD,uBAAuB,EAAE,IAAI;YAC7B,sBAAsB,EAAE,IAAI;YAC5B,sBAAsB,EAAE,IAAI;YAC5B,aAAa,EAAE,IAAA,mCAAgB,GAAE;YACjC,kBAAkB,EAAE,EAAE;SACzB,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvD,uBAAuB,CAAC,cAAc,CAClC,EAAE,CAAC,OAAO,EACV,aAAa,EACb,cAAc,EACd,OAAO,CAAC,wBAAwB;QAChC,gBAAgB,CAAC,KAAK,CACzB,CAAC;QAEF,OAAO,aAAa,CAAC,OAAO,CAAC;IACjC,CAAC;CACJ;AA/DD,0DA+DC;AAED,SAAS,8BAA8B,CACnC,uBAA+B,EAC/B,iBAAyB,EACzB,cAA8B,EAC9B,UAAmB,EACnB,wBAAiC,EACjC,qBAA8B;;IAE9B,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3E,kBAAkB,CAAC,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC;IACrE,kBAAkB,CAAC,sBAAsB,GAAG,cAAc,CAAC,sBAAsB,CAAC;IAClF,kBAAkB,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;IACtE,kBAAkB,CAAC,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC;IAChF,kBAAkB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IACtD,kBAAkB,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IAClE,kBAAkB,CAAC,qBAAqB,GAAG,MAAA,cAAc,CAAC,qBAAqB,mCAAI,KAAK,CAAC;IACzF,kBAAkB,CAAC,2BAA2B,GAAG,MAAA,cAAc,CAAC,2BAA2B,mCAAI,EAAE,CAAC;IAClG,kBAAkB,CAAC,qBAAqB,GAAG,UAAU,CAAC;IACtD,kBAAkB,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IAEjE,IAAI,CAAC,UAAU,EAAE;QACb,kBAAkB,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACjD,kBAAkB,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAClD,kBAAkB,CAAC,qBAAqB,GAAG,KAAK,CAAC;KACpD;SAAM;QACH,kBAAkB,CAAC,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC;QAChF,kBAAkB,CAAC,sBAAsB,GAAG,cAAc,CAAC,sBAAsB,CAAC;QAClF,kBAAkB,CAAC,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC;KACnF;IAED,IAAI,cAAc,CAAC,QAAQ,EAAE;QACzB,kBAAkB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KACvE;IAED,IAAI,cAAc,CAAC,UAAU,EAAE;QAC3B,+EAA+E;QAC/E,2EAA2E;QAC3E,mFAAmF;QACnF,IAAI,CAAC,IAAA,gCAAc,EAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,EAAE;YAC1D,kBAAkB,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC3E;KACJ;IAED,IAAI,cAAc,CAAC,YAAY,EAAE;QAC7B,iEAAiE;QACjE,sEAAsE;QACtE,yDAAyD;QACzD,kBAAkB,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KAC/E;IAED,IAAI,cAAc,CAAC,QAAQ,EAAE;QACzB,kBAAkB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KACvE;IAED,IAAI,cAAc,CAAC,QAAQ,KAAK,kBAAQ,CAAC,GAAG,EAAE;QAC1C,0DAA0D;QAC1D,oDAAoD;QACpD,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC;KAC3C;IAED,IAAI,wBAAwB,EAAE;QAC1B,kBAAkB,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;KAC1E;IAED,kBAAkB,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC;IACpE,kBAAkB,CAAC,UAAU,GAAG,MAAA,MAAA,cAAc,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;IAC7F,kBAAkB,CAAC,2BAA2B,GAAG,cAAc,CAAC,2BAA2B,CAAC;IAE5F,kBAAkB,CAAC,gBAAgB,GAAG,MAAA,cAAc,CAAC,gBAAgB,mCAAI,EAAE,CAAC;IAC5E,kBAAkB,CAAC,gBAAgB,GAAG,MAAA,cAAc,CAAC,gBAAgB,mCAAI,EAAE,CAAC;IAC5E,kBAAkB,CAAC,eAAe,GAAG,MAAA,cAAc,CAAC,eAAe,mCAAI,EAAE,CAAC;IAE1E,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
|
@@ -4,10 +4,11 @@ import { ImportGroup } from '../analyzer/importStatementUtils';
|
|
4
4
|
import { Symbol } from '../analyzer/symbol';
|
5
5
|
import { ExecutionEnvironment } from '../common/configOptions';
|
6
6
|
import { TextEditAction } from '../common/editAction';
|
7
|
+
import { SourceFileInfo } from '../common/extensibility';
|
7
8
|
import { Position } from '../common/textRange';
|
9
|
+
import { Uri } from '../common/uri/uri';
|
8
10
|
import { ParseResults } from '../parser/parser';
|
9
11
|
import { CompletionMap } from './completionProvider';
|
10
|
-
import { SourceFileInfo } from '../common/extensibility';
|
11
12
|
import { IndexAliasData } from './symbolIndexer';
|
12
13
|
export interface AutoImportSymbol {
|
13
14
|
readonly importAlias?: IndexAliasData;
|
@@ -16,13 +17,14 @@ export interface AutoImportSymbol {
|
|
16
17
|
readonly itemKind?: CompletionItemKind;
|
17
18
|
}
|
18
19
|
export interface ModuleSymbolTable {
|
20
|
+
uri: Uri;
|
19
21
|
forEach(callbackfn: (symbol: AutoImportSymbol, name: string, library: boolean) => void): void;
|
20
22
|
}
|
21
23
|
export type ModuleSymbolMap = Map<string, ModuleSymbolTable>;
|
22
24
|
export interface AutoImportResult {
|
23
25
|
readonly name: string;
|
24
|
-
readonly
|
25
|
-
readonly
|
26
|
+
readonly declUri: Uri;
|
27
|
+
readonly originalDeclUri: Uri;
|
26
28
|
readonly insertionText: string;
|
27
29
|
readonly symbol?: Symbol;
|
28
30
|
readonly source?: string;
|
@@ -39,7 +41,7 @@ export interface ImportParts {
|
|
39
41
|
readonly importName: string;
|
40
42
|
readonly symbolName?: string;
|
41
43
|
readonly importFrom?: string;
|
42
|
-
readonly
|
44
|
+
readonly fileUri: Uri;
|
43
45
|
readonly dotCount: number;
|
44
46
|
readonly moduleNameAndType: ModuleNameAndType;
|
45
47
|
}
|
@@ -49,7 +51,7 @@ export interface ImportAliasData {
|
|
49
51
|
readonly symbol?: Symbol;
|
50
52
|
readonly kind?: SymbolKind;
|
51
53
|
readonly itemKind?: CompletionItemKind;
|
52
|
-
readonly
|
54
|
+
readonly fileUri: Uri;
|
53
55
|
}
|
54
56
|
export type AutoImportResultMap = Map<string, AutoImportResult[]>;
|
55
57
|
export declare function buildModuleSymbolsMap(files: readonly SourceFileInfo[]): ModuleSymbolMap;
|
@@ -68,12 +70,12 @@ export declare class AutoImporter {
|
|
68
70
|
protected getCandidates(word: string, similarityLimit: number, abbrFromUsers: string | undefined, token: CancellationToken): Map<string, AutoImportResult[]>;
|
69
71
|
protected addImportsFromModuleMap(word: string, similarityLimit: number, abbrFromUsers: string | undefined, aliasMap: Map<string, Map<string, ImportAliasData>>, results: AutoImportResultMap, token: CancellationToken): void;
|
70
72
|
protected addImportsFromImportAliasMap(importAliasMap: Map<string, Map<string, ImportAliasData>>, abbrFromUsers: string | undefined, results: AutoImportResultMap, token: CancellationToken): void;
|
71
|
-
protected processModuleSymbolTable(topLevelSymbols: ModuleSymbolTable,
|
73
|
+
protected processModuleSymbolTable(topLevelSymbols: ModuleSymbolTable, moduleUri: Uri, word: string, similarityLimit: number, isStubOrHasInit: {
|
72
74
|
isStub: boolean;
|
73
75
|
hasInit: boolean;
|
74
76
|
}, abbrFromUsers: string | undefined, importAliasMap: Map<string, Map<string, ImportAliasData>>, results: AutoImportResultMap, token: CancellationToken): void;
|
75
|
-
protected getNameForImportFrom(library: boolean,
|
76
|
-
protected isStubFileOrHasInit<T>(map: Map<string, T>,
|
77
|
+
protected getNameForImportFrom(library: boolean, moduleUri: Uri): string | undefined;
|
78
|
+
protected isStubFileOrHasInit<T>(map: Map<string, T>, uri: Uri): {
|
77
79
|
isStub: boolean;
|
78
80
|
hasInit: boolean;
|
79
81
|
};
|
@@ -89,4 +91,4 @@ export declare class AutoImporter {
|
|
89
91
|
private _getTextEditsForAutoImportByFilePath;
|
90
92
|
private _addResult;
|
91
93
|
}
|
92
|
-
export declare function convertSymbolKindToCompletionItemKind(kind: SymbolKind | undefined): 2 |
|
94
|
+
export declare function convertSymbolKindToCompletionItemKind(kind: SymbolKind | undefined): 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | undefined;
|
@@ -56,18 +56,19 @@ function addModuleSymbolsMap(files, moduleSymbolMap) {
|
|
56
56
|
// duplicated files in the map.
|
57
57
|
return;
|
58
58
|
}
|
59
|
-
const
|
59
|
+
const uri = file.sourceFile.getUri();
|
60
60
|
const symbolTable = file.sourceFile.getModuleSymbolTable();
|
61
61
|
if (!symbolTable) {
|
62
62
|
return;
|
63
63
|
}
|
64
|
-
const fileName = (0, pathUtils_1.stripFileExtension)(
|
64
|
+
const fileName = (0, pathUtils_1.stripFileExtension)(uri.fileName);
|
65
65
|
// Don't offer imports from files that are named with private
|
66
66
|
// naming semantics like "_ast.py".
|
67
67
|
if (SymbolNameUtils.isPrivateOrProtectedName(fileName)) {
|
68
68
|
return;
|
69
69
|
}
|
70
|
-
moduleSymbolMap.set(
|
70
|
+
moduleSymbolMap.set(uri.key, {
|
71
|
+
uri,
|
71
72
|
forEach(callbackfn) {
|
72
73
|
symbolTable.forEach((symbol, name) => {
|
73
74
|
if (!(0, symbolUtils_1.isVisibleExternally)(symbol)) {
|
@@ -122,10 +123,10 @@ class AutoImporter {
|
|
122
123
|
return resultMap;
|
123
124
|
}
|
124
125
|
addImportsFromModuleMap(word, similarityLimit, abbrFromUsers, aliasMap, results, token) {
|
125
|
-
this.moduleSymbolMap.forEach((topLevelSymbols,
|
126
|
+
this.moduleSymbolMap.forEach((topLevelSymbols, key) => {
|
126
127
|
// See if this file should be offered as an implicit import.
|
127
|
-
const isStubFileOrHasInit = this.isStubFileOrHasInit(this.moduleSymbolMap,
|
128
|
-
this.processModuleSymbolTable(topLevelSymbols,
|
128
|
+
const isStubFileOrHasInit = this.isStubFileOrHasInit(this.moduleSymbolMap, topLevelSymbols.uri);
|
129
|
+
this.processModuleSymbolTable(topLevelSymbols, topLevelSymbols.uri, word, similarityLimit, isStubFileOrHasInit, abbrFromUsers, aliasMap, results, token);
|
129
130
|
});
|
130
131
|
}
|
131
132
|
addImportsFromImportAliasMap(importAliasMap, abbrFromUsers, results, token) {
|
@@ -143,7 +144,7 @@ class AutoImporter {
|
|
143
144
|
// io| <= auto-import here
|
144
145
|
// If import statement for the module already exist, then bail out.
|
145
146
|
// ex) import module[.submodule] or from module[.submodule] import symbol
|
146
|
-
if (this._importStatements.mapByFilePath.has(importAliasData.importParts.
|
147
|
+
if (this._importStatements.mapByFilePath.has(importAliasData.importParts.fileUri.key)) {
|
147
148
|
return;
|
148
149
|
}
|
149
150
|
// If it is the module itself that got imported, make sure we don't import it again.
|
@@ -164,7 +165,7 @@ class AutoImporter {
|
|
164
165
|
}
|
165
166
|
const autoImportTextEdits = this._getTextEditsForAutoImportByFilePath({ name: importAliasData.importParts.symbolName, alias: abbrFromUsers }, {
|
166
167
|
name: (_a = importAliasData.importParts.importFrom) !== null && _a !== void 0 ? _a : importAliasData.importParts.importName,
|
167
|
-
}, importAliasData.importParts.importName, importAliasData.importGroup, importAliasData.importParts.
|
168
|
+
}, importAliasData.importParts.importName, importAliasData.importGroup, importAliasData.importParts.fileUri);
|
168
169
|
this._addResult(results, {
|
169
170
|
name: importAliasData.importParts.importName,
|
170
171
|
alias: abbrFromUsers,
|
@@ -173,15 +174,15 @@ class AutoImporter {
|
|
173
174
|
source: importAliasData.importParts.importFrom,
|
174
175
|
insertionText: autoImportTextEdits.insertionText,
|
175
176
|
edits: autoImportTextEdits.edits,
|
176
|
-
|
177
|
-
|
177
|
+
declUri: importAliasData.importParts.fileUri,
|
178
|
+
originalDeclUri: importAliasData.fileUri,
|
178
179
|
});
|
179
180
|
});
|
180
181
|
});
|
181
182
|
}
|
182
|
-
processModuleSymbolTable(topLevelSymbols,
|
183
|
+
processModuleSymbolTable(topLevelSymbols, moduleUri, word, similarityLimit, isStubOrHasInit, abbrFromUsers, importAliasMap, results, token) {
|
183
184
|
(0, cancellationUtils_1.throwIfCancellationRequested)(token);
|
184
|
-
const [importSource, importGroup, moduleNameAndType] = this._getImportPartsForSymbols(
|
185
|
+
const [importSource, importGroup, moduleNameAndType] = this._getImportPartsForSymbols(moduleUri);
|
185
186
|
if (!importSource) {
|
186
187
|
return;
|
187
188
|
}
|
@@ -209,7 +210,7 @@ class AutoImporter {
|
|
209
210
|
symbolName: name,
|
210
211
|
importName: name,
|
211
212
|
importFrom: importSource,
|
212
|
-
|
213
|
+
fileUri: moduleUri,
|
213
214
|
dotCount,
|
214
215
|
moduleNameAndType,
|
215
216
|
},
|
@@ -217,12 +218,12 @@ class AutoImporter {
|
|
217
218
|
symbol: autoImportSymbol.symbol,
|
218
219
|
kind: autoImportSymbol.importAlias.kind,
|
219
220
|
itemKind: autoImportSymbol.importAlias.itemKind,
|
220
|
-
|
221
|
+
fileUri: autoImportSymbol.importAlias.moduleUri,
|
221
222
|
}, importAliasMap);
|
222
223
|
return;
|
223
224
|
}
|
224
|
-
const nameForImportFrom = this.getNameForImportFrom(library,
|
225
|
-
const autoImportTextEdits = this._getTextEditsForAutoImportByFilePath({ name, alias: abbrFromUsers }, { name: importSource, nameForImportFrom }, name, importGroup,
|
225
|
+
const nameForImportFrom = this.getNameForImportFrom(library, moduleUri);
|
226
|
+
const autoImportTextEdits = this._getTextEditsForAutoImportByFilePath({ name, alias: abbrFromUsers }, { name: importSource, nameForImportFrom }, name, importGroup, moduleUri);
|
226
227
|
this._addResult(results, {
|
227
228
|
name,
|
228
229
|
alias: abbrFromUsers,
|
@@ -231,8 +232,8 @@ class AutoImporter {
|
|
231
232
|
kind: (_a = autoImportSymbol.itemKind) !== null && _a !== void 0 ? _a : convertSymbolKindToCompletionItemKind(autoImportSymbol.kind),
|
232
233
|
insertionText: autoImportTextEdits.insertionText,
|
233
234
|
edits: autoImportTextEdits.edits,
|
234
|
-
|
235
|
-
|
235
|
+
declUri: moduleUri,
|
236
|
+
originalDeclUri: moduleUri,
|
236
237
|
});
|
237
238
|
});
|
238
239
|
// If the current file is in a directory that also contains an "__init__.py[i]"
|
@@ -241,7 +242,7 @@ class AutoImporter {
|
|
241
242
|
if (!isStubOrHasInit.isStub && !isStubOrHasInit.hasInit) {
|
242
243
|
return;
|
243
244
|
}
|
244
|
-
const importParts = this._getImportParts(
|
245
|
+
const importParts = this._getImportParts(moduleUri);
|
245
246
|
if (!importParts) {
|
246
247
|
return;
|
247
248
|
}
|
@@ -254,7 +255,7 @@ class AutoImporter {
|
|
254
255
|
return;
|
255
256
|
}
|
256
257
|
this._addToImportAliasMap({
|
257
|
-
|
258
|
+
moduleUri,
|
258
259
|
originalName: importParts.importName,
|
259
260
|
kind: vscode_languageserver_1.SymbolKind.Module,
|
260
261
|
itemKind: vscode_languageserver_1.CompletionItemKind.Module,
|
@@ -263,18 +264,18 @@ class AutoImporter {
|
|
263
264
|
importGroup,
|
264
265
|
kind: vscode_languageserver_1.SymbolKind.Module,
|
265
266
|
itemKind: vscode_languageserver_1.CompletionItemKind.Module,
|
266
|
-
|
267
|
+
fileUri: moduleUri,
|
267
268
|
}, importAliasMap);
|
268
269
|
}
|
269
|
-
getNameForImportFrom(library,
|
270
|
+
getNameForImportFrom(library, moduleUri) {
|
270
271
|
return undefined;
|
271
272
|
}
|
272
|
-
isStubFileOrHasInit(map,
|
273
|
-
const fileDir =
|
274
|
-
const initPathPy =
|
275
|
-
const initPathPyi = initPathPy
|
276
|
-
const isStub =
|
277
|
-
const hasInit = map.has(initPathPy) || map.has(initPathPyi);
|
273
|
+
isStubFileOrHasInit(map, uri) {
|
274
|
+
const fileDir = uri.getDirectory();
|
275
|
+
const initPathPy = fileDir.combinePaths('__init__.py');
|
276
|
+
const initPathPyi = initPathPy.addPath('i');
|
277
|
+
const isStub = uri.pathEndsWith('.pyi');
|
278
|
+
const hasInit = map.has(initPathPy.key) || map.has(initPathPyi.key);
|
278
279
|
return { isStub, hasInit };
|
279
280
|
}
|
280
281
|
_shouldIncludeVariable(autoImportSymbol, name, isStub, library) {
|
@@ -293,13 +294,13 @@ class AutoImporter {
|
|
293
294
|
// Since we don't resolve alias declaration using type evaluator, there is still a chance
|
294
295
|
// where we show multiple aliases for same symbols. but this should still reduce number of
|
295
296
|
// such cases.
|
296
|
-
if (!importAliasMap.has(alias.
|
297
|
+
if (!importAliasMap.has(alias.moduleUri.key)) {
|
297
298
|
const map = new Map();
|
298
299
|
map.set(alias.originalName, data);
|
299
|
-
importAliasMap.set(alias.
|
300
|
+
importAliasMap.set(alias.moduleUri.key, map);
|
300
301
|
return;
|
301
302
|
}
|
302
|
-
const map = importAliasMap.get(alias.
|
303
|
+
const map = importAliasMap.get(alias.moduleUri.key);
|
303
304
|
if (!map.has(alias.originalName)) {
|
304
305
|
map.set(alias.originalName, data);
|
305
306
|
return;
|
@@ -330,8 +331,8 @@ class AutoImporter {
|
|
330
331
|
}
|
331
332
|
return StringUtils.getStringComparer()(left.importParts.importName, right.importParts.importName);
|
332
333
|
}
|
333
|
-
_getImportPartsForSymbols(
|
334
|
-
const localImport = this._importStatements.mapByFilePath.get(
|
334
|
+
_getImportPartsForSymbols(uri) {
|
335
|
+
const localImport = this._importStatements.mapByFilePath.get(uri.key);
|
335
336
|
if (localImport) {
|
336
337
|
return [
|
337
338
|
localImport.moduleName,
|
@@ -344,7 +345,7 @@ class AutoImporter {
|
|
344
345
|
];
|
345
346
|
}
|
346
347
|
else {
|
347
|
-
const moduleNameAndType = this._getModuleNameAndTypeFromFilePath(
|
348
|
+
const moduleNameAndType = this._getModuleNameAndTypeFromFilePath(uri);
|
348
349
|
return [
|
349
350
|
moduleNameAndType.moduleName,
|
350
351
|
(0, importStatementUtils_1.getImportGroupFromModuleNameAndType)(moduleNameAndType),
|
@@ -352,13 +353,13 @@ class AutoImporter {
|
|
352
353
|
];
|
353
354
|
}
|
354
355
|
}
|
355
|
-
_getImportParts(
|
356
|
-
const name = (0, pathUtils_1.stripFileExtension)(
|
356
|
+
_getImportParts(uri) {
|
357
|
+
const name = (0, pathUtils_1.stripFileExtension)(uri.fileName);
|
357
358
|
// See if we can import module as "import xxx"
|
358
359
|
if (name === '__init__') {
|
359
|
-
return createImportParts(this._getModuleNameAndTypeFromFilePath(
|
360
|
+
return createImportParts(this._getModuleNameAndTypeFromFilePath(uri.getDirectory()));
|
360
361
|
}
|
361
|
-
return createImportParts(this._getModuleNameAndTypeFromFilePath(
|
362
|
+
return createImportParts(this._getModuleNameAndTypeFromFilePath(uri));
|
362
363
|
function createImportParts(module) {
|
363
364
|
const moduleName = module.moduleName;
|
364
365
|
if (!moduleName) {
|
@@ -371,7 +372,7 @@ class AutoImporter {
|
|
371
372
|
symbolName: importNamePart,
|
372
373
|
importName: importNamePart !== null && importNamePart !== void 0 ? importNamePart : moduleName,
|
373
374
|
importFrom,
|
374
|
-
|
375
|
+
fileUri: uri,
|
375
376
|
dotCount: StringUtils.getCharacterCount(moduleName, '.'),
|
376
377
|
moduleNameAndType: module,
|
377
378
|
};
|
@@ -409,13 +410,13 @@ class AutoImporter {
|
|
409
410
|
// Given the file path of a module that we want to import,
|
410
411
|
// convert to a module name that can be used in an
|
411
412
|
// 'import from' statement.
|
412
|
-
_getModuleNameAndTypeFromFilePath(
|
413
|
-
return this.importResolver.getModuleNameForImport(
|
413
|
+
_getModuleNameAndTypeFromFilePath(uri) {
|
414
|
+
return this.importResolver.getModuleNameForImport(uri, this.execEnvironment);
|
414
415
|
}
|
415
|
-
_getTextEditsForAutoImportByFilePath(importNameInfo, moduleNameInfo, insertionText, importGroup,
|
416
|
+
_getTextEditsForAutoImportByFilePath(importNameInfo, moduleNameInfo, insertionText, importGroup, fileUri) {
|
416
417
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
417
418
|
// If there is no symbolName, there can't be existing import statement.
|
418
|
-
const importStatement = this._importStatements.mapByFilePath.get(
|
419
|
+
const importStatement = this._importStatements.mapByFilePath.get(fileUri.key);
|
419
420
|
if (importStatement) {
|
420
421
|
// Found import for given module. See whether we can use the module as it is.
|
421
422
|
if (importStatement.node.nodeType === 20 /* ParseNodeType.Import */) {
|
@@ -495,7 +496,7 @@ class AutoImporter {
|
|
495
496
|
}
|
496
497
|
}
|
497
498
|
// Check whether it is one of implicit imports
|
498
|
-
const importFrom = (_g = this._importStatements.implicitImports) === null || _g === void 0 ? void 0 : _g.get(
|
499
|
+
const importFrom = (_g = this._importStatements.implicitImports) === null || _g === void 0 ? void 0 : _g.get(fileUri.key);
|
499
500
|
if (importFrom) {
|
500
501
|
// For now, we don't check whether alias or moduleName got overwritten at
|
501
502
|
// given position
|