@zzzen/pyright-internal 1.2.0-dev.20231126 → 1.2.0-dev.20231210
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 +59 -52
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +4 -1
- package/dist/analyzer/checker.js +189 -42
- 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 +36 -36
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/commentUtils.js +7 -0
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +14 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.js +2 -1
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +58 -47
- 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/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/operations.js +16 -14
- package/dist/analyzer/operations.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 +6 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +79 -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 +3 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +27 -13
- package/dist/analyzer/protocols.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 +187 -183
- 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 +59 -62
- 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 +298 -231
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
- package/dist/analyzer/typeEvaluatorTypes.js +1 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -3
- 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 -3
- package/dist/analyzer/typeUtils.js +32 -17
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +2 -0
- package/dist/analyzer/typeVarContext.js +27 -0
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +6 -36
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +8 -12
- package/dist/analyzer/types.js +13 -20
- 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/commandController.js +1 -2
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/commands.d.ts +0 -1
- package/dist/commands/commands.js +0 -1
- package/dist/commands/commands.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 +15 -13
- package/dist/common/configOptions.js +120 -30
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -9
- 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 +3 -2
- 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 +122 -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 +34 -37
- 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 -24
- 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 -2
- package/dist/languageService/quickActions.js +3 -83
- 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 +1 -1
- 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 +13 -9
- package/dist/localization/localize.js +7 -4
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -4
- package/dist/localization/package.nls.de.json +0 -4
- package/dist/localization/package.nls.en-us.json +9 -6
- package/dist/localization/package.nls.es.json +2 -6
- package/dist/localization/package.nls.fr.json +0 -4
- package/dist/localization/package.nls.it.json +0 -4
- package/dist/localization/package.nls.ja.json +0 -4
- package/dist/localization/package.nls.ko.json +0 -4
- package/dist/localization/package.nls.pl.json +0 -4
- package/dist/localization/package.nls.pt-br.json +0 -4
- package/dist/localization/package.nls.qps-ploc.json +0 -4
- package/dist/localization/package.nls.ru.json +0 -4
- package/dist/localization/package.nls.tr.json +0 -4
- package/dist/localization/package.nls.zh-cn.json +0 -4
- package/dist/localization/package.nls.zh-tw.json +0 -4
- package/dist/pyright.js +18 -17
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +39 -44
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +68 -61
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +22 -21
- 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 +38 -29
- package/dist/tests/checker.test.js.map +1 -1
- 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/fourslash.d.ts +1 -2
- 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.Consts.d.ts +1 -2
- package/dist/tests/harness/fourslash/testState.Consts.js +0 -1
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +92 -52
- package/dist/tests/harness/fourslash/testState.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 +81 -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 +76 -25
- 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 +13 -6
- 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 +23 -19
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +21 -12
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +84 -70
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +26 -21
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +36 -31
- 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
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.PyrightFileSystem = exports.SupportPartialStubs = void 0;
|
14
14
|
const pyTypedUtils_1 = require("./analyzer/pyTypedUtils");
|
15
15
|
const pathConsts_1 = require("./common/pathConsts");
|
16
|
-
const
|
16
|
+
const uriUtils_1 = require("./common/uri/uriUtils");
|
17
17
|
const readonlyAugmentedFileSystem_1 = require("./readonlyAugmentedFileSystem");
|
18
18
|
var SupportPartialStubs;
|
19
19
|
(function (SupportPartialStubs) {
|
@@ -33,42 +33,38 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
33
33
|
// Partial stub package paths processed
|
34
34
|
this._partialStubPackagePaths = new Set();
|
35
35
|
}
|
36
|
-
mkdirSync(
|
37
|
-
this.realFS.mkdirSync(
|
36
|
+
mkdirSync(uri, options) {
|
37
|
+
this.realFS.mkdirSync(uri, options);
|
38
38
|
}
|
39
|
-
chdir(
|
40
|
-
this.realFS.chdir(
|
39
|
+
chdir(uri) {
|
40
|
+
this.realFS.chdir(uri);
|
41
41
|
}
|
42
|
-
writeFileSync(
|
43
|
-
this.realFS.writeFileSync(this.getOriginalPath(
|
42
|
+
writeFileSync(uri, data, encoding) {
|
43
|
+
this.realFS.writeFileSync(this.getOriginalPath(uri), data, encoding);
|
44
44
|
}
|
45
|
-
rmdirSync(
|
46
|
-
this.realFS.rmdirSync(this.getOriginalPath(
|
45
|
+
rmdirSync(uri) {
|
46
|
+
this.realFS.rmdirSync(this.getOriginalPath(uri));
|
47
47
|
}
|
48
|
-
unlinkSync(
|
49
|
-
this.realFS.unlinkSync(this.getOriginalPath(
|
48
|
+
unlinkSync(uri) {
|
49
|
+
this.realFS.unlinkSync(this.getOriginalPath(uri));
|
50
50
|
}
|
51
|
-
createWriteStream(
|
52
|
-
return this.realFS.createWriteStream(this.getOriginalPath(
|
51
|
+
createWriteStream(uri) {
|
52
|
+
return this.realFS.createWriteStream(this.getOriginalPath(uri));
|
53
53
|
}
|
54
54
|
copyFileSync(src, dst) {
|
55
55
|
this.realFS.copyFileSync(this.getOriginalPath(src), this.getOriginalPath(dst));
|
56
56
|
}
|
57
|
-
getUri(originalPath) {
|
58
|
-
return this.realFS.getUri(originalPath);
|
59
|
-
}
|
60
57
|
isPartialStubPackagesScanned(execEnv) {
|
61
|
-
|
62
|
-
return this.isPathScanned((_a = execEnv.root) !== null && _a !== void 0 ? _a : '');
|
58
|
+
return execEnv.root ? this.isPathScanned(execEnv.root) : false;
|
63
59
|
}
|
64
|
-
isPathScanned(
|
65
|
-
return this._rootSearched.has(
|
60
|
+
isPathScanned(uri) {
|
61
|
+
return this._rootSearched.has(uri.key);
|
66
62
|
}
|
67
63
|
processPartialStubPackages(paths, roots, bundledStubPath) {
|
68
64
|
var _a;
|
69
65
|
for (const path of paths) {
|
70
|
-
this._rootSearched.add(path);
|
71
|
-
if (!this.realFS.existsSync(path) || !(0,
|
66
|
+
this._rootSearched.add(path.key);
|
67
|
+
if (!this.realFS.existsSync(path) || !(0, uriUtils_1.isDirectory)(this.realFS, path)) {
|
72
68
|
continue;
|
73
69
|
}
|
74
70
|
let dirEntries = [];
|
@@ -78,12 +74,12 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
78
74
|
catch {
|
79
75
|
// Leave empty set of dir entries to process.
|
80
76
|
}
|
81
|
-
const isBundledStub = path
|
77
|
+
const isBundledStub = path.equals(bundledStubPath);
|
82
78
|
for (const entry of dirEntries) {
|
83
|
-
const partialStubPackagePath =
|
79
|
+
const partialStubPackagePath = path.combinePaths(entry.name);
|
84
80
|
const isDirectory = !entry.isSymbolicLink()
|
85
81
|
? entry.isDirectory()
|
86
|
-
: !!((_a = (0,
|
82
|
+
: !!((_a = (0, uriUtils_1.tryStat)(this.realFS, partialStubPackagePath)) === null || _a === void 0 ? void 0 : _a.isDirectory());
|
87
83
|
if (!isDirectory || !entry.name.endsWith(pathConsts_1.stubsSuffix)) {
|
88
84
|
continue;
|
89
85
|
}
|
@@ -93,14 +89,14 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
93
89
|
continue;
|
94
90
|
}
|
95
91
|
// We found partially typed stub-packages.
|
96
|
-
this._partialStubPackagePaths.add(partialStubPackagePath);
|
92
|
+
this._partialStubPackagePaths.add(partialStubPackagePath.key);
|
97
93
|
// Search the root to see whether we have matching package installed.
|
98
94
|
let partialStubs;
|
99
95
|
const packageName = entry.name.substr(0, entry.name.length - pathConsts_1.stubsSuffix.length);
|
100
96
|
for (const root of roots) {
|
101
|
-
const packagePath =
|
97
|
+
const packagePath = root.combinePaths(packageName);
|
102
98
|
try {
|
103
|
-
const stat = (0,
|
99
|
+
const stat = (0, uriUtils_1.tryStat)(this.realFS, packagePath);
|
104
100
|
if (!(stat === null || stat === void 0 ? void 0 : stat.isDirectory())) {
|
105
101
|
continue;
|
106
102
|
}
|
@@ -116,9 +112,9 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
116
112
|
// Merge partial stub packages to the library.
|
117
113
|
partialStubs = partialStubs !== null && partialStubs !== void 0 ? partialStubs : this._getRelativePathPartialStubs(partialStubPackagePath);
|
118
114
|
for (const partialStub of partialStubs) {
|
119
|
-
const originalPyiFile =
|
120
|
-
const mappedPyiFile =
|
121
|
-
this.recordMovedEntry(mappedPyiFile, originalPyiFile);
|
115
|
+
const originalPyiFile = partialStubPackagePath.combinePaths(partialStub);
|
116
|
+
const mappedPyiFile = packagePath.combinePaths(partialStub);
|
117
|
+
this.recordMovedEntry(mappedPyiFile, originalPyiFile, packagePath);
|
122
118
|
}
|
123
119
|
}
|
124
120
|
catch {
|
@@ -133,19 +129,18 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
133
129
|
this._rootSearched.clear();
|
134
130
|
this._partialStubPackagePaths.clear();
|
135
131
|
}
|
136
|
-
isMovedEntry(
|
137
|
-
return this._partialStubPackagePaths.has(
|
132
|
+
isMovedEntry(uri) {
|
133
|
+
return this._partialStubPackagePaths.has(uri.key) || super.isMovedEntry(uri);
|
138
134
|
}
|
139
|
-
_getRelativePathPartialStubs(
|
140
|
-
const
|
141
|
-
const
|
142
|
-
|
143
|
-
|
144
|
-
const filePath = (0, pathUtils_1.combinePaths)(path, entry.name);
|
135
|
+
_getRelativePathPartialStubs(partialStubPath) {
|
136
|
+
const relativePaths = [];
|
137
|
+
const searchAllStubs = (uri) => {
|
138
|
+
for (const entry of this.realFS.readdirEntriesSync(uri)) {
|
139
|
+
const filePath = uri.combinePaths(entry.name);
|
145
140
|
let isDirectory = entry.isDirectory();
|
146
141
|
let isFile = entry.isFile();
|
147
142
|
if (entry.isSymbolicLink()) {
|
148
|
-
const stat = (0,
|
143
|
+
const stat = (0, uriUtils_1.tryStat)(this.realFS, filePath);
|
149
144
|
if (stat) {
|
150
145
|
isDirectory = stat.isDirectory();
|
151
146
|
isFile = stat.isFile();
|
@@ -155,15 +150,15 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
|
|
155
150
|
searchAllStubs(filePath);
|
156
151
|
}
|
157
152
|
if (isFile && entry.name.endsWith('.pyi')) {
|
158
|
-
const relative = filePath.
|
153
|
+
const relative = partialStubPath.getRelativePathComponents(filePath).join('/');
|
159
154
|
if (relative) {
|
160
|
-
|
155
|
+
relativePaths.push(relative);
|
161
156
|
}
|
162
157
|
}
|
163
158
|
}
|
164
159
|
};
|
165
|
-
searchAllStubs(
|
166
|
-
return
|
160
|
+
searchAllStubs(partialStubPath);
|
161
|
+
return relativePaths;
|
167
162
|
}
|
168
163
|
}
|
169
164
|
exports.PyrightFileSystem = PyrightFileSystem;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAIH,0DAAyD;AAGzD,oDAAkD;
|
1
|
+
{"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":"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"}
|
@@ -3,39 +3,40 @@
|
|
3
3
|
import type * as fs from 'fs';
|
4
4
|
import { FileSystem, MkDirOptions, Stats } from './common/fileSystem';
|
5
5
|
import { FileWatcher, FileWatcherEventHandler } from './common/fileWatcher';
|
6
|
+
import { Uri } from './common/uri/uri';
|
6
7
|
export declare class ReadOnlyAugmentedFileSystem implements FileSystem {
|
7
8
|
protected realFS: FileSystem;
|
8
9
|
private readonly _entryMap;
|
9
10
|
private readonly _reverseEntryMap;
|
10
11
|
private readonly _folderMap;
|
11
12
|
constructor(realFS: FileSystem);
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
readFileSync(
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
isInZip(
|
37
|
-
protected recordMovedEntry(
|
38
|
-
protected getOriginalPath(
|
39
|
-
protected isMovedEntry(
|
13
|
+
get isCaseSensitive(): boolean;
|
14
|
+
existsSync(uri: Uri): boolean;
|
15
|
+
mkdirSync(uri: Uri, options?: MkDirOptions): void;
|
16
|
+
chdir(uri: Uri): void;
|
17
|
+
readdirEntriesSync(uri: Uri): fs.Dirent[];
|
18
|
+
readdirSync(uri: Uri): string[];
|
19
|
+
readFileSync(uri: Uri, encoding?: null): Buffer;
|
20
|
+
readFileSync(uri: Uri, encoding: BufferEncoding): string;
|
21
|
+
writeFileSync(uri: Uri, data: string | Buffer, encoding: BufferEncoding | null): void;
|
22
|
+
statSync(uri: Uri): Stats;
|
23
|
+
rmdirSync(uri: Uri): void;
|
24
|
+
unlinkSync(uri: Uri): void;
|
25
|
+
realpathSync(uri: Uri): Uri;
|
26
|
+
getModulePath(): Uri;
|
27
|
+
createFileSystemWatcher(paths: Uri[], listener: FileWatcherEventHandler): FileWatcher;
|
28
|
+
createReadStream(uri: Uri): fs.ReadStream;
|
29
|
+
createWriteStream(uri: Uri): fs.WriteStream;
|
30
|
+
copyFileSync(src: Uri, dst: Uri): void;
|
31
|
+
readFile(uri: Uri): Promise<Buffer>;
|
32
|
+
readFileText(uri: Uri, encoding?: BufferEncoding): Promise<string>;
|
33
|
+
realCasePath(uri: Uri): Uri;
|
34
|
+
isMappedUri(fileUri: Uri): boolean;
|
35
|
+
getOriginalUri(mappedFileUri: Uri): Uri;
|
36
|
+
getMappedUri(originalFileUri: Uri): Uri;
|
37
|
+
isInZip(uri: Uri): boolean;
|
38
|
+
protected recordMovedEntry(mappedUri: Uri, originalUri: Uri, rootPath: Uri): void;
|
39
|
+
protected getOriginalPath(mappedFileUri: Uri): Uri;
|
40
|
+
protected isMovedEntry(uri: Uri): boolean;
|
40
41
|
protected clear(): void;
|
41
42
|
}
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.ReadOnlyAugmentedFileSystem = void 0;
|
12
12
|
const collectionUtils_1 = require("./common/collectionUtils");
|
13
13
|
const fileSystem_1 = require("./common/fileSystem");
|
14
|
-
const pathUtils_1 = require("./common/pathUtils");
|
15
14
|
class ReadOnlyAugmentedFileSystem {
|
16
15
|
constructor(realFS) {
|
17
16
|
this.realFS = realFS;
|
@@ -22,29 +21,31 @@ class ReadOnlyAugmentedFileSystem {
|
|
22
21
|
// Mapped files per a containing folder map
|
23
22
|
this._folderMap = new Map();
|
24
23
|
}
|
25
|
-
|
26
|
-
|
24
|
+
get isCaseSensitive() {
|
25
|
+
return this.realFS.isCaseSensitive;
|
26
|
+
}
|
27
|
+
existsSync(uri) {
|
28
|
+
if (this.isMovedEntry(uri)) {
|
27
29
|
// Pretend partial stub folder and its files not exist
|
28
30
|
return false;
|
29
31
|
}
|
30
|
-
return this.realFS.existsSync(this.getOriginalPath(
|
32
|
+
return this.realFS.existsSync(this.getOriginalPath(uri));
|
31
33
|
}
|
32
|
-
mkdirSync(
|
34
|
+
mkdirSync(uri, options) {
|
33
35
|
throw new Error('Operation is not allowed.');
|
34
36
|
}
|
35
|
-
chdir(
|
37
|
+
chdir(uri) {
|
36
38
|
throw new Error('Operation is not allowed.');
|
37
39
|
}
|
38
|
-
readdirEntriesSync(
|
39
|
-
const maybeDirectory = (0, pathUtils_1.ensureTrailingDirectorySeparator)(path);
|
40
|
+
readdirEntriesSync(uri) {
|
40
41
|
const entries = [];
|
41
|
-
const movedEntries = this._folderMap.get(
|
42
|
-
if (!movedEntries || this.realFS.existsSync(
|
43
|
-
(0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(
|
42
|
+
const movedEntries = this._folderMap.get(uri.key);
|
43
|
+
if (!movedEntries || this.realFS.existsSync(uri)) {
|
44
|
+
(0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(uri).filter((item) => {
|
44
45
|
// Filter out the stub package directory and any
|
45
46
|
// entries that will be overwritten by stub package
|
46
47
|
// virtual items.
|
47
|
-
return (!this.isMovedEntry(
|
48
|
+
return (!this.isMovedEntry(uri.combinePaths(item.name)) &&
|
48
49
|
!(movedEntries === null || movedEntries === void 0 ? void 0 : movedEntries.some((movedEntry) => movedEntry.name === item.name)));
|
49
50
|
}));
|
50
51
|
}
|
@@ -53,29 +54,29 @@ class ReadOnlyAugmentedFileSystem {
|
|
53
54
|
}
|
54
55
|
return entries.concat(movedEntries.map((e) => new fileSystem_1.VirtualDirent(e.name, e.isFile)));
|
55
56
|
}
|
56
|
-
readdirSync(
|
57
|
-
return this.readdirEntriesSync(
|
57
|
+
readdirSync(uri) {
|
58
|
+
return this.readdirEntriesSync(uri).map((p) => p.name);
|
58
59
|
}
|
59
|
-
readFileSync(
|
60
|
-
return this.realFS.readFileSync(this.getOriginalPath(
|
60
|
+
readFileSync(uri, encoding) {
|
61
|
+
return this.realFS.readFileSync(this.getOriginalPath(uri), encoding);
|
61
62
|
}
|
62
|
-
writeFileSync(
|
63
|
+
writeFileSync(uri, data, encoding) {
|
63
64
|
throw new Error('Operation is not allowed.');
|
64
65
|
}
|
65
|
-
statSync(
|
66
|
-
return this.realFS.statSync(this.getOriginalPath(
|
66
|
+
statSync(uri) {
|
67
|
+
return this.realFS.statSync(this.getOriginalPath(uri));
|
67
68
|
}
|
68
|
-
rmdirSync(
|
69
|
+
rmdirSync(uri) {
|
69
70
|
throw new Error('Operation is not allowed.');
|
70
71
|
}
|
71
|
-
unlinkSync(
|
72
|
+
unlinkSync(uri) {
|
72
73
|
throw new Error('Operation is not allowed.');
|
73
74
|
}
|
74
|
-
realpathSync(
|
75
|
-
if (this._entryMap.has(
|
76
|
-
return
|
75
|
+
realpathSync(uri) {
|
76
|
+
if (this._entryMap.has(uri.key)) {
|
77
|
+
return uri;
|
77
78
|
}
|
78
|
-
return this.realFS.realpathSync(
|
79
|
+
return this.realFS.realpathSync(uri);
|
79
80
|
}
|
80
81
|
getModulePath() {
|
81
82
|
return this.realFS.getModulePath();
|
@@ -83,63 +84,69 @@ class ReadOnlyAugmentedFileSystem {
|
|
83
84
|
createFileSystemWatcher(paths, listener) {
|
84
85
|
return this.realFS.createFileSystemWatcher(paths, listener);
|
85
86
|
}
|
86
|
-
createReadStream(
|
87
|
-
return this.realFS.createReadStream(this.getOriginalPath(
|
87
|
+
createReadStream(uri) {
|
88
|
+
return this.realFS.createReadStream(this.getOriginalPath(uri));
|
88
89
|
}
|
89
|
-
createWriteStream(
|
90
|
+
createWriteStream(uri) {
|
90
91
|
throw new Error('Operation is not allowed.');
|
91
92
|
}
|
92
93
|
copyFileSync(src, dst) {
|
93
94
|
throw new Error('Operation is not allowed.');
|
94
95
|
}
|
95
96
|
// Async I/O
|
96
|
-
readFile(
|
97
|
-
return this.realFS.readFile(this.getOriginalPath(
|
98
|
-
}
|
99
|
-
readFileText(path, encoding) {
|
100
|
-
return this.realFS.readFileText(this.getOriginalPath(path), encoding);
|
97
|
+
readFile(uri) {
|
98
|
+
return this.realFS.readFile(this.getOriginalPath(uri));
|
101
99
|
}
|
102
|
-
|
103
|
-
return this.realFS.
|
100
|
+
readFileText(uri, encoding) {
|
101
|
+
return this.realFS.readFileText(this.getOriginalPath(uri), encoding);
|
104
102
|
}
|
105
|
-
|
106
|
-
return this.realFS.
|
103
|
+
realCasePath(uri) {
|
104
|
+
return this.realFS.realCasePath(uri);
|
107
105
|
}
|
108
106
|
// See whether the file is mapped to another location.
|
109
|
-
|
110
|
-
return this._entryMap.has(
|
107
|
+
isMappedUri(fileUri) {
|
108
|
+
return this._entryMap.has(fileUri.key) || this.realFS.isMappedUri(fileUri);
|
111
109
|
}
|
112
110
|
// Get original filepath if the given filepath is mapped.
|
113
|
-
|
114
|
-
return this.realFS.
|
111
|
+
getOriginalUri(mappedFileUri) {
|
112
|
+
return this.realFS.getOriginalUri(this.getOriginalPath(mappedFileUri));
|
115
113
|
}
|
116
114
|
// Get mapped filepath if the given filepath is mapped.
|
117
|
-
|
115
|
+
getMappedUri(originalFileUri) {
|
118
116
|
var _a;
|
119
|
-
const
|
120
|
-
return (_a = this._reverseEntryMap.get(
|
121
|
-
}
|
122
|
-
isInZip(
|
123
|
-
return this.realFS.isInZip(
|
124
|
-
}
|
125
|
-
recordMovedEntry(
|
126
|
-
this._entryMap.set(
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
const
|
131
|
-
const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory, () => []);
|
132
|
-
const name = (0, pathUtils_1.getFileName)(mappedPath);
|
117
|
+
const mappedFileUri = this.realFS.getMappedUri(originalFileUri);
|
118
|
+
return (_a = this._reverseEntryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
|
119
|
+
}
|
120
|
+
isInZip(uri) {
|
121
|
+
return this.realFS.isInZip(uri);
|
122
|
+
}
|
123
|
+
recordMovedEntry(mappedUri, originalUri, rootPath) {
|
124
|
+
this._entryMap.set(mappedUri.key, originalUri);
|
125
|
+
this._reverseEntryMap.set(originalUri.key, mappedUri);
|
126
|
+
const directory = mappedUri.getDirectory();
|
127
|
+
const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory.key, () => []);
|
128
|
+
const name = mappedUri.fileName;
|
133
129
|
if (!folderInfo.some((entry) => entry.name === name)) {
|
134
|
-
folderInfo.push({ name, isFile });
|
130
|
+
folderInfo.push({ name, isFile: true });
|
131
|
+
}
|
132
|
+
// Add the directory entries for the sub paths as well.
|
133
|
+
const subPathEntries = rootPath.getRelativePathComponents(directory);
|
134
|
+
for (let i = 0; i < subPathEntries.length; i++) {
|
135
|
+
const subdir = rootPath.combinePaths(...subPathEntries.slice(0, i + 1));
|
136
|
+
const parent = subdir.getDirectory().key;
|
137
|
+
const dirInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, parent, () => []);
|
138
|
+
const dirName = subdir.fileName;
|
139
|
+
if (!dirInfo.some((entry) => entry.name === dirName)) {
|
140
|
+
dirInfo.push({ name: dirName, isFile: false });
|
141
|
+
}
|
135
142
|
}
|
136
143
|
}
|
137
|
-
getOriginalPath(
|
144
|
+
getOriginalPath(mappedFileUri) {
|
138
145
|
var _a;
|
139
|
-
return (_a = this._entryMap.get(
|
146
|
+
return (_a = this._entryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
|
140
147
|
}
|
141
|
-
isMovedEntry(
|
142
|
-
return this._reverseEntryMap.has(
|
148
|
+
isMovedEntry(uri) {
|
149
|
+
return this._reverseEntryMap.has(uri.key);
|
143
150
|
}
|
144
151
|
clear() {
|
145
152
|
this._entryMap.clear();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,8DAAiE;AACjE,oDAAqF;
|
1
|
+
{"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
@@ -19,9 +19,10 @@ const core_1 = require("./common/core");
|
|
19
19
|
const envVarUtils_1 = require("./common/envVarUtils");
|
20
20
|
const fileBasedCancellationUtils_1 = require("./common/fileBasedCancellationUtils");
|
21
21
|
const fullAccessHost_1 = require("./common/fullAccessHost");
|
22
|
-
const pathUtils_1 = require("./common/pathUtils");
|
23
22
|
const realFileSystem_1 = require("./common/realFileSystem");
|
24
23
|
const serviceProviderExtensions_1 = require("./common/serviceProviderExtensions");
|
24
|
+
const uri_1 = require("./common/uri/uri");
|
25
|
+
const uriUtils_1 = require("./common/uri/uriUtils");
|
25
26
|
const languageServerBase_1 = require("./languageServerBase");
|
26
27
|
const codeActionProvider_1 = require("./languageService/codeActionProvider");
|
27
28
|
const pyrightFileSystem_1 = require("./pyrightFileSystem");
|
@@ -30,18 +31,18 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
30
31
|
constructor(connection) {
|
31
32
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
32
33
|
const version = require('../package.json').version || '';
|
33
|
-
// When executed from CLI command (pyright-langserver), __rootDirectory is
|
34
|
-
// already defined. When executed from VSCode extension, rootDirectory should
|
35
|
-
// be __dirname.
|
36
|
-
const rootDirectory = global.__rootDirectory || __dirname;
|
37
34
|
const console = new console_1.ConsoleWithLogLevel(connection.console);
|
38
35
|
const fileWatcherProvider = new realFileSystem_1.WorkspaceFileWatcherProvider();
|
39
36
|
const fileSystem = (0, realFileSystem_1.createFromRealFileSystem)(console, fileWatcherProvider);
|
40
37
|
const pyrightFs = new pyrightFileSystem_1.PyrightFileSystem(fileSystem);
|
41
|
-
const tempFile = new realFileSystem_1.RealTempFile();
|
38
|
+
const tempFile = new realFileSystem_1.RealTempFile(pyrightFs.isCaseSensitive);
|
42
39
|
const cacheManager = new cacheManager_1.CacheManager();
|
43
40
|
const serviceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(pyrightFs, tempFile, console, cacheManager);
|
44
|
-
|
41
|
+
// When executed from CLI command (pyright-langserver), __rootDirectory is
|
42
|
+
// already defined. When executed from VSCode extension, rootDirectory should
|
43
|
+
// be __dirname.
|
44
|
+
const rootDirectory = (0, uriUtils_1.getRootUri)(pyrightFs.isCaseSensitive) || uri_1.Uri.file(__dirname, pyrightFs.isCaseSensitive);
|
45
|
+
const realPathRoot = pyrightFs.realCasePath(rootDirectory);
|
45
46
|
super({
|
46
47
|
productName: 'Pyright',
|
47
48
|
rootDirectory: realPathRoot,
|
@@ -63,36 +64,36 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
63
64
|
useLibraryCodeForTypes: true,
|
64
65
|
disableLanguageServices: false,
|
65
66
|
disableOrganizeImports: false,
|
66
|
-
typeCheckingMode: '
|
67
|
+
typeCheckingMode: 'standard',
|
67
68
|
diagnosticSeverityOverrides: {},
|
68
69
|
logLevel: console_1.LogLevel.Info,
|
69
70
|
autoImportCompletions: true,
|
70
71
|
functionSignatureDisplay: configOptions_1.SignatureDisplayType.formatted,
|
71
72
|
};
|
72
73
|
try {
|
73
|
-
const pythonSection = await this.getConfiguration(workspace.
|
74
|
+
const pythonSection = await this.getConfiguration(workspace.rootUri, 'python');
|
74
75
|
if (pythonSection) {
|
75
76
|
const pythonPath = pythonSection.pythonPath;
|
76
77
|
if (pythonPath && (0, core_1.isString)(pythonPath) && !(0, pythonPathUtils_1.isPythonBinary)(pythonPath)) {
|
77
|
-
serverSettings.pythonPath =
|
78
|
+
serverSettings.pythonPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, pythonPath));
|
78
79
|
}
|
79
80
|
const venvPath = pythonSection.venvPath;
|
80
81
|
if (venvPath && (0, core_1.isString)(venvPath)) {
|
81
|
-
serverSettings.venvPath =
|
82
|
+
serverSettings.venvPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, venvPath));
|
82
83
|
}
|
83
84
|
}
|
84
|
-
const pythonAnalysisSection = await this.getConfiguration(workspace.
|
85
|
+
const pythonAnalysisSection = await this.getConfiguration(workspace.rootUri, 'python.analysis');
|
85
86
|
if (pythonAnalysisSection) {
|
86
87
|
const typeshedPaths = pythonAnalysisSection.typeshedPaths;
|
87
88
|
if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) {
|
88
89
|
const typeshedPath = typeshedPaths[0];
|
89
90
|
if (typeshedPath && (0, core_1.isString)(typeshedPath)) {
|
90
|
-
serverSettings.typeshedPath =
|
91
|
+
serverSettings.typeshedPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, typeshedPath));
|
91
92
|
}
|
92
93
|
}
|
93
94
|
const stubPath = pythonAnalysisSection.stubPath;
|
94
95
|
if (stubPath && (0, core_1.isString)(stubPath)) {
|
95
|
-
serverSettings.stubPath =
|
96
|
+
serverSettings.stubPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, stubPath));
|
96
97
|
}
|
97
98
|
const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides;
|
98
99
|
if (diagnosticSeverityOverrides) {
|
@@ -119,7 +120,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
119
120
|
if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) {
|
120
121
|
serverSettings.extraPaths = extraPaths
|
121
122
|
.filter((p) => p && (0, core_1.isString)(p))
|
122
|
-
.map((p) =>
|
123
|
+
.map((p) => workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, p)));
|
123
124
|
}
|
124
125
|
serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include);
|
125
126
|
serverSettings.excludeFileSpecs = this._getStringValues(pythonAnalysisSection.exclude);
|
@@ -141,7 +142,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
141
142
|
else {
|
142
143
|
serverSettings.autoSearchPaths = true;
|
143
144
|
}
|
144
|
-
const pyrightSection = await this.getConfiguration(workspace.
|
145
|
+
const pyrightSection = await this.getConfiguration(workspace.rootUri, 'pyright');
|
145
146
|
if (pyrightSection) {
|
146
147
|
if (pyrightSection.openFilesOnly !== undefined) {
|
147
148
|
serverSettings.openFilesOnly = !!pyrightSection.openFilesOnly;
|
@@ -168,10 +169,10 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
168
169
|
// is used where cancellation is not supported.
|
169
170
|
return undefined;
|
170
171
|
}
|
171
|
-
return new backgroundAnalysis_1.BackgroundAnalysis(this.
|
172
|
+
return new backgroundAnalysis_1.BackgroundAnalysis(this.serverOptions.serviceProvider);
|
172
173
|
}
|
173
174
|
createHost() {
|
174
|
-
return new fullAccessHost_1.FullAccessHost(this.
|
175
|
+
return new fullAccessHost_1.FullAccessHost(this.serverOptions.serviceProvider);
|
175
176
|
}
|
176
177
|
createImportResolver(serviceProvider, options, host) {
|
177
178
|
const importResolver = new importResolver_1.ImportResolver(serviceProvider, options, host);
|
@@ -188,9 +189,9 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
188
189
|
}
|
189
190
|
async executeCodeAction(params, token) {
|
190
191
|
this.recordUserInteractionTime();
|
191
|
-
const
|
192
|
-
const workspace = await this.getWorkspaceForFile(
|
193
|
-
return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace,
|
192
|
+
const uri = uri_1.Uri.parse(params.textDocument.uri, this.serverOptions.serviceProvider.fs().isCaseSensitive);
|
193
|
+
const workspace = await this.getWorkspaceForFile(uri);
|
194
|
+
return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace, uri, params.range, params.context.only, token);
|
194
195
|
}
|
195
196
|
createProgressReporter() {
|
196
197
|
// The old progress notifications are kept for backwards compatibility with
|