Files
Viper_VSCode/architecture/generated/features/feat-language-service-providers.md
TermiNexus e9e4693333
Some checks failed
Run mypy_primer on push / Run mypy_primer on push (push) Has been cancelled
Validation / Typecheck (push) Has been cancelled
Validation / Style (push) Has been cancelled
Validation / Test macos-latest (push) Has been cancelled
Validation / Test ubuntu-latest (push) Has been cancelled
Validation / Test windows-latest (push) Has been cancelled
Validation / Build (push) Has been cancelled
Validation / Required (push) Has been cancelled
初始化上传
2026-07-24 17:08:39 +08:00

26 KiB

Language Service Providers

Feature path: Language Service Providers

Implementation summary

  • Files: 24
  • Symbols: 354

Primary files

These are the main implementation files attached to this semantic node.

File Summary
packages/pyright/packages/pyright-internal/src/languageServerBase.ts Provides core language server functionality and LSP handlers for Pyright
packages/pyright/packages/pyright-internal/src/languageService/analyzerServiceExecutor.ts Runs and clones AnalyzerService and builds command-line options from server settings
packages/pyright/packages/pyright-internal/src/languageService/autoImporter.ts Provides auto-import completion logic and utilities for finding module symbols and generating import edits
packages/pyright/packages/pyright-internal/src/languageService/callHierarchyProvider.ts Provides call hierarchy items (callers and callees) for a code position across the workspace
packages/pyright/packages/pyright-internal/src/languageService/codeActionProvider.ts Provides quick-fix code actions for diagnostics, including a create-type-stub action
packages/pyright/packages/pyright-internal/src/languageService/completionProvider.ts Provides Python language completion items for a source position using type and symbol analysis
packages/pyright/packages/pyright-internal/src/languageService/completionProviderUtils.ts Helper utilities for completion items: type details, formatted documentation, and trailing overlap detection
packages/pyright/packages/pyright-internal/src/languageService/definitionProvider.ts Maps positions to symbol and type declarations for go-to-definition and type-definition features
packages/pyright/packages/pyright-internal/src/languageService/documentHighlightProvider.ts Provides document highlights for a name at a given position, classifying occurrences as read or write
packages/pyright/packages/pyright-internal/src/languageService/documentSymbolCollector.ts Collects and resolves symbol declarations and references within a parse tree for document-level symbol occurrences
packages/pyright/packages/pyright-internal/src/languageService/documentSymbolProvider.ts Provides document symbol extraction and conversion to hierarchical or flat LSP SymbolInformation for a source file
packages/pyright/packages/pyright-internal/src/languageService/dynamicFeature.ts Manages dynamic LSP features with register/update/dispose logic and a registry for multiple features
packages/pyright/packages/pyright-internal/src/languageService/fileWatcherDynamicFeature.ts Registers LSP file-watcher notifications for workspace config files and Python search paths
packages/pyright/packages/pyright-internal/src/languageService/hoverProvider.ts Generates editor hover tooltips for Python symbols with type info, signatures, and documentation
packages/pyright/packages/pyright-internal/src/languageService/importSorter.ts Sorts and formats top-level Python import statements and produces TextEditAction replacements
packages/pyright/packages/pyright-internal/src/languageService/navigationUtils.ts Provides helpers to check file navigability and convert DocumentRange objects to LSP Location values
packages/pyright/packages/pyright-internal/src/languageService/pullDiagnosticsDynamicFeature.ts Registers and manages pull-mode diagnostics and workspace support with the language server
packages/pyright/packages/pyright-internal/src/languageService/quickActions.ts Provides quick action handlers for source files such as ordering imports
packages/pyright/packages/pyright-internal/src/languageService/referencesProvider.ts Finds symbol references in files and returns DocumentRange/LSP locations
packages/pyright/packages/pyright-internal/src/languageService/renameProvider.ts Provides rename support: checks rename eligibility and produces workspace edits for a symbol and its references
packages/pyright/packages/pyright-internal/src/languageService/signatureHelpProvider.ts Provides signature help for Python call sites by mapping a cursor position to callable signatures and parameter info
packages/pyright/packages/pyright-internal/src/languageService/symbolIndexer.ts Indexes all externally visible symbols and aliases in a source file into structured metadata
packages/pyright/packages/pyright-internal/src/languageService/tooltipUtils.ts Formats and generates hover/completion tooltips and documentation text for types, functions, classes, and symbols
packages/pyright/packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts Provides workspace symbol search for the language server across user code

Symbol preview (40 of 354)

Symbol Kind Source
wrapProgressReporter function packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase class packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.dispose method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createBackgroundAnalysis method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getSettings method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createAnalyzerService method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getWorkspaces method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getWorkspaceForFile method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getContainingWorkspacesForFile method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.reanalyze method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.restart method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.updateSettingsForAllWorkspaces method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.updateSettingsForWorkspace method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.updateOptionsAndRestartService method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.executeCommand method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.isLongRunningCommand method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.isRefactoringCommand method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.executeCodeAction method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getConfiguration method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.isOpenFilesOnly method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getSeverityOverrides method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getDiagnosticRuleName method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createHost method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createImportResolver method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createBackgroundAnalysisProgram method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.createWorkspaceFactory method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.setupConnection method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.initialize method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onInitialized method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.handleInitialized method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onDidChangeConfiguration method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onDefinition method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onDeclaration method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onTypeDefinition method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.getDefinitions method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onReferences method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onDocumentSymbol method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onWorkspaceSymbol method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onHover method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
LanguageServerBase.onDocumentHighlight method packages/pyright/packages/pyright-internal/src/languageServerBase.ts
314 additional symbols omitted

Dependencies

Imported by:

  • packages/pyright/packages/pyright-internal/src/commands/createTypeStub.ts
  • packages/pyright/packages/pyright-internal/src/commands/quickActionCommand.ts
  • packages/pyright/packages/pyright-internal/src/server.ts

Imports:

  • packages/pyright/packages/pyright-internal/src/analyzer/analysis.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/analyzerFileInfo.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/backgroundAnalysisProgram.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/constructors.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/declaration.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/declarationUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/enums.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importResolver.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importResult.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importStatementUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/parameterUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/parseTreeUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/parseTreeWalker.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/program.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/pythonPathUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/scope.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/scopeUtils.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/sourceFileInfoUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/sourceMapper.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/symbol.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/symbolNameUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/symbolUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeDocStringUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeEvaluatorTypes.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typePrinter.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typedDicts.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/types.ts
  • packages/pyright/packages/pyright-internal/src/backgroundAnalysisBase.ts
  • packages/pyright/packages/pyright-internal/src/commands/commandResult.ts
  • packages/pyright/packages/pyright-internal/src/commands/commands.ts
  • packages/pyright/packages/pyright-internal/src/common/cancellationUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/caseSensitivityDetector.ts
  • packages/pyright/packages/pyright-internal/src/common/collectionUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/commandLineOptions.ts
  • packages/pyright/packages/pyright-internal/src/common/commandUtils.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/diagnostic.ts
  • packages/pyright/packages/pyright-internal/src/common/diagnosticRules.ts
  • packages/pyright/packages/pyright-internal/src/common/diagnosticSink.ts
  • packages/pyright/packages/pyright-internal/src/common/docRange.ts
  • packages/pyright/packages/pyright-internal/src/common/docStringService.ts
  • packages/pyright/packages/pyright-internal/src/common/editAction.ts
  • packages/pyright/packages/pyright-internal/src/common/extensibility.ts
  • packages/pyright/packages/pyright-internal/src/common/extensions.ts
  • packages/pyright/packages/pyright-internal/src/common/fileSystem.ts
  • packages/pyright/packages/pyright-internal/src/common/fileWatcher.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/lspUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/pathConsts.ts
  • packages/pyright/packages/pyright-internal/src/common/pathUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/positionUtils.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/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/stringUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/textRange.ts
  • packages/pyright/packages/pyright-internal/src/common/textRangeCollection.ts
  • packages/pyright/packages/pyright-internal/src/common/uri/emptyUri.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/common/workspaceEditUtils.ts
  • packages/pyright/packages/pyright-internal/src/localization/localize.ts
  • packages/pyright/packages/pyright-internal/src/parser/parseNodes.ts
  • packages/pyright/packages/pyright-internal/src/parser/parser.ts
  • packages/pyright/packages/pyright-internal/src/parser/tokenizer.ts
  • packages/pyright/packages/pyright-internal/src/parser/tokenizerTypes.ts
  • packages/pyright/packages/pyright-internal/src/types.ts
  • packages/pyright/packages/pyright-internal/src/workspaceFactory.ts