@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +67 -62
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +47 -47
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +0 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +7 -4
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +102 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +6 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +190 -184
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +61 -63
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +259 -152
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +5 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +37 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -6
- package/dist/analyzer/types.js +7 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +2 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +98 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +35 -38
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +11 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -1
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +18 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +16 -15
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/classDeclaration.test.d.ts +1 -0
- package/dist/tests/classDeclaration.test.js +166 -0
- package/dist/tests/classDeclaration.test.js.map +1 -0
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +106 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +73 -35
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +22 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +86 -63
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +29 -20
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
|
@@ -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,73 +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
|
-
this._reverseEntryMap.set(
|
|
128
|
-
const directory =
|
|
129
|
-
const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory, () => []);
|
|
130
|
-
const name =
|
|
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;
|
|
131
129
|
if (!folderInfo.some((entry) => entry.name === name)) {
|
|
132
130
|
folderInfo.push({ name, isFile: true });
|
|
133
131
|
}
|
|
134
|
-
// Add the directory entries for the sub paths as well.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
const parent = (0, pathUtils_1.ensureTrailingDirectorySeparator)((0, pathUtils_1.getDirectoryPath)(subdir));
|
|
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;
|
|
140
137
|
const dirInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, parent, () => []);
|
|
141
|
-
const dirName =
|
|
138
|
+
const dirName = subdir.fileName;
|
|
142
139
|
if (!dirInfo.some((entry) => entry.name === dirName)) {
|
|
143
140
|
dirInfo.push({ name: dirName, isFile: false });
|
|
144
141
|
}
|
|
145
142
|
}
|
|
146
143
|
}
|
|
147
|
-
getOriginalPath(
|
|
144
|
+
getOriginalPath(mappedFileUri) {
|
|
148
145
|
var _a;
|
|
149
|
-
return (_a = this._entryMap.get(
|
|
146
|
+
return (_a = this._entryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
|
|
150
147
|
}
|
|
151
|
-
isMovedEntry(
|
|
152
|
-
return this._reverseEntryMap.has(
|
|
148
|
+
isMovedEntry(uri) {
|
|
149
|
+
return this._reverseEntryMap.has(uri.key);
|
|
153
150
|
}
|
|
154
151
|
clear() {
|
|
155
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,
|
|
@@ -70,29 +71,29 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
|
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
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAS+B;AAG/B,0DAAuD;AACvD,8DAA2D;AAC3D,gEAA4D;AAC5D,6DAA0D;AAE1D,oEAAiE;AACjE,kEAAuE;AACvE,0DAA6E;AAC7E,8CAAkF;AAClF,wCAAsD;AACtD,sDAA2D;AAC3D,oFAAoF;AACpF,4DAAyD;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,13 +42,14 @@ const configOptions_1 = require("../common/configOptions");
|
|
|
42
42
|
const console_1 = require("../common/console");
|
|
43
43
|
const pathUtils_1 = require("../common/pathUtils");
|
|
44
44
|
const positionUtils_1 = require("../common/positionUtils");
|
|
45
|
+
const serviceProvider_1 = require("../common/serviceProvider");
|
|
46
|
+
const uri_1 = require("../common/uri/uri");
|
|
47
|
+
const completionProvider_1 = require("../languageService/completionProvider");
|
|
45
48
|
const fourSlashParser_1 = require("./harness/fourslash/fourSlashParser");
|
|
46
49
|
const testAccessHost_1 = require("./harness/testAccessHost");
|
|
47
50
|
const host = __importStar(require("./harness/testHost"));
|
|
48
51
|
const factory_1 = require("./harness/vfs/factory");
|
|
49
52
|
const vfs = __importStar(require("./harness/vfs/filesystem"));
|
|
50
|
-
const completionProvider_1 = require("../languageService/completionProvider");
|
|
51
|
-
const serviceProvider_1 = require("../common/serviceProvider");
|
|
52
53
|
test('check chained files', () => {
|
|
53
54
|
const code = `
|
|
54
55
|
// @filename: test1.py
|
|
@@ -63,11 +64,12 @@ test('check chained files', () => {
|
|
|
63
64
|
// @filename: test4.py
|
|
64
65
|
//// [|foo/*marker*/|]
|
|
65
66
|
`;
|
|
66
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
67
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
67
68
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
68
69
|
const marker = data.markerPositions.get('marker');
|
|
69
|
-
const
|
|
70
|
-
const
|
|
70
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
71
|
+
const parseResult = service.getParseResult(markerUri);
|
|
72
|
+
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath, markerUri, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResult.tokenizerOutput.lines), {
|
|
71
73
|
format: vscode_languageserver_types_1.MarkupKind.Markdown,
|
|
72
74
|
lazyEdit: false,
|
|
73
75
|
snippet: false,
|
|
@@ -91,16 +93,17 @@ test('modify chained files', () => {
|
|
|
91
93
|
// @filename: test4.py
|
|
92
94
|
//// [|foo/*marker*/|]
|
|
93
95
|
`;
|
|
94
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
96
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
95
97
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
96
98
|
// Make sure files are all realized.
|
|
97
99
|
const marker = data.markerPositions.get('marker');
|
|
98
|
-
const
|
|
100
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
101
|
+
const parseResult = service.getParseResult(markerUri);
|
|
99
102
|
// Close file in the middle of the chain
|
|
100
|
-
service.setFileClosed(data.markerPositions.get('delete').fileName);
|
|
103
|
+
service.setFileClosed(uri_1.Uri.file(data.markerPositions.get('delete').fileName));
|
|
101
104
|
// Make sure we don't get suggestion from auto import but from chained files.
|
|
102
105
|
service.test_program.configOptions.autoImportCompletions = false;
|
|
103
|
-
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath,
|
|
106
|
+
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath, markerUri, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResult.tokenizerOutput.lines), {
|
|
104
107
|
format: vscode_languageserver_types_1.MarkupKind.Markdown,
|
|
105
108
|
lazyEdit: false,
|
|
106
109
|
snippet: false,
|
|
@@ -125,19 +128,20 @@ test('modify chained files', async () => {
|
|
|
125
128
|
// @filename: test4.py
|
|
126
129
|
//// [|/*marker*/foo1()|]
|
|
127
130
|
`;
|
|
128
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
131
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
129
132
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
130
133
|
const marker = data.markerPositions.get('marker');
|
|
134
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
131
135
|
const range = data.ranges.find((r) => r.marker === marker);
|
|
132
|
-
const parseResults = service.getParseResult(
|
|
136
|
+
const parseResults = service.getParseResult(markerUri);
|
|
133
137
|
analyze(service.test_program);
|
|
134
138
|
// Initially, there should be no error.
|
|
135
|
-
const initialDiags = await service.getDiagnosticsForRange(
|
|
139
|
+
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
|
136
140
|
assert_1.default.strictEqual(initialDiags.length, 0);
|
|
137
141
|
// Change test1 content
|
|
138
|
-
service.updateOpenFileContents(data.markerPositions.get('changed').fileName, 2, 'def foo5(): pass');
|
|
142
|
+
service.updateOpenFileContents(uri_1.Uri.file(data.markerPositions.get('changed').fileName), 2, 'def foo5(): pass');
|
|
139
143
|
analyze(service.test_program);
|
|
140
|
-
const finalDiags = await service.getDiagnosticsForRange(
|
|
144
|
+
const finalDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
|
141
145
|
assert_1.default.strictEqual(finalDiags.length, 1);
|
|
142
146
|
});
|
|
143
147
|
function generateChainedFiles(count, lastFile) {
|
|
@@ -157,14 +161,15 @@ test('chained files with 1000s of files', async () => {
|
|
|
157
161
|
//// [|/*marker*/foo1()|]
|
|
158
162
|
`;
|
|
159
163
|
const code = generateChainedFiles(1000, lastFile);
|
|
160
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
164
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
161
165
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
162
166
|
const marker = data.markerPositions.get('marker');
|
|
167
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
163
168
|
const range = data.ranges.find((r) => r.marker === marker);
|
|
164
|
-
const parseResults = service.getParseResult(
|
|
169
|
+
const parseResults = service.getParseResult(markerUri);
|
|
165
170
|
analyze(service.test_program);
|
|
166
171
|
// There should be no error as it should find the foo1 in the first chained file.
|
|
167
|
-
const initialDiags = await service.getDiagnosticsForRange(
|
|
172
|
+
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
|
168
173
|
assert_1.default.strictEqual(initialDiags.length, 0);
|
|
169
174
|
});
|
|
170
175
|
test('imported by files', async () => {
|
|
@@ -175,13 +180,14 @@ test('imported by files', async () => {
|
|
|
175
180
|
// @filename: test2.py
|
|
176
181
|
//// os.path.join()
|
|
177
182
|
`;
|
|
178
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
183
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
179
184
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
180
185
|
analyze(service.test_program);
|
|
181
186
|
const marker = data.markerPositions.get('marker');
|
|
187
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
182
188
|
const range = data.ranges.find((r) => r.marker === marker);
|
|
183
|
-
const parseResults = service.getParseResult(
|
|
184
|
-
const diagnostics = await service.getDiagnosticsForRange(
|
|
189
|
+
const parseResults = service.getParseResult(markerUri);
|
|
190
|
+
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
|
185
191
|
assert_1.default.strictEqual(diagnostics.length, 0);
|
|
186
192
|
});
|
|
187
193
|
test('re ordering cells', async () => {
|
|
@@ -192,33 +198,36 @@ test('re ordering cells', async () => {
|
|
|
192
198
|
// @filename: test2.py
|
|
193
199
|
//// /*bottom*/os.path.join()
|
|
194
200
|
`;
|
|
195
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
|
201
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
|
196
202
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
|
197
203
|
analyze(service.test_program);
|
|
198
204
|
const marker = data.markerPositions.get('marker');
|
|
205
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
|
199
206
|
const range = data.ranges.find((r) => r.marker === marker);
|
|
200
207
|
const bottom = data.markerPositions.get('bottom');
|
|
201
|
-
|
|
202
|
-
service.
|
|
208
|
+
const bottomUri = uri_1.Uri.file(bottom.fileName);
|
|
209
|
+
service.updateChainedUri(bottomUri, undefined);
|
|
210
|
+
service.updateChainedUri(markerUri, bottomUri);
|
|
203
211
|
analyze(service.test_program);
|
|
204
|
-
const parseResults = service.getParseResult(
|
|
205
|
-
const diagnostics = await service.getDiagnosticsForRange(
|
|
212
|
+
const parseResults = service.getParseResult(markerUri);
|
|
213
|
+
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
|
206
214
|
assert_1.default.strictEqual(diagnostics.length, 1);
|
|
207
215
|
});
|
|
208
216
|
function createServiceWithChainedSourceFiles(basePath, code) {
|
|
209
|
-
const fs = (0, factory_1.createFromFileSystem)(host.HOST, /*ignoreCase*/ false, { cwd: basePath });
|
|
217
|
+
const fs = (0, factory_1.createFromFileSystem)(host.HOST, /*ignoreCase*/ false, { cwd: basePath.getFilePath() });
|
|
210
218
|
const service = new service_1.AnalyzerService('test service', new serviceProvider_1.ServiceProvider(), {
|
|
211
219
|
console: new console_1.NullConsole(),
|
|
212
|
-
hostFactory: () => new testAccessHost_1.TestAccessHost(vfs.MODULE_PATH, [factory_1.libFolder, factory_1.distlibFolder]),
|
|
220
|
+
hostFactory: () => new testAccessHost_1.TestAccessHost(uri_1.Uri.file(vfs.MODULE_PATH), [factory_1.libFolder, factory_1.distlibFolder]),
|
|
213
221
|
importResolverFactory: service_1.AnalyzerService.createImportResolver,
|
|
214
222
|
configOptions: new configOptions_1.ConfigOptions(basePath),
|
|
215
223
|
fileSystem: fs,
|
|
216
224
|
});
|
|
217
|
-
const data = (0, fourSlashParser_1.parseTestData)(basePath, code, '');
|
|
225
|
+
const data = (0, fourSlashParser_1.parseTestData)(basePath.getFilePath(), code, '');
|
|
218
226
|
let chainedFilePath;
|
|
219
227
|
for (const file of data.files) {
|
|
220
|
-
|
|
221
|
-
|
|
228
|
+
const uri = uri_1.Uri.file(file.fileName);
|
|
229
|
+
service.setFileOpened(uri, 1, file.content, sourceFile_1.IPythonMode.CellDocs, chainedFilePath);
|
|
230
|
+
chainedFilePath = uri;
|
|
222
231
|
}
|
|
223
232
|
return { data, service };
|
|
224
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainedSourceFiles.test.js","sourceRoot":"","sources":["../../../src/tests/chainedSourceFiles.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAA4B;AAC5B,mDAAmD;AACnD,6EAAyD;AAGzD,iDAAsD;AACtD,uDAAqD;AACrD,2DAAwD;AACxD,+CAAgD;AAChD,mDAAuD;AACvD,2DAAyF;AACzF,yEAAoE;AACpE,6DAA0D;AAC1D,yDAA2C;AAC3C,mDAAuF;AACvF,8DAAgD;
|
|
1
|
+
{"version":3,"file":"chainedSourceFiles.test.js","sourceRoot":"","sources":["../../../src/tests/chainedSourceFiles.test.ts"],"names":[],"mappings":"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"}
|