#[non_exhaustive]pub struct ProjectConfig {
pub perl: ProjectPerlConfig,
pub diagnostics: ProjectDiagnosticsConfig,
pub features: ProjectFeaturesConfig,
pub ai_completion: ProjectAiCompletionConfig,
}Expand description
Project configuration loaded from .perl-lsp.toml in the workspace root.
Committed to the repo; provides editor-agnostic, team-wide defaults.
LSP initializationOptions / didChangeConfiguration always win over this file.
Unknown TOML keys are silently ignored for forward compatibility.
[formatting] is reserved for future perltidy configuration (not yet wired).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.perl: ProjectPerlConfig[perl] section: module resolution settings.
diagnostics: ProjectDiagnosticsConfig[diagnostics] section: linting settings.
features: ProjectFeaturesConfig[features] section: LSP feature toggles.
ai_completion: ProjectAiCompletionConfig[ai_completion] section: AI completion settings.
Implementations§
Source§impl ProjectConfig
impl ProjectConfig
Sourcepub fn apply_to_server_config(&self, config: &mut ServerConfig)
pub fn apply_to_server_config(&self, config: &mut ServerConfig)
Apply project config to ServerConfig as the base layer.
Only fields explicitly set in the TOML override defaults; unset fields are untouched.
LSP didChangeConfiguration is expected to run after this, overriding any values here.
Sourcepub fn apply_to_workspace_config(&self, config: &mut WorkspaceConfig)
pub fn apply_to_workspace_config(&self, config: &mut WorkspaceConfig)
Apply project config to WorkspaceConfig as the base layer.
Only applies include_paths when the TOML list is non-empty, so that
an absent key leaves the defaults unchanged (distinct from an explicit []).
Trait Implementations§
Source§impl Clone for ProjectConfig
impl Clone for ProjectConfig
Source§fn clone(&self) -> ProjectConfig
fn clone(&self) -> ProjectConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more