graph LR
LSP_Communication_Layer["LSP Communication Layer"]
TypeScript_Service_Adapter["TypeScript Service Adapter"]
Workspace_Document_Management["Workspace & Document Management"]
Language_Feature_Processors["Language Feature Processors"]
Diagnostic_Pipeline["Diagnostic Pipeline"]
LSP_Communication_Layer -- "dispatches requests to" --> Language_Feature_Processors
Language_Feature_Processors -- "sends results to" --> LSP_Communication_Layer
LSP_Communication_Layer -- "sends document content to" --> Workspace_Document_Management
Workspace_Document_Management -- "provides document content to" --> Language_Feature_Processors
Language_Feature_Processors -- "queries" --> TypeScript_Service_Adapter
Language_Feature_Processors -- "accesses" --> Workspace_Document_Management
TypeScript_Service_Adapter -- "notifies" --> LSP_Communication_Layer
TypeScript_Service_Adapter -- "queries" --> Workspace_Document_Management
Workspace_Document_Management -- "triggers" --> Diagnostic_Pipeline
Diagnostic_Pipeline -- "publishes diagnostics to" --> LSP_Communication_Layer
Updated architectural analysis with verifiable code references and corrected component relationships.
Handles all interactions with the LSP client, including receiving requests, dispatching them, and sending responses and notifications.
Related Classes/Methods:
src/server.ts(1:1)src/connection.ts(1:1)src/protocol.ts(1:1)
Manages the lifecycle and communication with the external tsserver process, including protocol translation between LSP and tsserver formats.
Related Classes/Methods:
src/tsServer.ts(1:1)src/typescriptService.ts(1:1)src/protocol.ts(1:1)
Maintains the in-memory representation of open text documents, handles document synchronization, and manages server and workspace-specific configurations.
Related Classes/Methods:
src/languageFeatures.ts(1:1)src/configuration.ts(1:1)src/documents.ts(1:1)
Implements the various language features (e.g., completion, hover, refactoring) by orchestrating requests to the TypeScript Service Adapter and utilizing data from Workspace & Document Management.
Related Classes/Methods:
src/features/completion.ts(1:1)src/features/hover.ts(1:1)src/features/documentSymbol.ts(1:1)src/features/refactor.ts(1:1)src/features/codeLens.ts(1:1)src/features/inlayHints.ts(1:1)
Responsible for processing, filtering, and publishing diagnostic information received from the tsserver to the LSP client.
Related Classes/Methods:
src/diagnostics.ts(1:1)