@zzzen/pyright-internal 1.2.0-dev.20260816 → 1.2.0-dev.20260830
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/analyzerNodeInfo.d.ts +123 -24
- package/dist/analyzer/analyzerNodeInfo.js +429 -89
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +2 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +4 -8
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.d.ts +6 -3
- package/dist/analyzer/binder.js +70 -69
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +4 -2
- package/dist/analyzer/checker.js +86 -59
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -1
- package/dist/analyzer/codeFlowEngine.js +12 -10
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowUtils.d.ts +2 -1
- package/dist/analyzer/codeFlowUtils.js +2 -3
- package/dist/analyzer/codeFlowUtils.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +8 -0
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +5 -4
- package/dist/analyzer/dataClasses.js +30 -59
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +2 -1
- package/dist/analyzer/declarationUtils.js +2 -2
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +5 -4
- package/dist/analyzer/decorators.js +20 -21
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.d.ts +5 -4
- package/dist/analyzer/enums.js +11 -10
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -1
- package/dist/analyzer/importResolver.js +5 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +3 -1
- package/dist/analyzer/importStatementUtils.js +14 -7
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +2 -1
- package/dist/analyzer/namedTuples.js +3 -4
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +3 -2
- package/dist/analyzer/operations.js +8 -8
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +2 -2
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +13 -11
- package/dist/analyzer/parseTreeUtils.js +62 -36
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.d.ts +7 -2
- package/dist/analyzer/parseTreeWalker.js +29 -175
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.d.ts +4 -3
- package/dist/analyzer/patternMatching.js +47 -43
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +12 -0
- package/dist/analyzer/program.js +238 -29
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.d.ts +4 -3
- package/dist/analyzer/properties.js +7 -8
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +14 -2
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/scopeUtils.d.ts +4 -3
- package/dist/analyzer/scopeUtils.js +8 -8
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/sentinel.d.ts +3 -2
- package/dist/analyzer/sentinel.js +4 -5
- package/dist/analyzer/sentinel.js.map +1 -1
- package/dist/analyzer/service.d.ts +5 -10
- package/dist/analyzer/service.js +36 -96
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceEnumerator.d.ts +5 -0
- package/dist/analyzer/sourceEnumerator.js +57 -3
- package/dist/analyzer/sourceEnumerator.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +12 -6
- package/dist/analyzer/sourceFile.js +74 -50
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
- package/dist/analyzer/sourceFileInfoUtils.js +8 -0
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +4 -1
- package/dist/analyzer/sourceMapper.js +14 -8
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/testWalker.js +2 -1
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +2 -1
- package/dist/analyzer/tracePrinter.js +2 -2
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +3 -2
- package/dist/analyzer/tuples.js +5 -5
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +5 -7
- package/dist/analyzer/typeDocStringUtils.js +229 -132
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +2 -0
- package/dist/analyzer/typeEvaluator.js +418 -229
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +3 -2
- package/dist/analyzer/typeGuards.js +159 -35
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubGeneration.d.ts +64 -0
- package/dist/analyzer/typeStubGeneration.js +226 -0
- package/dist/analyzer/typeStubGeneration.js.map +1 -0
- package/dist/analyzer/typeStubMessages.d.ts +4 -0
- package/dist/analyzer/typeStubMessages.js +25 -0
- package/dist/analyzer/typeStubMessages.js.map +1 -0
- package/dist/analyzer/typeStubOutput.d.ts +9 -0
- package/dist/analyzer/typeStubOutput.js +52 -0
- package/dist/analyzer/typeStubOutput.js.map +1 -0
- package/dist/analyzer/typeStubRenderer.d.ts +5 -0
- package/dist/analyzer/{typeStubWriter.js → typeStubRenderer.js} +20 -99
- package/dist/analyzer/typeStubRenderer.js.map +1 -0
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +115 -1
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +4 -3
- package/dist/analyzer/typedDicts.js +15 -14
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -0
- package/dist/analyzer/types.js +84 -58
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +5 -4
- package/dist/backgroundAnalysisBase.js +11 -19
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/createTypeStub.d.ts +2 -6
- package/dist/commands/createTypeStub.js +14 -27
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/collectionUtils.js +15 -6
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -1
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/configOptions.d.ts +4 -1
- package/dist/common/configOptions.js +68 -12
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +1 -0
- package/dist/common/envVarUtils.js +41 -10
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +3 -1
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/extraPathGlob.d.ts +12 -0
- package/dist/common/extraPathGlob.js +315 -0
- package/dist/common/extraPathGlob.js.map +1 -0
- package/dist/common/host.d.ts +2 -0
- package/dist/common/host.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +2 -1
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/pathConsts.d.ts +1 -0
- package/dist/common/pathConsts.js +11 -1
- package/dist/common/pathConsts.js.map +1 -1
- package/dist/common/processUtils.d.ts +4 -2
- package/dist/common/processUtils.js +3 -0
- package/dist/common/processUtils.js.map +1 -1
- package/dist/common/stringUtils.d.ts +6 -0
- package/dist/common/stringUtils.js +87 -5
- package/dist/common/stringUtils.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +3 -1
- package/dist/common/textEditTracker.js +8 -6
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRangeCollection.d.ts +1 -0
- package/dist/common/textRangeCollection.js +32 -1
- package/dist/common/textRangeCollection.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +3 -0
- package/dist/common/uri/uriUtils.js +65 -15
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/fileSystemMapping.d.ts +10 -0
- package/dist/fileSystemMapping.js +176 -0
- package/dist/fileSystemMapping.js.map +1 -0
- package/dist/languageServerBase.d.ts +1 -1
- package/dist/languageServerBase.js +2 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -3
- package/dist/languageService/analyzerServiceExecutor.js +10 -29
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +1 -0
- package/dist/languageService/autoImporter.js +32 -5
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +7 -0
- package/dist/languageService/callHierarchyProvider.js +97 -11
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +30 -8
- package/dist/languageService/completionProvider.js +298 -93
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +7 -6
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +2 -1
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +3 -1
- package/dist/languageService/documentSymbolCollector.js +78 -14
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +3 -2
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +28 -1
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +48 -16
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.d.ts +3 -1
- package/dist/languageService/importSorter.js +4 -2
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/importStatementCandidates.js +4 -2
- package/dist/languageService/importStatementCandidates.js.map +1 -1
- package/dist/languageService/quickActions.js +2 -1
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.js +12 -5
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -0
- package/dist/languageService/signatureHelpProvider.js +56 -18
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +7 -7
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.d.ts +1 -1
- package/dist/languageService/tooltipUtils.js +103 -35
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +3 -2
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +6 -0
- package/dist/localization/localize.js +10 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +15 -0
- package/dist/localization/package.nls.de.json +15 -0
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/localization/package.nls.es.json +15 -0
- package/dist/localization/package.nls.fr.json +15 -0
- package/dist/localization/package.nls.it.json +15 -0
- package/dist/localization/package.nls.ja.json +15 -0
- package/dist/localization/package.nls.ko.json +15 -0
- package/dist/localization/package.nls.pl.json +15 -0
- package/dist/localization/package.nls.pt-br.json +15 -0
- package/dist/localization/package.nls.qps-ploc.json +15 -0
- package/dist/localization/package.nls.ru.json +15 -0
- package/dist/localization/package.nls.tr.json +15 -0
- package/dist/localization/package.nls.zh-cn.json +16 -1
- package/dist/localization/package.nls.zh-tw.json +17 -2
- package/dist/parser/parseNodes.d.ts +85 -80
- package/dist/parser/parseNodes.js +182 -159
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parseTreeUtils.d.ts +3 -0
- package/dist/parser/parseTreeUtils.js +209 -0
- package/dist/parser/parseTreeUtils.js.map +1 -0
- package/dist/parser/parser.d.ts +16 -6
- package/dist/parser/parser.js +210 -144
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringAnnotationInfo.d.ts +16 -0
- package/dist/parser/stringAnnotationInfo.js +26 -0
- package/dist/parser/stringAnnotationInfo.js.map +1 -0
- package/dist/pyright.js +30 -17
- package/dist/pyright.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +2 -9
- package/dist/readonlyAugmentedFileSystem.js +17 -144
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/tests/analyzerNodeInfo.test.d.ts +1 -0
- package/dist/tests/analyzerNodeInfo.test.js +145 -0
- package/dist/tests/analyzerNodeInfo.test.js.map +1 -0
- package/dist/tests/collectionUtils.test.js +46 -0
- package/dist/tests/collectionUtils.test.js.map +1 -1
- package/dist/tests/completions.test.js +34 -0
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +131 -7
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/extraPathGlob.test.d.ts +1 -0
- package/dist/tests/extraPathGlob.test.js +434 -0
- package/dist/tests/extraPathGlob.test.js.map +1 -0
- package/dist/tests/fileSystemMapping.test.d.ts +1 -0
- package/dist/tests/fileSystemMapping.test.js +458 -0
- package/dist/tests/fileSystemMapping.test.js.map +1 -0
- package/dist/tests/fourslash/completions.call.typedDict.fourslash.js +23 -0
- package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js +14 -0
- package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js +7 -0
- package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js +41 -0
- package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js +2 -0
- package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js +5 -0
- package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.stringLiteral.fourslash.js +4 -0
- package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js +48 -0
- package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +0 -1
- package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +8 -2
- package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +5 -2
- package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js +2 -2
- package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +1 -1
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/hoverProvider.test.js +38 -0
- package/dist/tests/hoverProvider.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +6 -3
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +38 -0
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +88 -0
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +60 -3
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/positionUtils.test.js +23 -0
- package/dist/tests/positionUtils.test.js.map +1 -1
- package/dist/tests/pyrightCli.test.d.ts +1 -0
- package/dist/tests/pyrightCli.test.js +205 -0
- package/dist/tests/pyrightCli.test.js.map +1 -0
- package/dist/tests/pyrightFileSystem.test.js +41 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +183 -0
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/sourceEnumeratorSymlink.test.d.ts +1 -0
- package/dist/tests/sourceEnumeratorSymlink.test.js +203 -0
- package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -0
- package/dist/tests/stringUtils.test.js +84 -0
- package/dist/tests/stringUtils.test.js.map +1 -1
- package/dist/tests/symlinkAliasInvalidation.test.d.ts +1 -0
- package/dist/tests/symlinkAliasInvalidation.test.js +471 -0
- package/dist/tests/symlinkAliasInvalidation.test.js.map +1 -0
- package/dist/tests/testUtils.d.ts +2 -0
- package/dist/tests/testUtils.js +7 -1
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +2 -2
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/textRangeCollection.test.d.ts +1 -0
- package/dist/tests/textRangeCollection.test.js +137 -0
- package/dist/tests/textRangeCollection.test.js.map +1 -0
- package/dist/tests/typeEquality.test.d.ts +1 -0
- package/dist/tests/typeEquality.test.js +95 -0
- package/dist/tests/typeEquality.test.js.map +1 -0
- package/dist/tests/typeEvaluator1.test.js +24 -3
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +8 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/dist/tests/typeEvaluator6.test.js +5 -1
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +4 -0
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +4 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/typeServer/typeCache.test.d.ts +1 -0
- package/dist/tests/typeServer/typeCache.test.js +69 -0
- package/dist/tests/typeServer/typeCache.test.js.map +1 -0
- package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +18 -0
- package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
- package/dist/tests/typeStubGeneration.test.d.ts +1 -0
- package/dist/tests/typeStubGeneration.test.js +397 -0
- package/dist/tests/typeStubGeneration.test.js.map +1 -0
- package/dist/tests/typeStubOutput.test.d.ts +1 -0
- package/dist/tests/typeStubOutput.test.js +136 -0
- package/dist/tests/typeStubOutput.test.js.map +1 -0
- package/dist/tests/typeUtils.test.d.ts +1 -0
- package/dist/tests/typeUtils.test.js +133 -0
- package/dist/tests/typeUtils.test.js.map +1 -0
- package/dist/tests/uri.test.js +51 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/typeServer/notebookDocumentHandler.d.ts +9 -2
- package/dist/typeServer/notebookDocumentHandler.js +16 -6
- package/dist/typeServer/notebookDocumentHandler.js.map +1 -1
- package/dist/typeServer/programWrapper.d.ts +1 -0
- package/dist/typeServer/programWrapper.js +28 -15
- package/dist/typeServer/programWrapper.js.map +1 -1
- package/dist/typeServer/protocol/tspSupplemental.d.ts +1 -1
- package/dist/typeServer/protocol/tspSupplemental.js +2 -2
- package/dist/typeServer/server.d.ts +13 -2
- package/dist/typeServer/server.js +36 -23
- package/dist/typeServer/server.js.map +1 -1
- package/dist/typeServer/typeCache.d.ts +8 -4
- package/dist/typeServer/typeCache.js +33 -5
- package/dist/typeServer/typeCache.js.map +1 -1
- package/dist/typeServer/typeEvalUtils.d.ts +2 -1
- package/dist/typeServer/typeEvalUtils.js +7 -3
- package/dist/typeServer/typeEvalUtils.js.map +1 -1
- package/dist/typeServer/typeGuards.js +3 -4
- package/dist/typeServer/typeGuards.js.map +1 -1
- package/dist/typeServer/typeServerFileSystem.d.ts +10 -9
- package/dist/typeServer/typeServerFileSystem.js +16 -12
- package/dist/typeServer/typeServerFileSystem.js.map +1 -1
- package/package.json +7 -5
- package/dist/analyzer/parseTreeCleaner.d.ts +0 -8
- package/dist/analyzer/parseTreeCleaner.js +0 -65
- package/dist/analyzer/parseTreeCleaner.js.map +0 -1
- package/dist/analyzer/typeStubWriter.d.ts +0 -17
- package/dist/analyzer/typeStubWriter.js.map +0 -1
|
@@ -9,15 +9,22 @@ export declare class NotebookDocumentHandler {
|
|
|
9
9
|
private readonly _uriMapper;
|
|
10
10
|
private readonly _caseDetector;
|
|
11
11
|
private readonly _console;
|
|
12
|
-
|
|
12
|
+
protected readonly getWorkspace: (fileUri: Uri) => Promise<Workspace>;
|
|
13
13
|
private readonly _eventQueue;
|
|
14
14
|
private readonly _notebookMap;
|
|
15
|
-
constructor(_uriMapper: NotebookUriMapper, _caseDetector: CaseSensitivityDetector, _console: ConsoleInterface,
|
|
15
|
+
constructor(_uriMapper: NotebookUriMapper, _caseDetector: CaseSensitivityDetector, _console: ConsoleInterface, getWorkspace: (fileUri: Uri) => Promise<Workspace>);
|
|
16
16
|
test_whenIdle(): Promise<void>;
|
|
17
17
|
getNotebookDataForCell(cellUri: Uri): Promise<NotebookData | undefined>;
|
|
18
18
|
onDidOpenNotebookDocument(params: DidOpenNotebookDocumentParams): void;
|
|
19
19
|
onDidChangeNotebookDocument(params: DidChangeNotebookDocumentParams): void;
|
|
20
20
|
onDidCloseNotebookDocument(params: DidCloseNotebookDocumentParams): void;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the synthetic prefix-cell contents for a notebook. The base implementation returns
|
|
23
|
+
* Jupyter's implicit `from IPython.display import *`. Subclasses (e.g. Pylance) can override this
|
|
24
|
+
* to layer in product-specific startup commands. `notebookUri` identifies the notebook whose
|
|
25
|
+
* prefix cell is being (re)built so overrides can resolve per-notebook configuration.
|
|
26
|
+
*/
|
|
27
|
+
protected getPrefixCellContents(notebookUri: Uri): Promise<string>;
|
|
21
28
|
private _getNotebookData;
|
|
22
29
|
private _chainNotebookData;
|
|
23
30
|
}
|
|
@@ -39,11 +39,11 @@ class Sequencer {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
class NotebookDocumentHandler {
|
|
42
|
-
constructor(_uriMapper, _caseDetector, _console,
|
|
42
|
+
constructor(_uriMapper, _caseDetector, _console, getWorkspace) {
|
|
43
43
|
this._uriMapper = _uriMapper;
|
|
44
44
|
this._caseDetector = _caseDetector;
|
|
45
45
|
this._console = _console;
|
|
46
|
-
this.
|
|
46
|
+
this.getWorkspace = getWorkspace;
|
|
47
47
|
this._eventQueue = new Sequencer();
|
|
48
48
|
this._notebookMap = new Map();
|
|
49
49
|
}
|
|
@@ -64,8 +64,9 @@ class NotebookDocumentHandler {
|
|
|
64
64
|
.queue(async () => {
|
|
65
65
|
let notebookData = await chain.old;
|
|
66
66
|
try {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
const prefixCellContents = await this.getPrefixCellContents(notebookUri);
|
|
68
|
+
notebookData = (0, notebookCellChain_1.createNotebookData)(notebookUri, params.cellTextDocuments, this._uriMapper, this._caseDetector, prefixCellContents);
|
|
69
|
+
const workspace = await this.getWorkspace(notebookData.prefixCellUri);
|
|
69
70
|
(0, notebookCellChain_1.openNotebookCellChain)(params.cellTextDocuments, notebookData, this._uriMapper, workspace);
|
|
70
71
|
(0, notebookCellChain_1.verifyCellChainIsLinear)(notebookData, workspace, this._console);
|
|
71
72
|
}
|
|
@@ -88,7 +89,7 @@ class NotebookDocumentHandler {
|
|
|
88
89
|
.queue(async () => {
|
|
89
90
|
const notebookData = await chain.old;
|
|
90
91
|
try {
|
|
91
|
-
const workspace = await this.
|
|
92
|
+
const workspace = await this.getWorkspace(notebookData.prefixCellUri);
|
|
92
93
|
if (params.change.cells?.structure) {
|
|
93
94
|
(0, notebookCellChain_1.updateNotebookStructure)(params.change.cells.structure, notebookData, this._uriMapper, workspace, this._console);
|
|
94
95
|
}
|
|
@@ -115,7 +116,7 @@ class NotebookDocumentHandler {
|
|
|
115
116
|
.queue(async () => {
|
|
116
117
|
const notebookData = await chain.old;
|
|
117
118
|
try {
|
|
118
|
-
const workspace = await this.
|
|
119
|
+
const workspace = await this.getWorkspace(notebookData.prefixCellUri);
|
|
119
120
|
const cellPaths = [notebookData.prefixCellUri, ...notebookData.mappedCellUris];
|
|
120
121
|
cellPaths.forEach((cellPath) => {
|
|
121
122
|
workspace.service.setFileClosed(cellPath);
|
|
@@ -133,6 +134,15 @@ class NotebookDocumentHandler {
|
|
|
133
134
|
this._console.error(`Error handling notebook close for (${params.notebookDocument.uri}): ${error instanceof Error ? error.message : String(error)}`);
|
|
134
135
|
});
|
|
135
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Returns the synthetic prefix-cell contents for a notebook. The base implementation returns
|
|
139
|
+
* Jupyter's implicit `from IPython.display import *`. Subclasses (e.g. Pylance) can override this
|
|
140
|
+
* to layer in product-specific startup commands. `notebookUri` identifies the notebook whose
|
|
141
|
+
* prefix cell is being (re)built so overrides can resolve per-notebook configuration.
|
|
142
|
+
*/
|
|
143
|
+
getPrefixCellContents(notebookUri) {
|
|
144
|
+
return Promise.resolve((0, notebookCellChain_1.getDefaultPrefixCellContents)());
|
|
145
|
+
}
|
|
136
146
|
_getNotebookData(notebookUri) {
|
|
137
147
|
const notebookData = this._notebookMap.get(notebookUri.key);
|
|
138
148
|
return notebookData ?? Promise.resolve(undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebookDocumentHandler.js","sourceRoot":"","sources":["../../../../../src/typeServer/notebookDocumentHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAOH,2FAAkE;AAElE,uDAAqD;AAGrD,iDAA8D;AAC9D,2CAAwC;AAGxC,2DAO6B;AAC7B,2DAAwD;AAQxD;;;GAGG;AACH,MAAM,SAAS;IAAf;QACY,aAAQ,GAAqB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAe/D,CAAC;IAbG,KAAK,CAAI,IAAsB;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtC,GAAG,EAAE,CAAC,IAAI,EAAE,EACZ,GAAG,EAAE,CAAC,IAAI,EAAE,CACf,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrB,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACX,CAAC;IACN,CAAC;CACJ;AAED,MAAa,uBAAuB;IAIhC,YACqB,UAA6B,EAC7B,aAAsC,EACtC,QAA0B,
|
|
1
|
+
{"version":3,"file":"notebookDocumentHandler.js","sourceRoot":"","sources":["../../../../../src/typeServer/notebookDocumentHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,5 +130,6 @@ export declare class ProgramWrapper implements IProgram {
|
|
|
130
130
|
private _makeSourceFileInfo;
|
|
131
131
|
private _incrementSnapshot;
|
|
132
132
|
private _getExecEnv;
|
|
133
|
+
private _getUri;
|
|
133
134
|
}
|
|
134
135
|
export declare function makeProgram(program: ProgramView, cache?: ITypeCache): IProgram;
|
|
@@ -126,33 +126,34 @@ class ProgramWrapper {
|
|
|
126
126
|
return true;
|
|
127
127
|
}
|
|
128
128
|
get symbolLookup() {
|
|
129
|
+
const nodeInfo = (0, analyzerNodeInfo_1.getInfoReader)(this._program);
|
|
129
130
|
const symbolLookup = {
|
|
130
131
|
getFileInfo: (node) => {
|
|
131
132
|
// Ensure the file is bound before reading AnalyzerInfo off the node.
|
|
132
133
|
// Without this, nodes from files that haven't been bound yet (e.g.
|
|
133
134
|
// freshly-discovered modules during a code-action request) return
|
|
134
135
|
// undefined fileInfo and crash downstream readers.
|
|
135
|
-
const fileUri = this.
|
|
136
|
+
const fileUri = this._getUri(node, nodeInfo);
|
|
136
137
|
this._program.getBoundSourceFileInfo(fileUri);
|
|
137
|
-
return (0, analyzerNodeInfo_1.getFileInfo)(node);
|
|
138
|
+
return (0, analyzerNodeInfo_1.getFileInfo)(node, nodeInfo);
|
|
138
139
|
},
|
|
139
140
|
getImportInfo: (node) => {
|
|
140
|
-
return (0, analyzerNodeInfo_1.getImportInfo)(node);
|
|
141
|
+
return (0, analyzerNodeInfo_1.getImportInfo)(node, nodeInfo);
|
|
141
142
|
},
|
|
142
143
|
getDeclaration: (node) => {
|
|
143
|
-
return (0, analyzerNodeInfo_1.getDeclaration)(node);
|
|
144
|
+
return (0, analyzerNodeInfo_1.getDeclaration)(node, nodeInfo);
|
|
144
145
|
},
|
|
145
146
|
getFlowNode: (node) => {
|
|
146
|
-
return (0, analyzerNodeInfo_1.getFlowNode)(node);
|
|
147
|
+
return (0, analyzerNodeInfo_1.getFlowNode)(node, nodeInfo);
|
|
147
148
|
},
|
|
148
149
|
getScope(node) {
|
|
149
|
-
return (0, analyzerNodeInfo_1.getScope)(node);
|
|
150
|
+
return (0, analyzerNodeInfo_1.getScope)(node, nodeInfo);
|
|
150
151
|
},
|
|
151
152
|
getScopeIdForNode(node) {
|
|
152
|
-
return (0, parseTreeUtils_1.getScopeIdForNode)(node);
|
|
153
|
+
return (0, parseTreeUtils_1.getScopeIdForNode)(node, nodeInfo);
|
|
153
154
|
},
|
|
154
155
|
getDunderAllInfo(node) {
|
|
155
|
-
return (0, analyzerNodeInfo_1.getDunderAllInfo)(node);
|
|
156
|
+
return (0, analyzerNodeInfo_1.getDunderAllInfo)(node, nodeInfo);
|
|
156
157
|
},
|
|
157
158
|
getSymbolsForFile: (fileUri, skipFileNeededCheck = false) => {
|
|
158
159
|
// The underlying sync `Program` has only one version of any file, and there is
|
|
@@ -163,18 +164,18 @@ class ProgramWrapper {
|
|
|
163
164
|
return this._program.getModuleSymbolTable(fileUri);
|
|
164
165
|
},
|
|
165
166
|
getSymbolsForNode: (node) => {
|
|
166
|
-
const scope = (0, scopeUtils_1.getScopeForNode)(node);
|
|
167
|
+
const scope = (0, scopeUtils_1.getScopeForNode)(node, nodeInfo);
|
|
167
168
|
return scope?.symbolTable;
|
|
168
169
|
},
|
|
169
170
|
lookupSymbol: (scopingNode, name, _skipFileNeededCheck) => {
|
|
170
|
-
return (0, typeEvalUtils_1.getSymbolFromScope)(scopingNode, name);
|
|
171
|
+
return (0, typeEvalUtils_1.getSymbolFromScope)(scopingNode, name, nodeInfo);
|
|
171
172
|
},
|
|
172
173
|
getMatchingFileInfos: (fileId) => {
|
|
173
174
|
const parseTrees = this._program
|
|
174
175
|
.getSourceFileInfoList()
|
|
175
176
|
.map((f) => f.sourceFile.getParseResults()?.parserOutput.parseTree)
|
|
176
177
|
.filter((t) => !!t);
|
|
177
|
-
const fileInfos = parseTrees.map((p) => (0, analyzerNodeInfo_1.getFileInfo)(p)).filter((f) => f.fileId === fileId);
|
|
178
|
+
const fileInfos = parseTrees.map((p) => (0, analyzerNodeInfo_1.getFileInfo)(p, nodeInfo)).filter((f) => f.fileId === fileId);
|
|
178
179
|
return fileInfos;
|
|
179
180
|
},
|
|
180
181
|
};
|
|
@@ -222,6 +223,7 @@ class ProgramWrapper {
|
|
|
222
223
|
}
|
|
223
224
|
getSourceMapper(fileUri, mapCompiled, preferStubs, token) {
|
|
224
225
|
const sourceMapper = this._program.getSourceMapper(fileUri, token, mapCompiled, preferStubs);
|
|
226
|
+
const nodeInfo = (0, analyzerNodeInfo_1.getInfoReader)(this._program);
|
|
225
227
|
const wrapper = {
|
|
226
228
|
findDeclarations: (decl) => {
|
|
227
229
|
return sourceMapper ? sourceMapper.findDeclarations(decl) : [];
|
|
@@ -246,15 +248,15 @@ class ProgramWrapper {
|
|
|
246
248
|
},
|
|
247
249
|
getFileInfo: (node) => {
|
|
248
250
|
// Ensure the file is bound before reading AnalyzerInfo off the node.
|
|
249
|
-
const fileUri = this.
|
|
251
|
+
const fileUri = this._getUri(node, nodeInfo);
|
|
250
252
|
this._program.getBoundSourceFileInfo(fileUri);
|
|
251
|
-
return (0, analyzerNodeInfo_1.getFileInfo)(node);
|
|
253
|
+
return (0, analyzerNodeInfo_1.getFileInfo)(node, nodeInfo);
|
|
252
254
|
},
|
|
253
255
|
};
|
|
254
256
|
return wrapper;
|
|
255
257
|
}
|
|
256
258
|
getUri(node) {
|
|
257
|
-
return this.
|
|
259
|
+
return this._getUri(node, (0, analyzerNodeInfo_1.getInfoReader)(this._program));
|
|
258
260
|
}
|
|
259
261
|
isCaseSensitive(uri) {
|
|
260
262
|
return this._cache.isCaseSensitive(uri);
|
|
@@ -708,6 +710,16 @@ class ProgramWrapper {
|
|
|
708
710
|
.find((env) => env.root && (env.root.equals(uri) || uri.isChild(env.root)));
|
|
709
711
|
return env ?? this._program.configOptions.getDefaultExecEnvironment();
|
|
710
712
|
}
|
|
713
|
+
_getUri(node, nodeInfo) {
|
|
714
|
+
return this._cache.getUri(node, nodeInfo, (key) => {
|
|
715
|
+
for (const sourceFileInfo of this._program.getSourceFileInfoList()) {
|
|
716
|
+
if (this._program.getParserOutput(sourceFileInfo.uri)?.parseTree.a === key) {
|
|
717
|
+
return sourceFileInfo.uri;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
return undefined;
|
|
721
|
+
});
|
|
722
|
+
}
|
|
711
723
|
}
|
|
712
724
|
exports.ProgramWrapper = ProgramWrapper;
|
|
713
725
|
const programWrappers = new WeakMap();
|
|
@@ -716,7 +728,8 @@ function makeProgram(program, cache) {
|
|
|
716
728
|
// same program and use the same wrapper as the key into other maps.
|
|
717
729
|
let wrapper = programWrappers.get(program);
|
|
718
730
|
if (!wrapper) {
|
|
719
|
-
wrapper = new ProgramWrapper(program, cache ??
|
|
731
|
+
wrapper = new ProgramWrapper(program, cache ??
|
|
732
|
+
new typeCache_1.TypeCache(program.serviceProvider, (uri) => program.getParserOutput(uri), () => program.getSourceFileInfoList().map((s) => s.uri)));
|
|
720
733
|
programWrappers.set(program, wrapper);
|
|
721
734
|
}
|
|
722
735
|
else if (cache && wrapper instanceof ProgramWrapper && wrapper.typeCache !== cache) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"programWrapper.js","sourceRoot":"","sources":["../../../../../src/typeServer/programWrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"programWrapper.js","sourceRoot":"","sources":["../../../../../src/typeServer/programWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare namespace TspSupplemental {
|
|
|
23
23
|
*
|
|
24
24
|
* This is used by the Django stub generation feature: Pylance's Rust sidecar writes
|
|
25
25
|
* merged virtual `.py` files to disk, and this notification tells the type server's
|
|
26
|
-
*
|
|
26
|
+
* virtual-file overlay to redirect reads so Pyright analyzes the virtual content.
|
|
27
27
|
*/
|
|
28
28
|
namespace SetVirtualFileRedirectNotification {
|
|
29
29
|
const method: "pyright/setVirtualFileRedirect";
|
|
@@ -11,7 +11,7 @@ exports.TspSupplemental = void 0;
|
|
|
11
11
|
* These notifications are NOT part of the base TSP (defined in typeServerProtocol.ts),
|
|
12
12
|
* which is shared by all TSP implementers (e.g., ty-tsp). This file defines
|
|
13
13
|
* Pyright-only extensions that require Pyright-specific knowledge (e.g., the
|
|
14
|
-
*
|
|
14
|
+
* virtual-file overlay in PylanceFileSystem).
|
|
15
15
|
*
|
|
16
16
|
* All the types in this file should be JSON serializable, as they are sent over the wire.
|
|
17
17
|
*/
|
|
@@ -25,7 +25,7 @@ var TspSupplemental;
|
|
|
25
25
|
*
|
|
26
26
|
* This is used by the Django stub generation feature: Pylance's Rust sidecar writes
|
|
27
27
|
* merged virtual `.py` files to disk, and this notification tells the type server's
|
|
28
|
-
*
|
|
28
|
+
* virtual-file overlay to redirect reads so Pyright analyzes the virtual content.
|
|
29
29
|
*/
|
|
30
30
|
let SetVirtualFileRedirectNotification;
|
|
31
31
|
(function (SetVirtualFileRedirectNotification) {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { CancellationToken, Connection } from 'vscode-languageserver';
|
|
1
|
+
import { CancellationToken, Connection, Diagnostic } from 'vscode-languageserver';
|
|
2
2
|
import { CodeActionParams, DidOpenTextDocumentParams, DocumentDiagnosticParams, ExecuteCommandParams, InitializeParams, InitializeResult } from 'vscode-languageserver-protocol';
|
|
3
3
|
import { CodeAction, Command } from 'vscode-languageserver-types';
|
|
4
4
|
import { ImportResolver } from '../analyzer/importResolver';
|
|
5
5
|
import { IPythonMode } from '../analyzer/sourceFile';
|
|
6
6
|
import { IBackgroundAnalysis } from '../backgroundAnalysisBase';
|
|
7
7
|
import { ConfigOptions } from '../common/configOptions';
|
|
8
|
+
import { Diagnostic as AnalyzerDiagnostic } from '../common/diagnostic';
|
|
9
|
+
import { ReadOnlyFileSystem } from '../common/fileSystem';
|
|
8
10
|
import { Host } from '../common/host';
|
|
9
11
|
import { ServerOptions, ServerSettings } from '../common/languageServerInterface';
|
|
10
12
|
import { ProgressReporter } from '../common/progressReporter';
|
|
@@ -12,11 +14,13 @@ import { ServiceProvider } from '../common/serviceProvider';
|
|
|
12
14
|
import { Uri } from '../common/uri/uri';
|
|
13
15
|
import { LanguageServerBase } from '../languageServerBase';
|
|
14
16
|
import { Workspace } from '../workspaceFactory';
|
|
17
|
+
import { NotebookDocumentHandler } from './notebookDocumentHandler';
|
|
18
|
+
import { NotebookUriMapper } from './notebookUriMapper';
|
|
15
19
|
export declare class TypeServer extends LanguageServerBase {
|
|
16
20
|
private readonly _handleToUriMap;
|
|
17
21
|
private _initializedComplete;
|
|
18
22
|
private _globalTypeCache;
|
|
19
|
-
|
|
23
|
+
protected notebookManager: NotebookDocumentHandler | undefined;
|
|
20
24
|
private readonly _uriMapper;
|
|
21
25
|
constructor(serverOptions: ServerOptions, connection: Connection);
|
|
22
26
|
dispose(): void;
|
|
@@ -33,11 +37,18 @@ export declare class TypeServer extends LanguageServerBase {
|
|
|
33
37
|
protected executeCommand(params: ExecuteCommandParams, token: CancellationToken): Promise<any>;
|
|
34
38
|
protected setupConnection(supportedCommands: string[], supportedCodeActions: string[]): void;
|
|
35
39
|
protected initialize(params: InitializeParams, supportedCommands: string[], supportedCodeActions: string[]): Promise<InitializeResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Factory for the notebook document handler. Split out so subclasses (e.g. Pylance) can
|
|
42
|
+
* substitute a handler that layers in product-specific behavior (such as startup commands)
|
|
43
|
+
* without duplicating the initialize()/notebook-capability wiring.
|
|
44
|
+
*/
|
|
45
|
+
protected createNotebookManager(uriMapper: NotebookUriMapper): NotebookDocumentHandler;
|
|
36
46
|
protected convertLspUriStringToUri(lspUri: string): Uri;
|
|
37
47
|
protected onInitialized(): void;
|
|
38
48
|
protected onWorkspaceCreated(workspace: Workspace): void;
|
|
39
49
|
protected onDidOpenTextDocument(params: DidOpenTextDocumentParams, ipythonMode?: IPythonMode): Promise<void>;
|
|
40
50
|
protected onDiagnostics(params: DocumentDiagnosticParams, token: CancellationToken): Promise<import("vscode-languageserver").RelatedFullDocumentDiagnosticReport>;
|
|
51
|
+
protected convertDiagnostic(diag: AnalyzerDiagnostic, fs: ReadOnlyFileSystem, supportsUnnecessaryDiagnosticTag: boolean, supportsTaskItemDiagnosticTag: boolean): Diagnostic | undefined;
|
|
41
52
|
private _getStringValues;
|
|
42
53
|
private _getParserOutput;
|
|
43
54
|
private _getWorkspaceForUri;
|
|
@@ -18,12 +18,11 @@
|
|
|
18
18
|
* Feature notes:
|
|
19
19
|
* - Telemetry and profiling are intentionally omitted (Pyright has no telemetry).
|
|
20
20
|
* - Notebook support and the virtual-file-redirect supplemental are layered in by later
|
|
21
|
-
* phases; the seams (`
|
|
21
|
+
* phases; the seams (`notebookManager`, overlay file system) are left in place.
|
|
22
22
|
*/
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.TypeServer = void 0;
|
|
25
25
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
26
|
-
const analyzerNodeInfo_1 = require("../analyzer/analyzerNodeInfo");
|
|
27
26
|
const backgroundAnalysisProgram_1 = require("../analyzer/backgroundAnalysisProgram");
|
|
28
27
|
const importResolver_1 = require("../analyzer/importResolver");
|
|
29
28
|
const pythonPathUtils_1 = require("../analyzer/pythonPathUtils");
|
|
@@ -66,8 +65,8 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
66
65
|
// If this is a notebook cell and no python path was passed in, use the last known
|
|
67
66
|
// python path for the containing notebook so cells resolve to the workspace with the
|
|
68
67
|
// matching pythonPath.
|
|
69
|
-
if (notebookUriMapper_1.NotebookUriMapper.isNotebookCell(fileUri) && this.
|
|
70
|
-
const notebookData = await this.
|
|
68
|
+
if (notebookUriMapper_1.NotebookUriMapper.isNotebookCell(fileUri) && this.notebookManager) {
|
|
69
|
+
const notebookData = await this.notebookManager.getNotebookDataForCell(fileUri);
|
|
71
70
|
if (pythonPath === undefined) {
|
|
72
71
|
pythonPath = notebookData?.pythonPath;
|
|
73
72
|
}
|
|
@@ -79,8 +78,8 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
79
78
|
}
|
|
80
79
|
async getContainingWorkspacesForFile(fileUri) {
|
|
81
80
|
// If this is a notebook cell we should wait for the notebook to open first.
|
|
82
|
-
if (notebookUriMapper_1.NotebookUriMapper.isNotebookCell(fileUri) && this.
|
|
83
|
-
await this.
|
|
81
|
+
if (notebookUriMapper_1.NotebookUriMapper.isNotebookCell(fileUri) && this.notebookManager) {
|
|
82
|
+
await this.notebookManager.getNotebookDataForCell(fileUri);
|
|
84
83
|
// Map the vscode-notebook-cell: URI to its file-scheme equivalent so the workspace
|
|
85
84
|
// factory can match it against workspace root URIs.
|
|
86
85
|
fileUri = this._uriMapper.getMappedCellUri(fileUri);
|
|
@@ -156,9 +155,9 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
156
155
|
serverSettings.autoSearchPaths = !!pythonAnalysisSection.autoSearchPaths;
|
|
157
156
|
const extraPaths = pythonAnalysisSection.extraPaths;
|
|
158
157
|
if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) {
|
|
159
|
-
serverSettings.
|
|
158
|
+
serverSettings.extraPathFileSpecs = extraPaths
|
|
160
159
|
.filter((p) => p && (0, core_1.isString)(p))
|
|
161
|
-
.map((p) => (0, envVarUtils_1.
|
|
160
|
+
.map((p) => (0, envVarUtils_1.resolvePathStringWithEnvVariables)(workspace, p, workspaces))
|
|
162
161
|
.filter(core_1.isDefined);
|
|
163
162
|
}
|
|
164
163
|
serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include);
|
|
@@ -291,36 +290,43 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
291
290
|
this.connection.onNotification(tspSupplemental_1.TspSupplemental.RemoveVirtualFileRedirectNotification.type, (params) => this._onRemoveVirtualFileRedirect(params));
|
|
292
291
|
// Register raw notification handlers for notebook documents. These are registered here
|
|
293
292
|
// (before connection.listen()) so they're ready when the connection starts processing
|
|
294
|
-
// messages. `
|
|
293
|
+
// messages. `notebookManager` is created in `initialize()` (not here) because SWC's
|
|
295
294
|
// TC39 class-field semantics would reinitialize it to undefined after the base class
|
|
296
295
|
// constructor returns; `initialize()` runs before any notifications arrive.
|
|
297
296
|
this.connection.onNotification('notebookDocument/didOpen', (params) => {
|
|
298
|
-
this.
|
|
297
|
+
this.notebookManager?.onDidOpenNotebookDocument(params);
|
|
299
298
|
});
|
|
300
299
|
this.connection.onNotification('notebookDocument/didChange', (params) => {
|
|
301
|
-
this.
|
|
300
|
+
this.notebookManager?.onDidChangeNotebookDocument(params);
|
|
302
301
|
});
|
|
303
302
|
this.connection.onNotification('notebookDocument/didClose', (params) => {
|
|
304
|
-
this.
|
|
303
|
+
this.notebookManager?.onDidCloseNotebookDocument(params);
|
|
305
304
|
});
|
|
306
305
|
}
|
|
307
306
|
async initialize(params, supportedCommands, supportedCodeActions) {
|
|
308
307
|
// Create the notebook manager here (not in setupConnection) because SWC's TC39
|
|
309
|
-
// class-field semantics reinitialize `
|
|
308
|
+
// class-field semantics reinitialize `notebookManager` to undefined after the base
|
|
310
309
|
// class constructor returns. This method runs when the Initialize request is processed,
|
|
311
310
|
// which is before any notifications arrive. The manager is only created when a notebook
|
|
312
311
|
// URI mapper is registered in the service provider (notebook support is otherwise off).
|
|
313
312
|
if (this._uriMapper && this._uriMapper instanceof notebookUriMapper_1.NotebookUriMapper) {
|
|
314
|
-
|
|
315
|
-
this._notebookManager = new notebookDocumentHandler_1.NotebookDocumentHandler(uriMapper, this.caseSensitiveDetector, this.console, (fileUri) => this.workspaceFactory.getWorkspaceForFile(fileUri, undefined));
|
|
313
|
+
this.notebookManager = this.createNotebookManager(this._uriMapper);
|
|
316
314
|
}
|
|
317
315
|
const result = await super.initialize(params, supportedCommands, supportedCodeActions);
|
|
318
316
|
// Advertise notebook support so the client sends notebookDocument/* notifications.
|
|
319
|
-
if (this.
|
|
317
|
+
if (this.notebookManager) {
|
|
320
318
|
result.capabilities.notebookDocumentSync = notebookCellChain_1.AnyNotebookDocumentSelector;
|
|
321
319
|
}
|
|
322
320
|
return result;
|
|
323
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* Factory for the notebook document handler. Split out so subclasses (e.g. Pylance) can
|
|
324
|
+
* substitute a handler that layers in product-specific behavior (such as startup commands)
|
|
325
|
+
* without duplicating the initialize()/notebook-capability wiring.
|
|
326
|
+
*/
|
|
327
|
+
createNotebookManager(uriMapper) {
|
|
328
|
+
return new notebookDocumentHandler_1.NotebookDocumentHandler(uriMapper, this.caseSensitiveDetector, this.console, (fileUri) => this.workspaceFactory.getWorkspaceForFile(fileUri, undefined));
|
|
329
|
+
}
|
|
324
330
|
convertLspUriStringToUri(lspUri) {
|
|
325
331
|
// Do our own conversion of the LSP URI string to a Uri so notebook cells map to their
|
|
326
332
|
// file-scheme equivalent.
|
|
@@ -397,7 +403,7 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
397
403
|
// receive the actual client capabilities, but a foreground server relays
|
|
398
404
|
// these diagnostics directly and the original client does support them.
|
|
399
405
|
const lspDiagnostics = serverDiagnostics
|
|
400
|
-
.map((d) =>
|
|
406
|
+
.map((d) => this.convertDiagnostic(d, workspace.service.fs,
|
|
401
407
|
/* supportsUnnecessaryDiagnosticTag */ true,
|
|
402
408
|
/* supportsTaskItemDiagnosticTag */ true))
|
|
403
409
|
.filter((d) => d !== undefined);
|
|
@@ -419,6 +425,12 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
419
425
|
}
|
|
420
426
|
return result;
|
|
421
427
|
}
|
|
428
|
+
// Converts a single analyzer diagnostic to an LSP diagnostic. Subclasses (e.g. Pylance) can
|
|
429
|
+
// override to add product-specific tagging (such as VS task-item tags/rank) without
|
|
430
|
+
// reimplementing the pull-diagnostics flow in `onDiagnostics`.
|
|
431
|
+
convertDiagnostic(diag, fs, supportsUnnecessaryDiagnosticTag, supportsTaskItemDiagnosticTag) {
|
|
432
|
+
return (0, diagnosticUtils_1.convertFromPyrightDiagnostic)(diag, fs, supportsUnnecessaryDiagnosticTag, supportsTaskItemDiagnosticTag);
|
|
433
|
+
}
|
|
422
434
|
_getStringValues(values) {
|
|
423
435
|
if (!values || !Array.isArray(values) || values.length === 0) {
|
|
424
436
|
return [];
|
|
@@ -494,8 +506,9 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
494
506
|
return undefined;
|
|
495
507
|
}
|
|
496
508
|
let pythonVersion = program.configOptions.getDefaultExecEnvironment().pythonVersion;
|
|
497
|
-
|
|
498
|
-
|
|
509
|
+
const node = (0, typeEvalUtils_1.isDeclaration)(input) ? input.node : input;
|
|
510
|
+
if (node) {
|
|
511
|
+
const fileInfo = program.symbolLookup.getFileInfo(node);
|
|
499
512
|
pythonVersion = fileInfo.executionEnvironment.pythonVersion;
|
|
500
513
|
}
|
|
501
514
|
return program.run((p) => {
|
|
@@ -534,12 +547,12 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
534
547
|
}
|
|
535
548
|
_onSetVirtualFileRedirect(params) {
|
|
536
549
|
const fs = this.fs;
|
|
537
|
-
if (!typeServerFileSystem_1.
|
|
550
|
+
if (!typeServerFileSystem_1.TypeServerVirtualFileRedirects.is(fs)) {
|
|
538
551
|
return;
|
|
539
552
|
}
|
|
540
553
|
const realUri = this.convertLspUriStringToUri(params.realUri);
|
|
541
554
|
const virtualUri = this.convertLspUriStringToUri(params.virtualUri);
|
|
542
|
-
fs.
|
|
555
|
+
fs.addVirtualFileRedirect(realUri, virtualUri);
|
|
543
556
|
// If the file is currently open, read the virtual content and update Pyright's in-memory
|
|
544
557
|
// buffer. For closed files, the FS overlay redirect is sufficient — Pyright reads from
|
|
545
558
|
// the FS.
|
|
@@ -564,11 +577,11 @@ class TypeServer extends languageServerBase_1.LanguageServerBase {
|
|
|
564
577
|
}
|
|
565
578
|
_onRemoveVirtualFileRedirect(params) {
|
|
566
579
|
const fs = this.fs;
|
|
567
|
-
if (!typeServerFileSystem_1.
|
|
580
|
+
if (!typeServerFileSystem_1.TypeServerVirtualFileRedirects.is(fs)) {
|
|
568
581
|
return;
|
|
569
582
|
}
|
|
570
583
|
const realUri = this.convertLspUriStringToUri(params.realUri);
|
|
571
|
-
fs.
|
|
584
|
+
fs.removeVirtualFileRedirect(realUri);
|
|
572
585
|
// If the file is currently open, restore from the open document's original text
|
|
573
586
|
// (authoritative), not from disk which may differ. For closed files, just removing the
|
|
574
587
|
// redirect is enough.
|