graph LR
LSP_Server_Initializer["LSP Server Initializer"]
Workspace_Settings_Updater["Workspace Settings Updater"]
Global_Defaults_Provider["Global Defaults Provider"]
Document_Settings_Provider["Document Settings Provider"]
Document_Key_Generator["Document Key Generator"]
LSP_Document_Handlers["LSP Document Handlers"]
Lint_Run_Settings["Lint Run Settings"]
LSP_Server_Initializer -- "initiates" --> Workspace_Settings_Updater
Workspace_Settings_Updater -- "retrieves from" --> Global_Defaults_Provider
LSP_Document_Handlers -- "requests from" --> Document_Settings_Provider
Document_Settings_Provider -- "consults" --> Global_Defaults_Provider
Document_Settings_Provider -- "utilizes" --> Document_Key_Generator
Document_Settings_Provider -- "provides settings to" --> Lint_Run_Settings
The Configuration Manager subsystem is crucial for providing a consistent and context-aware view of Ruff's operational settings to the entire Language Server. It centralizes the logic for loading, merging, and retrieving configurations from various sources, ensuring that Ruff's behavior is correctly tailored to global defaults, workspace-specific preferences, and individual document overrides.
Handles the initial handshake and setup of the LSP server, including the first-time loading of workspace settings. It acts as the primary entry point for the server's configuration lifecycle.
Related Classes/Methods:
Manages the initialization and updates of workspace-wide configuration settings. It processes global and workspace-level configurations received from the LSP client, establishing the base settings for the entire workspace.
Related Classes/Methods:
Establishes the baseline default configuration values for all Ruff operations. These defaults serve as the foundation upon which workspace and document-specific settings are applied.
Related Classes/Methods:
Provides a consolidated and context-aware set of Ruff settings for a specific document. It aggregates configurations from global defaults, workspace settings, and document-specific overrides, ensuring the most relevant configuration is applied for linting and other operations.
Related Classes/Methods:
Generates or retrieves a unique identifier for a document. This is crucial for the Document Settings Provider to effectively manage and retrieve document-specific setting overrides.
Related Classes/Methods:
Manages LSP document-related events (e.g., did_open, did_change, did_save). These handlers trigger the retrieval of document-specific configurations when necessary for operations like linting or formatting.
Related Classes/Methods:
Represents the specific configuration parameters used for a linting run. This component likely consumes the consolidated settings provided by the Document Settings Provider to configure the Ruff linter process.
Related Classes/Methods: