# CLI and VS Code Extension **Feature path:** `CLI and VS Code Extension` ## Implementation summary - **Files:** 11 - **Symbols:** 78 ### Primary files These are the main implementation files attached to this semantic node. | File | Summary | | ---- | ------- | | [packages/pyright/packages/pyright-internal/src/nodeMain.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeMain.ts#L1-L23) | Entrypoint that starts the Pyright Node server and its background analysis runner | | [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L1-L29) | Starts and configures the Pyright language server in Node, initializing deps and handling main vs worker threads | | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1-L1400) | Command-line entry point for the Pyright type checker, handling CLI args, diagnostics, and running analysis | | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L1-L50) | FileSystem wrapper that remaps URIs and delegates mutable file operations to an underlying real filesystem | | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L1-L333) | Implements the Pyright language server, handling workspace settings, background analysis, commands, and code actions | | [packages/pyright/packages/pyright-internal/src/workspaceFactory.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/workspaceFactory.ts#L1-L457) | Manages creation, initialization, and lifecycle of language server workspaces for the Pyright analyzer | | [packages/pyright/packages/pyright/src/langserver.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright/src/langserver.ts#L1-L5) | Starts the Pyright command-line entrypoint with zero worker threads | | [packages/pyright/packages/pyright/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright/src/pyright.ts#L1-L4) | Starts the Pyright CLI | | [packages/pyright/packages/vscode-pyright/src/cancellationUtils.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/cancellationUtils.ts#L1-L99) | Provides a file-based cancellation strategy for the language server protocol | | [packages/pyright/packages/vscode-pyright/src/extension.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/extension.ts#L1-L407) | Registers and manages the Pyright language server client and related VS Code commands and configuration | | [packages/pyright/packages/vscode-pyright/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/vscode-pyright/src/server.ts#L1-L7) | Starts the Pyright VS Code language server with one background worker | ### Symbol preview (40 of 78) | Symbol | Kind | Source | | ------ | ---- | ------ | | `main` | function | [packages/pyright/packages/pyright-internal/src/nodeMain.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeMain.ts#L14-L22) | | `run` | function | [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L16-L24) | | `getConnectionOptions` | function | [packages/pyright/packages/pyright-internal/src/nodeServer.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/nodeServer.ts#L26-L28) | | `processArgs` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L150-L452) | | `runSingleThreaded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L454-L571) | | `runMultiThreaded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L573-L777) | | `runWorkerMessageLoop` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L781-L871) | | `verifyPackageTypes` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L873-L909) | | `accumulateReportDiagnosticStats` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L911-L919) | | `buildTypeCompletenessReport` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L921-L1043) | | `printTypeCompletenessReportText` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1045-L1147) | | `printUsage` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1149-L1177) | | `getVersionString` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1179-L1183) | | `printVersion` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1185-L1187) | | `reportDiagnosticsAsJson` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1189-L1237) | | `isDiagnosticIncluded` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1239-L1252) | | `convertDiagnosticCategoryToSeverity` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1254-L1268) | | `convertDiagnosticToJson` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1270-L1278) | | `reportDiagnosticsAsText` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1280-L1329) | | `logDiagnosticToConsole` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1331-L1364) | | `parseThreadsArgValue` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1366-L1377) | | `main` | function | [packages/pyright/packages/pyright-internal/src/pyright.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyright.ts#L1383-L1399) | | `PyrightFileSystem` | class | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L17-L49) | | `PyrightFileSystem.mkdirSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L22-L24) | | `PyrightFileSystem.chdir` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L26-L28) | | `PyrightFileSystem.writeFileSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L30-L32) | | `PyrightFileSystem.rmdirSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L34-L36) | | `PyrightFileSystem.unlinkSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L38-L40) | | `PyrightFileSystem.createWriteStream` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L42-L44) | | `PyrightFileSystem.copyFileSync` | method | [packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/pyrightFileSystem.ts#L46-L48) | | `PyrightServer` | class | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L49-L332) | | `PyrightServer.getSettings` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L95-L224) | | `PyrightServer.createBackgroundAnalysis` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L226-L234) | | `PyrightServer.createHost` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L236-L238) | | `PyrightServer.createImportResolver` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L240-L252) | | `PyrightServer.executeCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L254-L256) | | `PyrightServer.isLongRunningCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L258-L260) | | `PyrightServer.isRefactoringCommand` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L262-L264) | | `PyrightServer.executeCodeAction` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L266-L275) | | `PyrightServer.createProgressReporter` | method | [packages/pyright/packages/pyright-internal/src/server.ts](https://github.com/microsoft/pyrx/blob/784698179a5627072df39bbe0fcadb55bb7dd408/packages/pyright/packages/pyright-internal/src/server.ts#L277-L323) | | _38 additional symbols omitted_ | | | ## Dependencies **Imported by:** - `packages/pyright/packages/pyright-internal/src/commands/createTypeStub.ts` - `packages/pyright/packages/pyright-internal/src/commands/dumpFileDebugInfoCommand.ts` - `packages/pyright/packages/pyright-internal/src/common/envVarUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/languageServerInterface.ts` - `packages/pyright/packages/pyright-internal/src/languageServerBase.ts` - `packages/pyright/packages/pyright-internal/src/languageService/analyzerServiceExecutor.ts` - `packages/pyright/packages/pyright-internal/src/languageService/codeActionProvider.ts` - `packages/pyright/packages/pyright-internal/src/languageService/fileWatcherDynamicFeature.ts` - `packages/pyright/packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts` **Imports:** - `packages/pyright/packages/pyright-internal/src/analyzer/analysis.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/cacheManager.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/importResolver.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/packageTypeReport.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/packageTypeVerifier.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/pythonPathUtils.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/service.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/sourceFile.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/sourceFileInfo.ts` - `packages/pyright/packages/pyright-internal/src/analyzer/typeStubWriter.ts` - `packages/pyright/packages/pyright-internal/src/backgroundAnalysis.ts` - `packages/pyright/packages/pyright-internal/src/backgroundAnalysisBase.ts` - `packages/pyright/packages/pyright-internal/src/commands/commandController.ts` - `packages/pyright/packages/pyright-internal/src/common/asyncInitialization.ts` - `packages/pyright/packages/pyright-internal/src/common/cancellationUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/chokidarFileWatcherProvider.ts` - `packages/pyright/packages/pyright-internal/src/common/commandLineOptions.ts` - `packages/pyright/packages/pyright-internal/src/common/configOptions.ts` - `packages/pyright/packages/pyright-internal/src/common/console.ts` - `packages/pyright/packages/pyright-internal/src/common/core.ts` - `packages/pyright/packages/pyright-internal/src/common/debug.ts` - `packages/pyright/packages/pyright-internal/src/common/deferred.ts` - `packages/pyright/packages/pyright-internal/src/common/diagnostic.ts` - `packages/pyright/packages/pyright-internal/src/common/diagnosticSink.ts` - `packages/pyright/packages/pyright-internal/src/common/envVarUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/fileBasedCancellationUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/fileSystem.ts` - `packages/pyright/packages/pyright-internal/src/common/fullAccessHost.ts` - `packages/pyright/packages/pyright-internal/src/common/host.ts` - `packages/pyright/packages/pyright-internal/src/common/languageServerInterface.ts` - `packages/pyright/packages/pyright-internal/src/common/pathUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/progressReporter.ts` - `packages/pyright/packages/pyright-internal/src/common/pythonVersion.ts` - `packages/pyright/packages/pyright-internal/src/common/realFileSystem.ts` - `packages/pyright/packages/pyright-internal/src/common/serviceKeys.ts` - `packages/pyright/packages/pyright-internal/src/common/serviceProvider.ts` - `packages/pyright/packages/pyright-internal/src/common/serviceProviderExtensions.ts` - `packages/pyright/packages/pyright-internal/src/common/streamUtils.ts` - `packages/pyright/packages/pyright-internal/src/common/textRange.ts` - `packages/pyright/packages/pyright-internal/src/common/timing.ts` - `packages/pyright/packages/pyright-internal/src/common/uri/uri.ts` - `packages/pyright/packages/pyright-internal/src/common/uri/uriUtils.ts` - `packages/pyright/packages/pyright-internal/src/languageServerBase.ts` - `packages/pyright/packages/pyright-internal/src/languageService/codeActionProvider.ts` - `packages/pyright/packages/pyright-internal/src/partialStubService.ts` - `packages/pyright/packages/pyright-internal/src/readonlyAugmentedFileSystem.ts`